*** empty log message ***
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 03:13:25 +0000 (03:13 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Tue, 4 Mar 1997 03:13:25 +0000 (03:13 +0000)
17 files changed:
lisp/ChangeLog
lisp/custom.el
lisp/gnus-edit.el
lisp/gnus-ems.el
lisp/gnus-msg.el
lisp/gnus-score.el
lisp/gnus-uu.el
lisp/gnus-vis.el
lisp/gnus.el
lisp/nnbabyl.el
lisp/nndoc.el
lisp/nneething.el
lisp/nnkiboze.el
lisp/nnmbox.el
lisp/nnml.el
lisp/nntp.el
texi/gnus.texi

index 7f91f9f..cd96fa6 100644 (file)
@@ -1,4 +1,111 @@
-Tue Aug  8 12:39:28 1995  Lars Magne Ingebrigtsen  <lingebri@sunscipw.cern.ch>
+Sat Aug 12 15:09:20 1995  Lars Magne Ingebrigtsen  <lingebri@sunsci4.cern.ch>
+
+       * nnml.el (nnml-request-create-group): Would create new groups
+       with 0 0 instead of 1 0.
+
+       * gnus.el (gnus-newsgroup-saveable-name): New function.
+       (gnus-score-file-name): Use it.
+       (gnus-remove-some-windows): Would leave more space for the windows
+       above.
+
+       * gnus-msg.el (gnus-debug): Don't quote nil and t.
+
+       * gnus.el (gnus-groups-to-gnus-format): Might lead to possible
+       bugouts. 
+       (gnus-activate-foreign-newsgroups): Changed default to 5 from nil.
+
+       * gnus-score.el (gnus-score-body): "all" didn't work.
+
+       * gnus-uu.el (gnus-uu-save-files): Would bug out on non-existing
+       files. 
+
+       * gnus.el (gnus-active-to-gnus-format): Didn't always set
+       group-sym to nil.
+
+       * gnus-vis.el (gnus-summary-make-menu-bar): Merge the two score
+       menus. 
+
+       * nndoc.el (nndoc-type-to-regexp): Be more lenient in article end
+       markers for digests. *Sigh*.
+
+       * gnus.el (gnus-group-first-unread-group): Don't move if there is
+       no urnead groups. 
+
+Sat Aug 12 12:20:22 1995  Lars Magne Ingebrigtsen  <lingebri@sunsci7.cern.ch>
+
+       * gnus.el (gnus-group-list-all-groups): Ignored the prefix arg.
+
+       * gnus-score.el (gnus-score-string): Would loop forever on
+       possibly-empty regexps.
+
+       * gnus-uu.el (gnus-uu-choose-action): Bind case-fold-search to t. 
+
+       * gnus.el (gnus-summary-first-unread-article): Would not work with
+       hidden threads.
+       (gnus-setup-news): Update format specs here.
+       (gnus-find-new-newsgroups): Really do ignore illegal groups. 
+       (gnus-group-kill-all-zombies): List groups at the right level.
+
+       * nnbabyl.el (nnbabyl-read-mbox): Ensure forward progress.
+
+       * gnus.el (gnus-summary-sort-by-author): Preserve subject order.
+       (gnus-summary-sort-by-subject): Preserve author order.
+
+Sat Aug 12 11:38:32 1995  Lars Magne Ingebrigtsen  <lingebri@sunscipw.cern.ch>
+
+       * nneething.el (nneething-get-head): Don't use file-regular-p.
+
+       * nndoc.el (nndoc-set-header-dependent-regexps): Don't use
+       buffer-substring-no-props. 
+
+       * gnus-msg.el (gnus-inews-article): Unquoted hook.
+
+Fri Aug 11 11:11:26 1995  Lars Magne Ingebrigtsen  <lingebri@sunscipw.cern.ch>
+
+       * gnus.el (gnus-summary-remove-lines-marked-as-read): Remove
+       canceled articles as well.
+       (gnus-group-first-unread-group): Would bug out on un-activated
+       groups.
+
+       * nnmbox.el (nnmbox-get-new-mail): Did not delete incomings.
+
+Thu Aug 10 12:15:34 1995  Lars Magne Ingebrigtsen  <lingebri@sunscipw.cern.ch>
+
+       * nnkiboze.el (nnkiboze-enter-nov): Insert Xref: instead of Xref. 
+
+Wed Aug  9 11:56:18 1995  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * custom.el (custom-field-accept): Protect call with a 
+       `inhibit-point-motion-hooks' around it.  
+
+Wed Aug  9 13:57:55 1995  Lars Magne Ingebrigtsen  <lingebri@sunscipw.cern.ch>
+
+       * gnus.el (gnus-read-active-file): Did not like virtual servers in
+       secondary select methods.
+       (gnus-secondary-method-p): More correct implementation.
+
+Tue Aug  8 16:44:41 1995  Per Abrahamsen  <abraham@dina.kvl.dk>
+
+       * custom.el: Put initial defvars in an `eval-when-compile'.
+       The `help' menu was renamed to `help-menu'.  Adjust code.
+
+Tue Aug  8 14:49:30 1995  Lars Magne Ingebrigtsen  <lingebri@sunscipw.cern.ch>
+
+       * gnus.el (gnus-summary-mark-unread-as-read): Mark read-marked
+       articles as read. Yup.
+
+       * gnus-vis.el (gnus-button-url): Change default to use w3-fetch
+       when no window system.
+
+       * gnus.el (gnus-gnus-to-quick-newsrc-format): Add the gnus version
+       to the .newsrc.eld file.
+
+       * gnus-msg.el (gnus-inews-insert-headers): Don't delete original
+       sender, just change it to "Original-Sender".
+
+Tue Aug  8 12:39:28 1995  Lars Magne Ingebrigtsen  <lingebri@sunsci4.cern.ch>
+
+       * gnus.el: 0.99.9 is released.
 
        * gnus.el (gnus-group-unsubscribe-group): Wouldn't let you sub to
        groups not in active. 
index f0067b2..bb61c0f 100644 (file)
@@ -123,17 +123,18 @@ STRING should be given if the last search was by `string-match' on STRING."
           (and (symbolp x) (assq x global-face-data)))
        t)))
       
-(defvar x-colors nil)
-(defvar custom-button-face nil)
-(defvar custom-modified-list nil)
-(defvar custom-field-uninitialized-face nil)
-(defvar custom-field-invalid-face nil)
-(defvar custom-field-modified-face nil)
-(defvar custom-field-face nil)
-(defvar custom-button-properties nil)
-(defvar custom-documentation-properties nil)
-(defvar custom-mouse-face nil)
-(defvar custom-field-active-face nil)
+(eval-when-compile
+  (defvar x-colors nil)
+  (defvar custom-button-face nil)
+  (defvar custom-modified-list nil)
+  (defvar custom-field-uninitialized-face nil)
+  (defvar custom-field-invalid-face nil)
+  (defvar custom-field-modified-face nil)
+  (defvar custom-field-face nil)
+  (defvar custom-button-properties nil)
+  (defvar custom-documentation-properties nil)
+  (defvar custom-mouse-face nil)
+  (defvar custom-field-active-face nil))
 
 (or (and (fboundp 'modify-face) (not (featurep 'face-lock)))
     ;; Introduced in Emacs 19.29.  Incompatible definition also introduced
@@ -204,7 +205,8 @@ If called interactively, prompts for a face and face attributes."
 ;; Put it in the Help menu, if possible.
 (condition-case nil
     ;; This will not work under XEmacs.
-    (global-set-key [ menu-bar help customize ] '("Customize..." . customize))
+    (global-set-key [ menu-bar help-menu customize ]
+                   '("Customize..." . customize))
   (error nil))
 
 ;;; External Data:
@@ -725,8 +727,9 @@ START and END are markers to the start and end of the field."
 (defun custom-field-accept (field value &optional original)
   "Accept FIELD VALUE.  
 If optional ORIGINAL is non-nil, concider VALUE for the original value."
-  (funcall (custom-property (custom-field-custom field) 'accept) 
-          field value original))
+  (let ((inhibit-point-motion-hooks t))
+    (funcall (custom-property (custom-field-custom field) 'accept) 
+            field value original)))
 
 (defun custom-field-face (field)
   "The face used for highlighting FIELD."
index 21ca76d..e60dc29 100644 (file)
@@ -535,7 +535,7 @@ groups matched by the current score file.")
                          'gnus-score-custom-set
                          'gnus-score-custom-get))
   (make-local-variable 'gnus-score-custom-file)
-  (setq gnus-score-custom-file "SCORE")
+  (setq gnus-score-custom-file (expand-file-name  "SCORE" "~/News"))
   (make-local-variable 'gnus-score-alist)
   (setq gnus-score-alist nil)
   (custom-reset-all))
index a1d2683..2cc2e08 100644 (file)
 (defalias 'gnus-overlay-put 'overlay-put)
 (defalias 'gnus-move-overlay 'move-overlay)
 
+;; Don't warn about these undefined variables.
+                                       ;defined in gnus.el
+(defvar gnus-active-hashtb)
+(defvar gnus-article-buffer)
+(defvar gnus-auto-center-summary)
+(defvar gnus-buffer-list)
+(defvar gnus-current-headers)
+(defvar gnus-level-killed)
+(defvar gnus-level-zombie)
+(defvar gnus-newsgroup-bookmarks)
+(defvar gnus-newsgroup-dependencies)
+(defvar gnus-newsgroup-headers-hashtb-by-number)
+(defvar gnus-newsgroup-selected-overlay)
+(defvar gnus-newsrc-hashtb)
+(defvar gnus-read-mark)
+(defvar gnus-refer-article-method)
+(defvar gnus-reffed-article-number)
+(defvar gnus-unread-mark)
+(defvar gnus-version)
+(defvar gnus-view-pseudos)
+(defvar gnus-view-pseudos-separately)
+(defvar gnus-visual)
+(defvar gnus-zombie-list)
+                                       ;defined in gnus-msg.el
+(defvar gnus-article-copy)
+(defvar gnus-check-before-posting)
+                                       ;defined in gnus-vis.el
+(defvar gnus-article-button-face)
+(defvar gnus-article-mouse-face)
+(defvar gnus-summary-selected-face)
+
+
 ;; We do not byte-compile this file, because error messages are such a
 ;; bore.  
 
@@ -625,7 +657,7 @@ call it with the value of the `gnus-data' text property."
 (provide 'gnus-ems)
 
 ;; Local Variables:
-;; byte-compile-warnings: nil
+;; byte-compile-warnings: '(redefine callargs)
 ;; End:
 
 ;;; gnus-ems.el ends here
index 11e84a8..09e186f 100644 (file)
@@ -954,7 +954,7 @@ will attempt to use the foreign server to post the article."
         (match-beginning 0)))
       (gnus-inews-remove-headers)
       (gnus-inews-insert-headers)
-      (run-hooks gnus-inews-article-header-hook)
+      (run-hooks 'gnus-inews-article-header-hook)
       (widen))
     ;; Check whether the article is a good Net Citizen.
     (if (and gnus-article-check-size
@@ -1096,8 +1096,10 @@ Headers in `gnus-required-headers' will be generated."
          (progn
            (goto-char (point-min))    
            (and (re-search-forward "^Sender:" nil t)
-                (delete-region (progn (beginning-of-line) (point))
-                               (progn (forward-line 1) (point))))
+                (progn
+                  (beginning-of-line)
+                  (insert "Original-")
+                  (beginning-of-line)))
            (insert "Sender: " (gnus-inews-real-user-address) "\n"))))))
 
 
@@ -1700,7 +1702,7 @@ If YANK is non-nil, include the original article."
 The source file has to be in the Emacs load path."
   (interactive)
   (let ((files '("gnus.el" "gnus-msg.el" "gnus-score.el"))
-       file dirs expr olist)
+       file dirs expr olist sym)
     (message "Please wait while we snoop your variables...")
     (sit-for 0)
     (save-excursion
@@ -1739,8 +1741,10 @@ The source file has to be in the Emacs load path."
     (while olist
       (if (boundp (car olist))
          (insert "(setq " (symbol-name (car olist)) 
-                 (if (or (consp (symbol-value (car olist)))
-                         (symbolp (symbol-value (car olist))))
+                 (if (or (consp (setq sym (symbol-value (car olist))))
+                         (and (symbolp sym)
+                              (not (or (eq sym nil)
+                                       (eq sym t)))))
                      " '" " ")
                  (prin1-to-string (symbol-value (car olist))) ")\n")
        (insert ";; (makeunbound '" (symbol-name (car olist)) ")\n"))
index e2170dd..c79656d 100644 (file)
@@ -1043,7 +1043,11 @@ SCORE is the score to add."
             entries alist ofunc article)
        ;; Not all backends support partial fetching.  In that case,
        ;; we just fetch the entire article.
-       (or (gnus-check-backend-function request-func gnus-newsgroup-name)
+       (or (gnus-check-backend-function 
+            (and (string-match "^gnus-" (symbol-name request-func))
+                 (intern (substring (symbol-name request-func)
+                                    (match-end 0))))
+            gnus-newsgroup-name)
            (progn
              (setq ofunc request-func)
              (setq request-func 'gnus-request-article)))
@@ -1323,7 +1327,8 @@ SCORE is the score to add."
                             (setcdr art (+ score (cdr art)))))))
                  (forward-line 1))
              (and (string= match "") (setq match "\n"))
-             (while (funcall search-func match nil t)
+             (while (and (not (eobp))
+                         (funcall search-func match nil t))
                (goto-char (match-beginning 0))
                (end-of-line)
                (setq found (setq arts (get-text-property (point) 'articles)))
index cb9c8a8..6a5b76c 100644 (file)
@@ -262,7 +262,6 @@ The headers will be included in the sequence they are matched.")
 
 (defconst gnus-uu-output-buffer-name " *Gnus UU Output*")
 
-(defconst gnus-uu-highest-article-number 1)
 (defvar gnus-uu-default-dir default-directory)
 
 ;; Keymaps
@@ -584,7 +583,7 @@ The headers will be included in the sequence they are matched.")
 ;; Internal functions.
 
 (defun gnus-uu-decode-with-method (method n &optional save not-insert scan)
-  (gnus-uu-initialize)
+  (gnus-uu-initialize scan)
   (if save (setq gnus-uu-default-dir save))
   (let ((articles (gnus-uu-get-list-of-articles n))
        files)
@@ -616,16 +615,17 @@ The headers will be included in the sequence they are matched.")
   (let ((len (length files))
        to-file file)
     (while files
-      (setq file (cdr (assq 'name (car files))))
-      (and (file-exists-p file)
-          (progn
-            (setq to-file (if (file-directory-p dir)
-                              (concat dir (file-name-nondirectory file))
-                            dir))
-            (and (or (not (file-exists-p to-file))
-                     (gnus-y-or-n-p (format "%s exists; overwrite? "
-                                            to-file)))
-                 (copy-file file to-file t t))))
+      (and 
+       (setq file (cdr (assq 'name (car files))))
+       (file-exists-p file)
+       (progn
+        (setq to-file (if (file-directory-p dir)
+                          (concat dir (file-name-nondirectory file))
+                        dir))
+        (and (or (not (file-exists-p to-file))
+                 (gnus-y-or-n-p (format "%s exists; overwrite? "
+                                        to-file)))
+             (copy-file file to-file t t))))
       (setq files (cdr files)))
     (message "Saved %d file%s" len (if (> len 1) "s" ""))))
 
@@ -1052,9 +1052,6 @@ The headers will be included in the sequence they are matched.")
       (setq articles (cdr articles))
       (setq gnus-uu-has-been-grabbed (cons article gnus-uu-has-been-grabbed))
 
-      (if (> article gnus-uu-highest-article-number) 
-         (setq gnus-uu-highest-article-number article))
-
       (if (eq articles ()) 
          (if (eq state 'first)
              (setq state 'first-and-last)
@@ -1308,6 +1305,7 @@ The headers will be included in the sequence they are matched.")
 ;; found, or the name of the command to run if such a rule is found.
 (defun gnus-uu-choose-action (file-name file-action-list &optional no-ignore)
   (let ((action-list (copy-sequence file-action-list))
+       (case-fold-search t)
        rule action)
     (and 
      (or no-ignore 
@@ -1463,15 +1461,15 @@ The headers will be included in the sequence they are matched.")
 
 (defvar gnus-uu-tmp-alist nil)
 
-(defun gnus-uu-initialize ()
+(defun gnus-uu-initialize (&optional scan)
   (let (entry)
-    (if (if (setq entry (assoc gnus-newsgroup-name gnus-uu-tmp-alist))
-           (if (file-exists-p (cdr entry))
-               (setq gnus-uu-work-dir (cdr entry))
-             (setq gnus-uu-tmp-alist (delq entry gnus-uu-tmp-alist))
-             nil))
+    (if (and (not scan)
+            (if (setq entry (assoc gnus-newsgroup-name gnus-uu-tmp-alist))
+                (if (file-exists-p (cdr entry))
+                    (setq gnus-uu-work-dir (cdr entry))
+                  (setq gnus-uu-tmp-alist (delq entry gnus-uu-tmp-alist))
+                  nil)))
        t
-      (setq gnus-uu-highest-article-number 1)
       (setq gnus-uu-tmp-dir (file-name-as-directory 
                             (expand-file-name gnus-uu-tmp-dir)))
       (if (not (file-directory-p gnus-uu-tmp-dir))
index 0030a6d..5ed5212 100644 (file)
@@ -188,7 +188,9 @@ PAR: is a number of a regexp grouping whose text will be passed to CALLBACK.
 CALLBACK can also be a variable, in that case the value of that
 variable it the real callback function.")
 
-(defvar gnus-button-url 'gnus-netscape-open-url
+(defvar gnus-button-url 
+  (if window-system 'gnus-netscape-open-url
+    (and (fboundp 'w3-fetch) 'w3-fetch))
   "Function to fetch URL.  
 The function will be called with one argument, the URL to fetch.
 Useful values of this function are:
@@ -294,6 +296,7 @@ gnus-netscape-start-url:
       ""
       '("Misc"
        ["Send a bug report" gnus-bug t]
+       ["Customize score file" gnus-score-customize t]
        ["Check for new news" gnus-group-get-new-news t]     
        ["Delete bogus groups" gnus-group-check-bogus-groups t]
        ["Find new newsgroups" gnus-find-new-newsgroups t]
@@ -540,14 +543,13 @@ gnus-netscape-start-url:
        (gnus-visual-score-map 'lower)
        '(["Current score" gnus-summary-current-score t]
          ["Set score" gnus-summary-set-score t]
-         ("Score file"
-          ["Customize score file" gnus-score-customize t]
-          ["Switch current score file" gnus-score-change-score-file t]
-          ["Set mark below" gnus-score-set-mark-below t]
-          ["Set expunge below" gnus-score-set-expunge-below t]
-          ["Edit current score file" gnus-score-edit-alist t]
-          ["Edit score file" gnus-score-edit-file t]
-          ["Trace score" gnus-score-find-trace t])
+         ["Customize score file" gnus-score-customize t]
+         ["Switch current score file" gnus-score-change-score-file t]
+         ["Set mark below" gnus-score-set-mark-below t]
+         ["Set expunge below" gnus-score-set-expunge-below t]
+         ["Edit current score file" gnus-score-edit-alist t]
+         ["Edit score file" gnus-score-edit-file t]
+         ["Trace score" gnus-score-find-trace t]
          ))))
      )))
 
index 2ef3b65..5d62e12 100644 (file)
@@ -481,7 +481,7 @@ less than this variable, are subscribed.")
 (defvar gnus-level-default-unsubscribed 6
   "*New unsubscribed groups will be unsubscribed at this level.")
 
-(defvar gnus-activate-foreign-newsgroups nil
+(defvar gnus-activate-foreign-newsgroups 4
   "*If nil, Gnus will not check foreign newsgroups at startup.
 If it is non-nil, it should be a number between one and nine. Foreign
 newsgroups that have a level lower or equal to this number will be
@@ -1308,7 +1308,7 @@ variable (string, integer, character, etc).")
 (defconst gnus-maintainer "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)"
   "The mail address of the Gnus maintainers.")
 
-(defconst gnus-version "(ding) Gnus v0.99.9"
+(defconst gnus-version "(ding) Gnus v0.99.10"
   "Version number for this version of Gnus.")
 
 (defvar gnus-info-nodes
@@ -2207,7 +2207,7 @@ the first newsgroup."
 
 (defun gnus-newsgroup-directory-form (newsgroup)
   "Make hierarchical directory name from NEWSGROUP name."
-  (let ((newsgroup (substring newsgroup 0)) ;Copy string.
+  (let ((newsgroup (gnus-newsgroup-saveable-name newsgroup))
        (len (length newsgroup))
        idx)
     ;; If this is a foreign group, we don't want to translate the
@@ -2222,6 +2222,9 @@ the first newsgroup."
       (setq idx (1+ idx)))
     newsgroup))
 
+(defun gnus-newsgroup-saveable-name (group)
+  (gnus-replace-chars-in-string group ?/ ?.))
+
 (defun gnus-make-directory (dir)
   "Make DIRECTORY recursively."
   (let* ((dir (expand-file-name dir default-directory))
@@ -2549,8 +2552,8 @@ If optional argument RE-ONLY is non-nil, strip `Re:' only."
       
 (defun gnus-remove-some-windows ()
   (let ((buffers gnus-window-to-buffer)
-       (first t)
-       buf)
+       (lowest (frame-height))
+       buf bufs lowest-buf)
     (save-excursion
       ;; Remove windows on all known Gnus buffers.
       (while buffers
@@ -2560,12 +2563,12 @@ If optional argument RE-ONLY is non-nil, strip `Re:' only."
        (and buf 
             (get-buffer-window buf)
             (progn
-              (if first
+              (setq bufs (cons buf bufs))
+              (pop-to-buffer buf)
+              (if (< (nth 1 (window-edges)) lowest)
                   (progn
-                    (pop-to-buffer buf)
-                    (switch-to-buffer nntp-server-buffer)
-                    (setq first nil))
-                (delete-window (get-buffer-window buf)))))
+                    (setq lowest (nth 1 (window-edges)))
+                    (setq lowest-buf buf)))))
        (setq buffers (cdr buffers)))
       ;; Remove windows on *all* summary buffers.
       (let (wins)
@@ -2573,16 +2576,21 @@ If optional argument RE-ONLY is non-nil, strip `Re:' only."
         (lambda (win)
           (let ((buf (window-buffer win)))
             (if (string-match  "^\\*Summary" (buffer-name buf))
-                (if first
-                    (progn
-                      (select-window win)
-                      (switch-to-buffer nntp-server-buffer)
-                      (setq first nil))
-                  (setq wins (cons win wins)))))))
-       (while wins
-         (delete-window (car wins))
-         (setq wins (cdr wins)))))))
-      
+            (progn
+              (setq bufs (cons buf bufs))
+              (pop-to-buffer buf)
+              (if (< (nth 1 (window-edges)) lowest)
+                  (progn
+                    (setq lowest-buf buf)
+                    (setq lowest (nth 1 (window-edges)))))))))))
+      (and lowest-buf 
+          (progn
+            (pop-to-buffer lowest-buf)
+            (switch-to-buffer nntp-server-buffer)))
+      (while bufs
+       (and (not (eq (car bufs) lowest-buf))
+            (delete-windows-on (car bufs)))
+       (setq bufs (cdr bufs))))))
                          
 (defun gnus-version ()
   "Version numbers of this version of Gnus."
@@ -3222,7 +3230,6 @@ prompt the user for the name of an NNTP server to use."
                  (gnus-group-startup-message)
                  (sit-for 0))))
          (gnus-setup-news nil level)
-         (gnus-update-format-specifications)
          (gnus-group-list-groups level)
          (gnus-configure-windows 'group))))))
 
@@ -3951,10 +3958,17 @@ If EXCLUDE-GROUP, do not go to that group."
 (defun gnus-group-first-unread-group ()
   "Go to the first group with unread articles."
   (interactive)
-  (goto-char (point-min))
-  (or (not (zerop (or (get-text-property (point) 'gnus-unread) 0)))
-      (gnus-group-next-unread-group 1))
-  (gnus-group-position-cursor))
+  (prog1
+      (let ((opoint (point))
+           unread)
+       (goto-char (point-min))
+       (if (or (eq (setq unread (gnus-group-group-unread)) t) ; Not active.
+               (not (zerop unread)) ; Has unread articles.
+               (zerop (gnus-group-next-unread-group 1))) ; Next unread group.
+           (point) ; Success.
+         (goto-char opoint)
+         nil)) ; Not success.
+    (gnus-group-position-cursor)))
 
 (defun gnus-group-enter-server-mode ()
   "Jump to the server buffer."
@@ -4435,9 +4449,7 @@ N and the number of steps taken is returned."
   (interactive)
   (setq gnus-killed-list (nconc gnus-zombie-list gnus-killed-list))
   (setq gnus-zombie-list nil)
-  (funcall gnus-group-prepare-function gnus-level-subscribed nil nil)
-  (goto-char (point-min))
-  (gnus-group-position-cursor))
+  (gnus-group-list-groups))
 
 (defun gnus-group-kill-region (begin end)
   "Kill newsgroups in current region (excluding current point).
@@ -4517,8 +4529,7 @@ newsgroup yanked is returned."
 Default is gnus-level-unsubscribed, which lists all subscribed and most
 unsubscribed groups."
   (interactive "P")
-  (setq arg (or arg gnus-level-unsubscribed))
-  (gnus-group-list-groups gnus-level-unsubscribed t))
+  (gnus-group-list-groups (or arg gnus-level-unsubscribed) t))
 
 (defun gnus-group-list-killed ()
   "List all killed newsgroups in the group buffer."
@@ -5339,7 +5350,7 @@ buffer.
   (define-key gnus-summary-wash-map "\C-t" 'gnus-article-date-local)
   (define-key gnus-summary-wash-map "T" 'gnus-article-date-lapsed)
 
-  (define-key gnus-summary-wash-map "l" 'gnus-summary-stop-page-breaking)
+  (define-key gnus-summary-wash-map "L" 'gnus-summary-stop-page-breaking)
   (define-key gnus-summary-wash-map "r" 'gnus-summary-caesar-message)
   (define-key gnus-summary-wash-map "G" 'gnus-summary-toggle-header)
   (define-key gnus-summary-wash-map "m" 'gnus-summary-toggle-mime)
@@ -5931,7 +5942,8 @@ If NO-ARTICLE is non-nil, no article is selected initially."
   ;; through the dependecies in the hash table and finds all the
   ;; roots. Roots do not refer back to any valid articles.
   (let (roots new-roots)
-    (and gnus-fetch-old-headers (eq gnus-headers-retrieved-by 'nov)
+    (and gnus-fetch-old-headers
+        (eq gnus-headers-retrieved-by 'nov)
         (gnus-build-old-threads))
     (mapatoms
      (lambda (refs)
@@ -5982,7 +5994,8 @@ If NO-ARTICLE is non-nil, no article is selected initially."
   (let ((default (or gnus-summary-default-score 0))
        (below gnus-summary-expunge-below)
        roots article new-roots)
-    (and gnus-fetch-old-headers (eq gnus-headers-retrieved-by 'nov)
+    (and gnus-fetch-old-headers
+        (eq gnus-headers-retrieved-by 'nov)
         (gnus-build-old-threads))
     (mapatoms
      (lambda (refs)
@@ -8156,7 +8169,10 @@ Return nil if there are no unread articles."
   (gnus-set-global-variables)
   (prog1
       (if (gnus-summary-first-subject t)
-         (gnus-summary-display-article (gnus-summary-article-number)))
+         (progn
+           (gnus-summary-show-thread)
+           (gnus-summary-first-subject t)
+           (gnus-summary-display-article (gnus-summary-article-number))))
     (gnus-summary-position-cursor)))
 
 (defun gnus-summary-best-unread-article ()
@@ -9494,11 +9510,10 @@ The difference between N and the number of marks cleared is returned."
 
 (defun gnus-summary-mark-unread-as-read ()
   "Intended to be used by `gnus-summary-mark-article-hook'."
-  (and (memq gnus-current-article gnus-newsgroup-unreads)
-       (or (memq gnus-current-article gnus-newsgroup-marked)
-          (memq gnus-current-article gnus-newsgroup-dormant)
-          (memq gnus-current-article gnus-newsgroup-expirable)
-          (gnus-summary-mark-article gnus-current-article gnus-read-mark))))
+  (or (memq gnus-current-article gnus-newsgroup-marked)
+      (memq gnus-current-article gnus-newsgroup-dormant)
+      (memq gnus-current-article gnus-newsgroup-expirable)
+      (gnus-summary-mark-article gnus-current-article gnus-read-mark)))
 
 (defun gnus-summary-mark-region-as-read (point mark all)
   "Mark all unread articles between point and mark as read.
@@ -9537,7 +9552,7 @@ even ticked and dormant ones."
            '(gnus-del-mark gnus-read-mark gnus-ancient-mark
              gnus-killed-mark gnus-kill-file-mark
              gnus-low-score-mark gnus-expirable-mark
-             gnus-canceled-mark)
+             gnus-canceled-mark gnus-catchup-mark)
            ""))))
 
 (defalias 'gnus-summary-delete-marked-with 
@@ -10018,11 +10033,12 @@ Argument REVERSE means reverse order."
   (gnus-summary-sort
    (cons
     (lambda ()
-      (let ((extract (funcall
-                     gnus-extract-address-components
-                     (header-from (gnus-get-header-by-num
-                                   (gnus-summary-article-number))))))
-       (or (car extract) (cdr extract))))
+      (let* ((header (gnus-get-header-by-num (gnus-summary-article-number)))
+            (extract (funcall
+                      gnus-extract-address-components
+                      (header-from header))))
+       (concat (or (car extract) (cdr extract))
+               "\r" (header-subject header))))
     'gnus-thread-sort-by-author)
    reverse))
 
@@ -10035,7 +10051,13 @@ Argument REVERSE means reverse order."
   (gnus-summary-sort
    (cons
     (lambda ()
-      (downcase (gnus-simplify-subject (gnus-summary-subject-string))))
+      (let* ((header (gnus-get-header-by-num (gnus-summary-article-number)))
+            (extract (funcall
+                      gnus-extract-address-components
+                      (header-from header))))
+       (concat 
+        (downcase (gnus-simplify-subject (gnus-summary-subject-string)))
+        "\r" (or (car extract) (cdr extract)))))
     'gnus-thread-sort-by-subject)
    reverse))
 
@@ -11278,7 +11300,7 @@ Argument LINES specifies lines to be scrolled down."
     (call-interactively func)
     (set-buffer obuf)
     (set-window-configuration owin)
-    (set-window-start (get-buffer-window (current-buffer)) (point))))
+    (set-window-point (get-buffer-window (current-buffer)) (point))))
 
 (defun gnus-article-summary-command-nosave ()
   "Execute the last keystroke in the summary buffer."
@@ -11368,7 +11390,8 @@ If NEWSGROUP is nil, return the global kill file name instead."
                           (or gnus-kill-files-directory "~/News")))
        ((gnus-use-long-file-name 'not-kill)
         ;; Append ".KILL" to newsgroup name.
-        (expand-file-name (concat newsgroup "." gnus-kill-file-name)
+        (expand-file-name (concat (gnus-newsgroup-saveable-name newsgroup)
+                                  "." gnus-kill-file-name)
                           (or gnus-kill-files-directory "~/News")))
        (t
         ;; Place "KILL" under the hierarchical directory.
@@ -11831,8 +11854,14 @@ is returned insted of the status string."
                (format "%s" (car (gnus-find-method-for-group group)))
                gnus-valid-select-methods)))
 
-(defsubst gnus-secondary-method-p (method)
-  (member method gnus-secondary-select-methods))
+(defun gnus-secondary-method-p (method)
+  (let ((methods gnus-secondary-select-methods)
+       (gmethod (gnus-server-get-method nil method)))
+    (while (and methods
+               (not (equal (gnus-server-get-method nil (car methods)) 
+                           gmethod)))
+      (setq methods (cdr methods)))
+    methods))
 
 (defun gnus-find-method-for-group (group &optional info)
   (or gnus-override-method
@@ -11925,6 +11954,8 @@ If LEVEL is non-nil, the news will be set up at level LEVEL."
     ;; Possibly eval the dribble file.
     (and init gnus-use-dribble-file (gnus-dribble-eval-file))
 
+    (gnus-update-format-specifications)
+
     ;; Find the number of unread articles in each non-dead group.
     (let ((gnus-read-active-file (and (not level) gnus-read-active-file)))
       (gnus-get-unread-articles (or level (1+ gnus-level-subscribed))))
@@ -11957,23 +11988,24 @@ The `-n' option line from .newsrc is respected."
          (mapatoms
           (lambda (sym)
             (if (or (null (setq group (symbol-name sym)))
+                    (null (symbol-value sym))
                     (gnus-gethash group gnus-killed-hashtb)
                     (gnus-gethash group gnus-newsrc-hashtb))
                 ()
               (let ((do-sub (gnus-matches-options-n group)))
-                (cond ((eq do-sub 'subscribe)
-                       (setq groups (1+ groups))
-                       (gnus-sethash group group gnus-killed-hashtb)
-                       (funcall 
-                        gnus-subscribe-options-newsgroup-method group))
-                      ((eq do-sub 'ignore)
-                       nil)
-                      (t
-                       (setq groups (1+ groups))
-                       (gnus-sethash group group gnus-killed-hashtb)
-                       (if gnus-subscribe-hierarchical-interactive
-                           (setq new-newsgroups (cons group new-newsgroups))
-                         (funcall gnus-subscribe-newsgroup-method group)))))))
+                (cond 
+                 ((eq do-sub 'subscribe)
+                  (setq groups (1+ groups))
+                  (gnus-sethash group group gnus-killed-hashtb)
+                  (funcall gnus-subscribe-options-newsgroup-method group))
+                 ((eq do-sub 'ignore)
+                  nil)
+                 (t
+                  (setq groups (1+ groups))
+                  (gnus-sethash group group gnus-killed-hashtb)
+                  (if gnus-subscribe-hierarchical-interactive
+                      (setq new-newsgroups (cons group new-newsgroups))
+                    (funcall gnus-subscribe-newsgroup-method group)))))))
           gnus-active-hashtb)
          (if new-newsgroups 
              (gnus-subscribe-hierarchical-interactive new-newsgroups))
@@ -12016,20 +12048,21 @@ The `-n' option line from .newsrc is respected."
                         gnus-secondary-select-methods)))
         (groups 0)
         (new-date (current-time-string))
-        hashtb group new-newsgroups got-new)
+        hashtb group new-newsgroups got-new method)
     ;; Go thorugh both primary and secondary select methods and
     ;; request new newsgroups.  
     (while methods
-      (and (or (gnus-server-opened (car methods))
-              (gnus-open-server (car methods)))
-          (gnus-request-newgroups date (car methods))
+      (setq method (gnus-server-get-method nil (car methods)))
+      (and (or (gnus-server-opened method)
+              (gnus-open-server method))
+          (gnus-request-newgroups date method)
           (save-excursion
             (setq got-new t)
             (set-buffer nntp-server-buffer)
             (or hashtb (setq hashtb (gnus-make-hashtable 
                                      (count-lines (point-min) (point-max)))))
             ;; Enter all the new groups in a hashtable.
-            (gnus-active-to-gnus-format (car methods) hashtb 'ignore)))
+            (gnus-active-to-gnus-format method hashtb 'ignore)))
       (setq methods (cdr methods)))
     (and got-new (setq gnus-newsrc-last-checked-date new-date))
     ;; Now all new groups from all select methods are in `hashtb'.
@@ -12595,48 +12628,54 @@ Returns whether the updating was successful."
     (save-excursion
       (set-buffer nntp-server-buffer)
       (while methods
-       (let* ((where (nth 1 (car methods)))
+       (let* ((method (gnus-server-get-method nil (car methods)))
+              (where (nth 1 method))
               (mesg (format "Reading active file%s via %s..."
                             (if (and where (not (zerop (length where))))
                                 (concat " from " where) "")
-                            (car (car methods)))))
+                            (car method))))
          (gnus-message 5 mesg)
-         (gnus-check-news-server (car methods))
+         (gnus-check-news-server method)
          (cond 
           ((and (eq gnus-read-active-file 'some)
                 (gnus-check-backend-function
-                 'retrieve-groups (car (car methods))))
+                 'retrieve-groups (car method)))
            (let ((newsrc (cdr gnus-newsrc-alist))
+                 (gmethod (gnus-server-get-method nil method))
                  groups)
              (while newsrc
                (and (gnus-server-equal 
-                     (gnus-find-method-for-group
+                     (gnus-find-method-for-group 
                       (car (car newsrc)) (car newsrc))
-                     (gnus-server-get-method nil (car methods)))
-                    (setq groups (cons (car (car newsrc)) groups)))
+                     gmethod)
+                    (setq groups (cons (gnus-group-real-name 
+                                        (car (car newsrc))) groups)))
                (setq newsrc (cdr newsrc)))
-             (setq list-type (gnus-retrieve-groups groups (car methods)))
+             (or (gnus-server-opened method)
+                 (gnus-open-server method))
+             (setq list-type (gnus-retrieve-groups groups method))
              (cond ((not list-type)
                     (gnus-message 
                      1 "Cannot read partial active file from %s server." 
-                     (car (car methods)))
+                     (car method))
                     (ding)
                     (sit-for 2))
                    ((eq list-type 'active)
-                    (gnus-active-to-gnus-format (car methods)))
+                    (gnus-active-to-gnus-format method))
                    (t
-                    (gnus-groups-to-gnus-format (car methods))))))
+                    (gnus-groups-to-gnus-format method)))))
           (t
-           (if (not (gnus-request-list (car methods)))
+           (if (not (gnus-request-list method))
                (progn
                  (gnus-message 1 "Cannot read active file from %s server." 
-                               (car (car methods)))
+                               (car method))
                  (ding))
-             (gnus-active-to-gnus-format (car methods))
+             (gnus-active-to-gnus-format method)
              ;; We mark this active file as read.
              (setq gnus-have-read-active-file
-                   (cons (car methods) gnus-have-read-active-file))
-             (gnus-message 5 "%sdone" mesg)))))
+                   (cons method gnus-have-read-active-file))
+             (gnus-message 5 "%sdone" mesg))))
+         )
        (setq methods (cdr methods))))))
 
 ;; Read an active file and place the results in `gnus-active-hashtb'.
@@ -12663,7 +12702,9 @@ Returns whether the updating was successful."
          (delete-matching-lines gnus-ignored-newsgroups)))
     ;; If these are groups from a foreign select method, we insert the
     ;; group prefix in front of the group names. 
-    (and method (not (eq method gnus-select-method))
+    (and method (not (gnus-server-equal
+                     (gnus-server-get-method nil method)
+                     (gnus-server-get-method nil gnus-select-method)))
         (let ((prefix (gnus-group-prefixed-name "" method)))
           (goto-char (point-min))
           (while (and (not (eobp))
@@ -12698,7 +12739,8 @@ Returns whether the updating was successful."
                  (if (eq (let ((obarray mod-hashtb)) (read cur)) m)
                      (setq gnus-moderated-list 
                            (cons (symbol-name group) gnus-moderated-list))))
-             (error nil))
+             (error 
+              (set group nil)))
            (widen)
            (forward-line 1)))
       ;; And if we do not care about moderation, we use this loop,
@@ -12723,8 +12765,9 @@ Returns whether the updating was successful."
                  (set group nil)))
            (error 
             (progn 
+              (set group nil)
               (if ignore-errors
-                  (set group nil)
+                  ()
                 (ding) 
                 (gnus-message 3 "Warning - illegal active: %s"
                               (buffer-substring 
@@ -12737,7 +12780,7 @@ Returns whether the updating was successful."
   ;; Parse a "groups" active file.
   (let ((cur (current-buffer))
        (hashtb (or hashtb 
-                   (if method
+                   (if (and method gnus-active-hashtb)
                        gnus-active-hashtb
                      (setq gnus-active-hashtb
                            (gnus-make-hashtable 
@@ -13210,6 +13253,8 @@ If FORCE is non-nil, the .newsrc file is read."
   (insert ";; (ding) Gnus startup file.\n")
   (insert ";; Never delete this file - touch .newsrc instead to force Gnus\n")
   (insert ";; to read .newsrc.\n")
+  (insert "(setq gnus-newsrc-file-version "
+         (prin1-to-string gnus-version) ")\n")
   (let ((variables gnus-variable-list)
        (inhibit-quit t)
        (gnus-newsrc-alist (cdr gnus-newsrc-alist))
@@ -13507,7 +13552,7 @@ The following commands are available:
   ;; select method, and return a select method. 
   (cond ((stringp method)
         (gnus-server-to-method method))
-       ((stringp (car method))
+       ((and (stringp (car method)) group)
         (gnus-server-extend-method group method))
        (t
         (gnus-server-add-address method))))
@@ -13883,20 +13928,22 @@ The list is determined from the variable gnus-score-file-alist."
 (defun gnus-score-file-name (newsgroup &optional suffix)
   "Return the name of a score file for NEWSGROUP."
   (let ((suffix (or suffix gnus-score-file-suffix)))
-    (cond  ((or (null newsgroup)
-               (string-equal newsgroup ""))
-           ;; The global score file is placed at top of the directory.
-           (expand-file-name 
-            suffix (or gnus-kill-files-directory "~/News")))
-          ((gnus-use-long-file-name 'not-score)
-           ;; Append ".SCORE" to newsgroup name.
-           (expand-file-name (concat newsgroup "." suffix)
-                             (or gnus-kill-files-directory "~/News")))
-          (t
-           ;; Place "SCORE" under the hierarchical directory.
-           (expand-file-name (concat (gnus-newsgroup-directory-form newsgroup)
-                                     "/" suffix)
-                             (or gnus-kill-files-directory "~/News"))))))
+    (cond 
+     ((or (null newsgroup)
+         (string-equal newsgroup ""))
+      ;; The global score file is placed at top of the directory.
+      (expand-file-name 
+       suffix (or gnus-kill-files-directory "~/News")))
+     ((gnus-use-long-file-name 'not-score)
+      ;; Append ".SCORE" to newsgroup name.
+      (expand-file-name (concat (gnus-newsgroup-saveable-name newsgroup)
+                               "." suffix)
+                       (or gnus-kill-files-directory "~/News")))
+     (t
+      ;; Place "SCORE" under the hierarchical directory.
+      (expand-file-name (concat (gnus-newsgroup-directory-form newsgroup)
+                               "/" suffix)
+                       (or gnus-kill-files-directory "~/News"))))))
 
 (defun gnus-score-search-global-directories (files)
   "Scan all global score directories for score files."
index 02eda05..79750be 100644 (file)
 (defun nnbabyl-insert-newsgroup-line (group-art)
   (save-excursion
     (goto-char (point-min))
-    ;; If there is a C-l at the beginning of the narrowed region, this
-    ;; isn't really a "save", but rather a "scan".
     (while (looking-at "From ")
       (replace-match "Mail-from: From " t t)
       (forward-line 1))
+    ;; If there is a C-l at the beginning of the narrowed region, this
+    ;; isn't really a "save", but rather a "scan".
     (goto-char (point-min))
     (or (looking-at "\^L")
        (save-excursion
        (goto-char (point-min))
        (while (re-search-forward delim nil t)
          (setq start (match-beginning 0))
-         (if (and
-              (save-excursion (re-search-forward delim nil t))
-              (not (search-forward 
-                    "\nX-Gnus-Newsgroup: " 
-                    (save-excursion 
-                      (setq end (or (and (re-search-forward delim nil t)
-                                         (match-beginning 0))
-                                    (point-max)))) t)))
+         (if (not (search-forward 
+                   "\nX-Gnus-Newsgroup: " 
+                   (save-excursion 
+                     (setq end (or (and (re-search-forward delim nil t)
+                                        (match-beginning 0))
+                                   (point-max)))) t))
              (progn
                (goto-char end)
                (save-excursion
                  (save-restriction
                    (goto-char start)
-                   (narrow-to-region (1+ start) end)
-                   (nnbabyl-save-mail))))))
+                   (narrow-to-region start end)
+                   (nnbabyl-save-mail)
+                   (setq end (point-max))))
+               (goto-char end))))
        (and (buffer-modified-p (current-buffer)) (save-buffer))
        (nnmail-save-active nnbabyl-group-alist nnbabyl-active-file)))))
 
index c8d8e81..a142b55 100644 (file)
@@ -48,7 +48,7 @@ Possible values:
              "\\*\\*\\* EOOH \\*\\*\\*\n\\(^.+\n\\)*")
        (list 'digest
              "^------------------------------*[\n \t]+"
-             "^------------------------------[\n \t]+"
+             "^------------------------------*[\n \t]+"
              nil "^ ?$"   
              "^------------------------------*[\n \t]+"
              "^End of" nil))
@@ -243,6 +243,7 @@ Possible values:
   (setq nndoc-group-alist (delq (assoc group nndoc-group-alist)
                                nndoc-group-alist))
   (setq nndoc-current-buffer nil)
+  (setq nndoc-current-server nil)
   t)
 
 (defun nndoc-request-list (&optional server)
@@ -310,8 +311,9 @@ Possible values:
              nil t)
             (match-beginning 1))
            (setq nndoc-digest-type 'rfc1341
-                 boundary-id (buffer-substring-no-properties
-                              (match-beginning 1) (match-end 1))
+                 boundary-id (format "%s"
+                                     (buffer-substring
+                                      (match-beginning 1) (match-end 1)))
                  b-delimiter       (concat "\n--" boundary-id "[\n \t]+")
                  nndoc-article-begin b-delimiter ; Too strict: "[ \t]*$"
                  nndoc-article-end (concat "\n--" boundary-id
index 0453b29..4a66b19 100644 (file)
      ((not (file-exists-p file))
       ;; The file do not exist. 
       nil)
-     ((not (file-regular-p file))
+     ((or (file-directory-p file)
+         (file-symlink-p file))
       ;; It's a dir, so we fudge a head.
       (nneething-make-head file) t)
      (t 
index 5493b1d..8f5ee5b 100644 (file)
@@ -52,7 +52,7 @@
 
 (defun nnkiboze-retrieve-headers (articles &optional group server)
   (nnkiboze-possibly-change-newsgroups group)
-  (if (or gnus-nov-is-evil)
+  (if gnus-nov-is-evil
       nil
     (if (stringp (car articles))
        'headers
@@ -314,7 +314,7 @@ Finds out what articles are to be part of the nnkiboze groups."
              (int-to-string (or (header-chars header) 0)) "\t"
              (int-to-string (or (header-lines header) 0)) "\t")
       (if (or (not xref) (equal "" xref))
-         (insert "Xref " (system-name) " " group ":" 
+         (insert "Xref: " (system-name) " " group ":" 
                  (int-to-string (header-number header))
                  "\t\n")
        (insert (header-xref header) "\t\n")
index 633d1e8..d018d0a 100644 (file)
           (setq incoming 
                 (nnmail-move-inbox 
                  (car spools) (concat nnmbox-mbox-file "-Incoming")))
+          (setq incomings (cons incoming incomings))
           (save-excursion
             (setq group (nnmail-get-split-group (car spools) group-in))
             (let ((in-buf (nnmail-split-incoming 
index 23f58c4..01ed2b6 100644 (file)
@@ -215,7 +215,7 @@ all. This may very well take some time.")
   (nnmail-activate 'nnml)
   (or (assoc group nnml-group-alist)
       (let (active)
-       (setq nnml-group-alist (cons (list group (setq active (cons 0 0)))
+       (setq nnml-group-alist (cons (list group (setq active (cons 1 0)))
                                     nnml-group-alist))
        (nnml-possibly-create-directory group)
        (nnml-possibly-change-directory group)
@@ -272,13 +272,13 @@ all. This may very well take some time.")
          (if (and (or (not nnmail-keep-last-article)
                       (not max-article)
                       (not (= (car articles) max-article)))
-                  (not (equal mod-time '(0 0)))
                   (or force
-                      (setq is-old
-                            (> (nnmail-days-between
-                                (current-time-string)
-                                (current-time-string mod-time))
-                               days))))
+                      (and (not (equal mod-time '(0 0)))
+                           (setq is-old
+                                 (> (nnmail-days-between
+                                     (current-time-string)
+                                     (current-time-string mod-time))
+                                    days)))))
              (progn
                (and gnus-verbose-backends 
                     (message "Deleting article %s..." article))
@@ -423,8 +423,7 @@ all. This may very well take some time.")
       (setq dirs (cons dir dirs))
       (setq dir (file-name-directory (directory-file-name dir))))
     (while dirs
-      (if (make-directory (directory-file-name (car dirs)))
-         (error "Could not create directory %s" (car dirs)))
+      (make-directory (directory-file-name (car dirs)))
       (and gnus-verbose-backends 
           (message "Creating mail directory %s" (car dirs)))
       (setq dirs (cdr dirs)))))
index a403cb7..d1a413f 100644 (file)
@@ -419,7 +419,7 @@ instead call function `nntp-status-message' to get status message.")
                         nntp-status-string))
       (substring nntp-status-string (match-beginning 1) (match-end 1))
     ;; Empty message if nothing.
-    nntp-status-string))
+    (or nntp-status-string "")))
 
 (defun nntp-request-article (id &optional newsgroup server buffer)
   "Request article ID (message-id or number)."
index 2d4870a..404afd0 100644 (file)
@@ -2142,9 +2142,9 @@ into groups.
 
 @vindex nnbabyl-active-file
 @vindex nnbabyl-mbox-file
-The @dfn{nnbabyl} backend will use a babyl mail box to store mail.
-@code{nnbabyl} will add extra headers to each mail article to say which
-group it belongs in.
+The @dfn{nnbabyl} backend will use a babyl mail box (aka. @dfn{rmail
+mbox}) to store mail. @code{nnbabyl} will add extra headers to each mail
+article to say which group it belongs in.
 
 Virtual server settings:
 
@@ -4870,8 +4870,8 @@ Why isn't anything real anymore? How did we get here?
 @section Various Article Stuff 
 
 @table @kbd
-@item W l
-@kindex W l (Summary)
+@item W L
+@kindex W L (Summary)
 @findex gnus-summary-stop-page-breaking
 Remove page breaks from the current article
 (@code{gnus-summary-stop-page-breaking}).