Importing qgnus-0.22
authorshuhei-k <shuhei-k>
Tue, 6 Jan 1998 21:00:56 +0000 (21:00 +0000)
committershuhei-k <shuhei-k>
Tue, 6 Jan 1998 21:00:56 +0000 (21:00 +0000)
13 files changed:
lisp/ChangeLog
lisp/gnus-agent.el
lisp/gnus-draft.el
lisp/gnus-ems.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/gnus.el
lisp/message.el
lisp/nnml.el
lisp/nnoo.el
texi/ChangeLog
texi/gnus.texi
texi/message.texi

index 6c87b23..b8d4bdb 100644 (file)
@@ -1,3 +1,34 @@
+Tue Jan  6 07:45:39 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Quassia Gnus v0.22 is released.
+
+Tue Jan  6 07:32:02 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * message.el (message-kill-to-signature): Don't use mark.
+
+Tue Jan  6 07:30:46 1998  Russ Allbery  <rra@stanford.edu>
+
+       * message.el (message-kill-to-signature): New command and keystroke.
+
+Tue Jan  6 06:39:29 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-summary-print-article): New defaults for
+       headers and stuff.
+
+       * gnus-agent.el (gnus-agent-batch): New command.
+
+       * nnoo.el (nnoo-execute): Copy vars from parent into child.
+       (nnoo-parent-function): Ditto.
+
+       * gnus-draft.el (gnus-draft-setup): Removed message.
+
+       * gnus-start.el (gnus-read-descriptions-file): Naked muleism.
+
+Mon Jan  5 05:20:16 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * nnml.el (nnml-generate-nov-databases-1): Fix lower bound on
+       empty groups.
+
 Sun Jan  4 14:38:36 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Quassia Gnus v0.21 is released.
index a76b502..ed3d89f 100644 (file)
@@ -1258,6 +1258,15 @@ The following commands are available:
                (delete-file file))))))
       (gnus-agent-save-alist nil nil nil dir))))
 
+;;;###autoload
+(defun gnus-agent-batch ()
+  (interactive)
+  (let ((init-file-user "")
+       (gnus-always-read-dribble-file t))
+    (gnus))
+  (gnus-group-send-drafts)
+  (gnus-agent-fetch-session))
+
 (provide 'gnus-agent)
 
 ;;; gnus-agent.el ends here
index e7cd8a2..f482e5e 100644 (file)
     (let ((article narticle))
       (message-mail)
       (erase-buffer)
-      (message "%s %s" group article)
       (if (not (gnus-request-restore-buffer article group))
          (error "Couldn't restore the article")
        ;; Insert the separator.
index b9c9b1d..142aa32 100644 (file)
     (fset 'gnus-summary-set-display-table 'ignore)
     (fset 'gnus-encode-coding-string 'encode-coding-string)
     (fset 'gnus-decode-coding-string 'decode-coding-string)
-
+    
     (when (boundp 'gnus-check-before-posting)
       (setq gnus-check-before-posting
            (delq 'long-lines
index 71801d3..cc2cb3b 100644 (file)
@@ -384,6 +384,9 @@ Can be used to turn version control on or off."
 
 ;;; Internal variables
 
+(defvar gnus-always-read-dribble-file nil
+  "Uncoditionally read the dribble file.")
+
 (defvar gnus-newsrc-file-version nil)
 (defvar gnus-override-subscribe-method nil)
 (defvar gnus-dribble-buffer nil)
@@ -795,8 +798,9 @@ prompt the user for the name of an NNTP server to use."
                     (setq modes (file-modes gnus-current-startup-file)))
            (set-file-modes dribble-file modes))
          ;; Possibly eval the file later.
-         (when (gnus-y-or-n-p
-                "Gnus auto-save file exists.  Do you want to read it? ")
+         (when (or gnus-always-read-dribble-file
+                   (gnus-y-or-n-p
+                    "Gnus auto-save file exists.  Do you want to read it? "))
            (setq gnus-dribble-eval-file t)))))))
 
 (defun gnus-dribble-eval-file ()
@@ -2488,7 +2492,7 @@ If FORCE is non-nil, the .newsrc file is read."
                          (fboundp 'gnus-mule-get-coding-system)
                          (gnus-mule-get-coding-system (symbol-name group)))))
                (if coding
-                   (setq str (decode-coding-string str (car coding))))
+                   (setq str (gnus-decode-coding-string str (car coding))))
                (set group str)))
            (forward-line 1))))
       (gnus-message 5 "Reading descriptions file...done")
index 49cada5..c87d7f7 100644 (file)
@@ -6698,8 +6698,19 @@ to save in."
              (copy-to-buffer buffer (point-min) (point-max))
              (set-buffer buffer)
              (gnus-article-delete-invisible-text)
-             (run-hooks 'gnus-ps-print-hook)
-             (ps-print-buffer-with-faces filename))
+             (let ((ps-left-header
+                    (list 
+                     (concat "("
+                             (mail-header-subject gnus-current-headers) ")")
+                     (concat "("
+                             (mail-header-from gnus-current-headers) ")")))
+                   (ps-right-header 
+                    (list 
+                     "/pagenumberstring load" 
+                     (concat "("
+                             (mail-header-date gnus-current-headers) ")"))))
+               (run-hooks 'gnus-ps-print-hook)
+               (ps-print-buffer-with-faces filename)))
          (kill-buffer buffer))))))
 
 (defun gnus-summary-show-article (&optional arg)
index ff7b9e1..f1fc1b3 100644 (file)
@@ -246,7 +246,7 @@ is restarted, and sometimes reloaded."
   :link '(custom-manual "(gnus)Exiting Gnus")
   :group 'gnus)
 
-(defconst gnus-version-number "0.21"
+(defconst gnus-version-number "0.22"
   "Version number for this version of Gnus.")
 
 (defconst gnus-version (format "Quassia Gnus v%s" gnus-version-number)
@@ -1655,7 +1655,7 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.")
       gnus-start-date-timer gnus-stop-date-timer)
      ("gnus-int" gnus-request-type)
      ("gnus-start" gnus-newsrc-parse-options gnus-1 gnus-no-server-1
-      gnus-dribble-enter)
+      gnus-dribble-enter gnus-read-init-file)
      ("gnus-dup" gnus-dup-suppress-articles gnus-dup-unsuppress-article
       gnus-dup-enter-articles)
      ("gnus-range" gnus-copy-sequence)
@@ -1669,9 +1669,9 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.")
       gnus-async-halt-prefetch)
      ("gnus-agent" gnus-open-agent gnus-agent-get-function
       gnus-agent-save-groups gnus-agent-save-active gnus-agent-method-p
-      gnus-agent-get-undownloaded-list)
+      gnus-agent-get-undownloaded-list gnus-agent-fetch-session)
      ("gnus-agent" :interactive t
-      gnus-unplugged gnus-agentize)
+      gnus-unplugged gnus-agentize gnus-agent-batch)
      ("gnus-vm" :interactive t gnus-summary-save-in-vm
       gnus-summary-save-article-vm)
      ("gnus-draft" :interactive t gnus-draft-mode gnus-group-send-drafts))))
index 57ddb09..5cf5e27 100644 (file)
@@ -1183,6 +1183,7 @@ Return the number of headers removed."
 
   (define-key message-mode-map "\C-c\C-e" 'message-elide-region)
   (define-key message-mode-map "\C-c\C-v" 'message-delete-not-region)
+  (define-key message-mode-map "\C-c\C-z" 'message-kill-to-signature)
   (define-key message-mode-map "\M-\r" 'message-newline-and-reformat)
 
   (define-key message-mode-map "\t" 'message-tab))
@@ -1198,6 +1199,7 @@ Return the number of headers removed."
    ["Caesar (rot13) Region" message-caesar-region (mark t)]
    ["Elide Region" message-elide-region (mark t)]
    ["Delete Outside Region" message-delete-not-region (mark t)]
+   ["Kill To Signature" message-kill-to-signature t]
    ["Newline and Reformat" message-newline-and-reformat t]
    ["Rename buffer" message-rename-buffer t]
    ["Spellcheck" ispell-message t]
@@ -1441,6 +1443,13 @@ With the prefix argument FORCE, insert the header anyway."
   (message-goto-signature)
   (forward-line -2))
 
+(defun message-kill-to-signature ()
+  "Deletes all text up to the signature."
+  (interactive)
+  (let ((point (point)))
+    (message-goto-signature)
+    (kill-region point (point))))
+
 (defun message-newline-and-reformat ()
   "Insert four newlines, and then reformat if inside quoted text."
   (interactive)
index 8b73f7a..ea36ca8 100644 (file)
@@ -738,7 +738,12 @@ all.  This may very well take some time.")
     ;; Do this directory.
     (let ((files (sort (nnheader-article-to-file-alist dir)
                       'car-less-than-car)))
-      (when files
+      (if (not files)
+         (let* ((group (nnheader-file-to-group
+                        (directory-file-name dir) nnml-directory))
+                (info (cadr (assoc group nnml-group-alist))))
+           (when info
+             (setcar info (1+ (cdr info)))))
        (funcall nnml-generate-active-function dir)
        ;; Generate the nov file.
        (nnml-generate-nov-file dir files)
index eea499e..28f9f98 100644 (file)
     (nnoo-change-server pbackend
                        (nnoo-current-server backend)
                        (cdr (assq pbackend (nnoo-parents backend))))
-    (apply function args)))
+    (prog1
+       (apply function args)
+    ;; Copy the changed variables back into the child.
+    (let ((vars (cdr (assq pbackend (nnoo-parents backend)))))
+      (while vars
+       (set (cadar vars) (symbol-value (caar vars)))
+       (setq vars (cdr vars)))))))
 
 (defun nnoo-execute (backend function &rest args)
   "Execute FUNCTION on behalf of BACKEND."
     (nnoo-change-server pbackend
                        (nnoo-current-server backend)
                        (cdr (assq pbackend (nnoo-parents backend))))
-    (apply function args)))
+    (prog1
+       (apply function args)
+      ;; Copy the changed variables back into the child.
+      (let ((vars (cdr (assq pbackend (nnoo-parents backend)))))
+       (while vars
+         (set (cadar vars) (symbol-value (caar vars)))
+         (setq vars (cdr vars)))))))
 
 (defmacro nnoo-map-functions (backend &rest maps)
   `(nnoo-map-functions-1 ',backend ',maps))
index 5f2650c..247084e 100644 (file)
@@ -1,3 +1,12 @@
+Tue Jan  6 07:22:41 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.texi (Batching Agents): New.
+
+1998-01-04  Christoph Wedler  <wedler@fmi.uni-passau.de>
+
+       * gnus.texi (Newest Features): Delete spaces after @end example.
+       In XEmacs, `texinfo-format-buffer' would bug out.
+
 Sun Jan  4 12:04:45 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
 
        * gnus.texi (Conformity): Removed GNKSA.
index 1759690..a5533b7 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Quassia Gnus 0.21 Manual
+@settitle Quassia Gnus 0.22 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -313,7 +313,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Quassia Gnus 0.21 Manual
+@title Quassia Gnus 0.22 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -349,7 +349,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local
 spool or your mbox file.  All at the same time, if you want to push your
 luck.
 
-This manual corresponds to Quassia Gnus 0.21.
+This manual corresponds to Quassia Gnus 0.22.
 
 @end ifinfo
 
@@ -11062,6 +11062,7 @@ Of course, to use it as such, you have to learn a few new commands.
 * Outgoing Messages::      What happens when you post/mail something?
 * Agent Variables::        Customizing is fun.
 * Example Setup::          An example @file{.gnus.el} file for offline people.
+* Batching Agents::        How to fetch news from a @code{cron} job.
 @end menu
 
 
@@ -11534,6 +11535,20 @@ with the @kbd{J s} command.  And then read the rest of this manual to
 find out which of the other gazillion things you want to customize.
 
 
+@node Batching Agents
+@subsection Batching Agents
+
+Having the Gnus Agent fetch articles (and post whatever messages you've
+written) is quite easy once you've gotten things set up properly.  The
+following shell script will do everything that is necessary:
+
+@example
+#!/bin/sh
+emacs -batch -l ~/.emacs -f gnus-agent-batch >/dev/null
+@end example
+
+
+
 @node Scoring
 @chapter Scoring
 @cindex scoring
@@ -16745,7 +16760,7 @@ Article-mode
                        next-article;
                else 
                        next-group;
-@end example   
+@end example
 
 @item
 My precise need here would have been to limit files to Incoming*.
@@ -17092,6 +17107,10 @@ snews://secnews.netscape.com/netscape.communicator.unix
 When the nntp server hangs up while the user is composing the message,
 when sending the message and the nntp server asks for AUTH, Gnus hangs. 
 
+@item
+One command to edit the original version if an article, and one to edit
+the displayed version.
+
 @c TODO
 @end itemize
 
index d5e15ba..f8d08ac 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Message 0.21 Manual
+@settitle Message 0.22 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -39,7 +39,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Message 0.21 Manual
+@title Message 0.22 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -80,7 +80,7 @@ Message mode buffers.
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Message 0.21.  Message is distributed with
+This manual corresponds to Message 0.22.  Message is distributed with
 the Gnus distribution bearing the same version number as this manual
 has. 
 
@@ -525,6 +525,12 @@ Elide the text between point and mark (@code{message-elide-region}).
 The text is killed and an ellipsis (@samp{[...]}) will be inserted in
 its place.
 
+@item C-c C-z
+@kindex C-c C-x
+@findex message-kill-to-signature
+Kill all the text up to the signature, or if that's missing, up to the
+end of the message (@code{message-kill-to-signature}).
+
 @item C-c C-v
 @kindex C-c C-v
 @findex message-delete-not-region