Sync up with Gnus 5.6.6.
authorshuhei-k <shuhei-k>
Tue, 28 Apr 1998 06:03:27 +0000 (06:03 +0000)
committershuhei-k <shuhei-k>
Tue, 28 Apr 1998 06:03:27 +0000 (06:03 +0000)
12 files changed:
lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-cache.el
lisp/gnus-draft.el
lisp/gnus-msg.el
lisp/gnus-sum.el
lisp/lpath.el
lisp/message.el
lisp/nnheader.el
lisp/nnmail.el
texi/Makefile.in
texi/gnus.texi

index feb5648..bd682c9 100644 (file)
@@ -1,3 +1,108 @@
+Mon Apr 27 00:26:01 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Gnus v5.6.6 is released.
+
+Mon Apr 27 00:07:11 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (gnus-request-article-this-buffer): Viewing pseudos
+       in nneething groups bugged.
+
+       * gnus-sum.el (gnus-summary-prepare-threads): Dummy roots and
+       dormants and stuff.
+
+Sun Apr 26 23:34:40 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-cache.el (gnus-cache-file-name): Use FULL.
+
+       * nnheader.el (nnheader-translate-file-chars): Allow FULL
+       parameter.
+
+       * gnus-cache.el (gnus-cache-file-name): Translate all colons.
+
+Sun Apr 26 19:27:56 1998  Justin Sheehy  <justin@linus.mitre.org>
+
+       * nntp.el (nntp-rlogin-parameters): Doc fix.
+
+Sun Apr 26 19:21:12 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-art.el (gnus-summary-save-in-mail): Not a command.
+
+Sun Apr 26 19:16:03 1998  James Troup  <J.J.Troup@scm.brad.ac.uk>
+
+       * gnus-sum.el (gnus-summary-expire-articles-now): Work.
+
+Sun Apr 26 14:34:06 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-sum.el (gnus-build-sparse-threads): Break loops.
+       (gnus-summary-print-article): Save excursion to try to preserve
+       local/bound variable messup.
+
+       * gnus-salt.el (gnus-tree-read-summary-keys): Put point in article
+       buffer.
+
+       * gnus-undo.el (gnus-undo): New group.
+       (gnus-undo-limit): New variable.
+       (gnus-undo-register-1): Use it.
+
+       * gnus-sum.el (gnus-summary-update-info): Don't nix out scores.
+
+       * gnus-start.el (gnus-active-to-gnus-format): Removed "." from
+       quoting. 
+
+       * gnus.el (gnus-cache-directory): Moved here. 
+       (gnus-predefined-server-alist): Use.
+
+       * message.el (message-autosave-directory): Put back in.
+       (message-set-auto-save-file-name): Use if Gnus isn't running.
+
+       * gnus-util.el (gnus-alive-p): Moved here.
+
+       * message.el (message-autosave-directory): Removed.
+       (message-set-auto-save-file-name): Don't use it.
+
+       * gnus.el: Use gnus-buffer-exists-p throughout.
+
+       * gnus-uu.el (gnus-uu-save-article): Use gnus-kill-buffer.
+
+       * message.el (message-make-in-reply-to): Check more for strange
+       From lines.
+
+       * gnus-art.el (gnus-article-mode): Don't nix out vars.
+
+Sun Apr 26 14:05:40 1998  Frank Bennett  <bennett@rumple.soas.ac.uk>
+
+       * nnmail.el (nnmail-move-inbox): Push error'ed mailboxes onto the
+       list. 
+
+Sun Apr 26 13:01:53 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus-score.el (gnus-score-save): Use it.
+
+       * score-mode.el (score-mode-syntax-table): New table.
+
+       * nnmbox.el: Commentary fix.
+
+Sun Apr 26 12:59:00 1998  Richard Stallman  <rms@santafe.edu>
+
+       * message.el (message-mode): New adaptive fill defaults.
+
+Sun Apr 26 12:50:38 1998  Jim Radford  <radford@robby.caltech.edu>
+
+       * gnus-start.el (gnus-active-to-gnus-format): Groups that start
+       with dots.
+
+1998-04-11  Richard Stallman  <rms@sucrose.gnu.org>
+
+       * gnus/gnus-art.el (gnus-emphasis-alist): Use nth, not caddr.
+
+Sat Apr 25 15:33:57 1998  Kim-Minh Kaplan  <KimMinh.Kaplan@utopia.eunet.fr>
+
+       * gnus-sum.el (gnus-build-sparse-threads): Handle loops.
+
+Sat Apr 25 15:09:54 1998  Lars Magne Ingebrigtsen  <larsi@ifi.uio.no>
+
+       * gnus.el (gnus-valid-select-methods): nngateway is post-mail.
+
 Fri Apr 24 21:32:14 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Gnus v5.6.5 is released.
index 360bcb9..b4541ae 100644 (file)
@@ -199,7 +199,7 @@ asynchronously.      The compressed face will be piped to this command."
         (lambda (spec)
           (list
            (format format (car spec) (cadr spec))
-           2 3 (intern (format "gnus-emphasis-%s" (caddr spec)))))
+           2 3 (intern (format "gnus-emphasis-%s" (nth 2 spec)))))
         types)))
   "*Alist that says how to fontify certain phrases.
 Each item looks like this:
@@ -1584,7 +1584,6 @@ This format is defined by the `gnus-article-time-format' variable."
   "Append this article to Rmail file.
 Optional argument FILENAME specifies file name.
 Directory to save to is default to `gnus-article-save-directory'."
-  (interactive)
   (setq filename (gnus-read-save-file-name
                  "Save %s in rmail file:" filename
                  gnus-rmail-save-name gnus-newsgroup-name
@@ -1600,7 +1599,6 @@ Directory to save to is default to `gnus-article-save-directory'."
   "Append this article to Unix mail file.
 Optional argument FILENAME specifies file name.
 Directory to save to is default to `gnus-article-save-directory'."
-  (interactive)
   (setq filename (gnus-read-save-file-name
                  "Save %s in Unix mail file:" filename
                  gnus-mail-save-name gnus-newsgroup-name
@@ -1619,7 +1617,6 @@ Directory to save to is default to `gnus-article-save-directory'."
   "Append this article to file.
 Optional argument FILENAME specifies file name.
 Directory to save to is default to `gnus-article-save-directory'."
-  (interactive)
   (setq filename (gnus-read-save-file-name
                  "Save %s in file:" filename
                  gnus-file-save-name gnus-newsgroup-name
@@ -1638,14 +1635,12 @@ Directory to save to is default to `gnus-article-save-directory'."
   "Write this article to a file.
 Optional argument FILENAME specifies file name.
 The directory to save in defaults to `gnus-article-save-directory'."
-  (interactive)
   (gnus-summary-save-in-file nil t))
 
 (defun gnus-summary-save-body-in-file (&optional filename)
   "Append this article body to a file.
 Optional argument FILENAME specifies file name.
 The directory to save in defaults to `gnus-article-save-directory'."
-  (interactive)
   (setq filename (gnus-read-save-file-name
                  "Save %s body in file:" filename
                  gnus-file-save-name gnus-newsgroup-name
@@ -1662,7 +1657,6 @@ The directory to save in defaults to `gnus-article-save-directory'."
 
 (defun gnus-summary-save-in-pipe (&optional command)
   "Pipe this article to subprocess."
-  (interactive)
   (setq command
        (cond ((eq command 'default)
               gnus-last-shell-command)
@@ -1892,9 +1886,9 @@ commands:
   (use-local-map gnus-article-mode-map)
   (gnus-update-format-specifications nil 'article-mode)
   (set (make-local-variable 'page-delimiter) gnus-page-delimiter)
-  (set (make-local-variable 'gnus-page-broken) nil)
-  (set (make-local-variable 'gnus-button-marker-list) nil)
-  (set (make-local-variable 'gnus-article-current-summary) nil)
+  (make-local-variable 'gnus-page-broken) 
+  (make-local-variable 'gnus-button-marker-list) 
+  (make-local-variable 'gnus-article-current-summary) 
   (gnus-set-default-directory)
   (buffer-disable-undo (current-buffer))
   (setq buffer-read-only t)
@@ -2408,7 +2402,7 @@ If given a prefix, show the hidden text instead."
          (when (and (numberp article)
                     gnus-summary-buffer
                     (get-buffer gnus-summary-buffer)
-                    (buffer-name (get-buffer gnus-summary-buffer)))
+                    (gnus-buffer-exists-p gnus-summary-buffer))
            (save-excursion
              (set-buffer gnus-summary-buffer)
              (let ((header (gnus-summary-article-header article)))
@@ -2432,8 +2426,8 @@ If given a prefix, show the hidden text instead."
 
                (let ((method (gnus-find-method-for-group
                               gnus-newsgroup-name)))
-                 (if (not (eq (car method) 'nneething))
-                     ()
+                 (when (and (eq (car method) 'nneething)
+                            (vectorp header))
                    (let ((dir (concat (file-name-as-directory (nth 1 method))
                                       (mail-header-subject header))))
                      (when (file-directory-p dir)
@@ -2445,7 +2439,7 @@ If given a prefix, show the hidden text instead."
           ((and (numberp article)
                 gnus-summary-buffer
                 (get-buffer gnus-summary-buffer)
-                (buffer-name (get-buffer gnus-summary-buffer))
+                (gnus-buffer-exists-p gnus-summary-buffer)
                 (eq (cdr (save-excursion
                            (set-buffer gnus-summary-buffer)
                            (assq article gnus-newsgroup-reads)))
@@ -2502,7 +2496,7 @@ If given a prefix, show the hidden text instead."
                        (buffer-name (get-buffer gnus-article-buffer))))
        (save-excursion
          (if (get-buffer gnus-original-article-buffer)
-             (set-buffer (get-buffer gnus-original-article-buffer))
+             (set-buffer gnus-original-article-buffer)
            (set-buffer (get-buffer-create gnus-original-article-buffer))
            (buffer-disable-undo (current-buffer))
            (setq major-mode 'gnus-original-article-mode)
index 00d1f4a..844c074 100644 (file)
 (eval-when-compile
   (require 'gnus-sum))
 
-(defgroup gnus-cache nil
-  "Cache interface."
-  :group 'gnus)
-
-(defcustom gnus-cache-directory
-  (nnheader-concat gnus-directory "cache/")
-  "*The directory where cached articles will be stored."
-  :group 'gnus-cache
-  :type 'directory)
-
 (defcustom gnus-cache-active-file
   (concat (file-name-as-directory gnus-cache-directory) "active")
   "*The cache active file."
@@ -409,7 +399,8 @@ Returns the list of articles removed."
                ;; Translate the first colon into a slash.
                (when (string-match ":" group)
                  (aset group (match-beginning 0) ?/))
-               (nnheader-replace-chars-in-string group ?. ?/)))))
+               (nnheader-replace-chars-in-string group ?. ?/)))
+           t))
          (if (stringp article) article (int-to-string article))))
 
 (defun gnus-cache-update-article (group article)
index 9f86512..f5e5d6c 100644 (file)
@@ -97,9 +97,9 @@
     (gnus-draft-setup article gnus-newsgroup-name)
     (push
      `((lambda ()
-        (when (buffer-name (get-buffer ,gnus-summary-buffer))
+        (when (gnus-buffer-exists-p ,gnus-summary-buffer)
           (save-excursion
-            (set-buffer (get-buffer ,gnus-summary-buffer))
+            (set-buffer ,gnus-summary-buffer)
             (gnus-cache-possibly-remove-article ,article nil nil nil t)))))
      message-send-actions)))
 
index a1bb4c5..23759b3 100644 (file)
@@ -196,9 +196,9 @@ Thank you for your help in stamping out bugs.
   (message-add-action
    `(set-window-configuration ,winconf) 'exit 'postpone 'kill)
   (message-add-action
-   `(when (buffer-name (get-buffer ,buffer))
+   `(when (gnus-buffer-exists-p ,buffer)
       (save-excursion
-       (set-buffer (get-buffer ,buffer))
+       (set-buffer ,buffer)
        ,(when article
           `(gnus-summary-mark-article-as-replied ,article))))
    'send))
@@ -320,9 +320,9 @@ header line with the old Message-ID."
       (message-supersede)
       (push
        `((lambda ()
-          (when (buffer-name (get-buffer ,gnus-summary-buffer))
+          (when (gnus-buffer-exists-p ,gnus-summary-buffer)
             (save-excursion
-              (set-buffer (get-buffer ,gnus-summary-buffer))
+              (set-buffer ,gnus-summary-buffer)
               (gnus-cache-possibly-remove-article ,article nil nil nil t)
               (gnus-summary-mark-as-read ,article gnus-canceled-mark)))))
        message-send-actions))))
@@ -341,7 +341,7 @@ header line with the old Message-ID."
   (let ((article-buffer (or article-buffer gnus-article-buffer))
        end beg contents)
     (if (not (and (get-buffer article-buffer)
-                 (buffer-name (get-buffer article-buffer))))
+                 (gnus-buffer-exists-p article-buffer)))
        (error "Can't find any article buffer")
       (save-excursion
        (set-buffer article-buffer)
index 9262d65..52b5d1e 100644 (file)
@@ -2440,9 +2440,7 @@ marks of articles."
 (defun gnus-update-summary-mark-positions ()
   "Compute where the summary marks are to go."
   (save-excursion
-    (when (and gnus-summary-buffer
-              (get-buffer gnus-summary-buffer)
-              (buffer-name (get-buffer gnus-summary-buffer)))
+    (when (gnus-buffer-exists-p gnus-summary-buffer)
       (set-buffer gnus-summary-buffer))
     (let ((gnus-replied-mark 129)
          (gnus-score-below-mark 130)
@@ -2971,7 +2969,7 @@ If NO-DISPLAY, don't generate a summary buffer."
   (let ((headers gnus-newsgroup-headers)
        (deps gnus-newsgroup-dependencies)
        header references generation relations
-       cthread subject child end pthread relation new-child)
+       cthread subject child end pthread relation new-child children)
     ;; First we create an alist of generations/relations, where
     ;; generations is how much we trust the relation, and the relation
     ;; is parent/child.
@@ -2988,12 +2986,20 @@ If NO-DISPLAY, don't generate a summary buffer."
          (while (search-backward ">" nil t)
            (setq end (1+ (point)))
            (when (search-backward "<" nil t)
-             (unless (string= (setq new-child (buffer-substring (point) end))
-                              child)
+             ;; This is a rather weak for of loop-checking, but if
+             ;; an article contains the same Message-ID twice in
+             ;; the References header, this will catch it.  I haven't
+             ;; considered other forms of thread loop preventions,
+             ;; though -- I think one should probably go through
+             ;; the entire thread after building it and break
+             ;; any loops that are found.
+             (unless (member (setq new-child (buffer-substring (point) end))
+                              children)
                (push (list (incf generation)
                            child (setq child new-child)
                            subject)
-                     relations))))
+                     relations)
+               (push child children))))
          (push (list (1+ generation) child nil subject) relations)
          (erase-buffer)))
       (kill-buffer (current-buffer)))
@@ -3531,7 +3537,6 @@ or a straight list of headers."
       (while (or threads stack gnus-tmp-new-adopts new-roots)
 
        (if (and (= gnus-tmp-level 0)
-                (not (setq gnus-tmp-dummy-line nil))
                 (or (not stack)
                     (= (caar stack) 0))
                 (not gnus-tmp-false-parent)
@@ -4792,7 +4797,7 @@ If EXCLUDE-GROUP, do not go to this group."
     (save-excursion
       (gnus-group-best-unread-group exclude-group))))
 
-(defun gnus-summary-find-next (&optional unread article backward)
+(defun gnus-summary-find-next (&optional unread article backward undownloaded)
   (if backward (gnus-summary-find-prev)
     (let* ((dummy (gnus-summary-article-intangible-p))
           (article (or article (gnus-summary-article-number)))
@@ -4807,7 +4812,10 @@ If EXCLUDE-GROUP, do not go to this group."
                  (if unread
                      (progn
                        (while arts
-                         (when (gnus-data-unread-p (car arts))
+                         (when (or (and undownloaded
+                                        (eq gnus-undownloaded-mark
+                                            (gnus-data-mark (car arts))))
+                                   (gnus-data-unread-p (car arts)))
                            (setq result (car arts)
                                  arts nil))
                          (setq arts (cdr arts)))
@@ -5061,10 +5069,12 @@ The prefix argument ALL means to select all articles."
                 t)))
        (unless (listp (cdr gnus-newsgroup-killed))
          (setq gnus-newsgroup-killed (list gnus-newsgroup-killed)))
-       (let ((headers gnus-newsgroup-headers))
-         (when (and (not gnus-save-score)
-                    (not non-destructive))
-           (setq gnus-newsgroup-scored nil))
+       (let ((headers gnus-newsgroup-headers)
+             (gnus-newsgroup-scored 
+              (if (and (not gnus-save-score)
+                       (not non-destructive))
+                  nil
+                gnus-newsgroup-scored)))
          ;; Set the new ranges of read articles.
          (save-excursion
            (set-buffer gnus-group-buffer)
@@ -5327,14 +5337,12 @@ which existed when entering the ephemeral is reset."
        (gnus-kill-buffer gnus-original-article-buffer)))
     (cond (gnus-kill-summary-on-exit
           (when (and gnus-use-trees
-                     (and (get-buffer buffer)
-                          (buffer-name (get-buffer buffer))))
+                     (gnus-buffer-exists-p buffer))
             (save-excursion
-              (set-buffer (get-buffer buffer))
+              (set-buffer buffer)
               (gnus-tree-close gnus-newsgroup-name)))
           (gnus-kill-buffer buffer))
-         ((and (get-buffer buffer)
-               (buffer-name (get-buffer buffer)))
+         ((gnus-buffer-exists-p buffer)
           (save-excursion
             (set-buffer buffer)
             (gnus-deaden-summary))))))
@@ -5438,7 +5446,7 @@ If prefix argument NO-ARTICLE is non-nil, no article is selected initially."
 
 ;; Walking around summary lines.
 
-(defun gnus-summary-first-subject (&optional unread)
+(defun gnus-summary-first-subject (&optional unread undownloaded)
   "Go to the first unread subject.
 If UNREAD is non-nil, go to the first unread article.
 Returns the article selected or nil if there are no unread articles."
@@ -5461,7 +5469,10 @@ Returns the article selected or nil if there are no unread articles."
        (t
        (let ((data gnus-newsgroup-data))
          (while (and data
-                     (not (gnus-data-unread-p (car data))))
+                     (and (not (and undownloaded
+                                    (eq gnus-undownloaded-mark
+                                        (gnus-data-mark (car data)))))
+                          (not (gnus-data-unread-p (car data)))))
            (setq data (cdr data)))
          (when data
            (goto-char (gnus-data-pos (car data)))
@@ -5748,6 +5759,9 @@ article."
   (let ((article (gnus-summary-article-number))
        (article-window (get-buffer-window gnus-article-buffer t))
        endp)
+    ;; If the buffer is empty, we have no article.
+    (unless article
+      (error "No article to select"))
     (gnus-configure-windows 'article)
     (if (eq (cdr (assq article gnus-newsgroup-reads)) gnus-canceled-mark)
        (if (and (eq gnus-summary-goto-unread 'never)
@@ -6813,7 +6827,8 @@ to save in."
                      (concat "("
                              (mail-header-date gnus-current-headers) ")"))))
                (gnus-run-hooks 'gnus-ps-print-hook)
-               (ps-print-buffer-with-faces filename)))
+               (save-excursion
+                 (ps-print-buffer-with-faces filename))))
          (kill-buffer buffer))))))
 
 (defun gnus-summary-show-article (&optional arg)
@@ -7301,10 +7316,10 @@ This will be the case if the article has both been mailed and posted."
 This means that *all* articles that are marked as expirable will be
 deleted forever, right now."
   (interactive)
-  (unless gnus-expert-user
-    (gnus-yes-or-no-p
-     "Are you really, really, really sure you want to delete all these messages? ")
-    (error "Phew!"))
+  (or gnus-expert-user
+      (gnus-yes-or-no-p
+       "Are you really, really, really sure you want to delete all these messages? ")
+      (error "Phew!"))
   (gnus-summary-expire-articles t))
 
 ;; Suggested by Jack Vinson <vinson@unagi.cis.upenn.edu>.
@@ -8068,11 +8083,11 @@ The number of articles marked as read is returned."
            ;; We actually mark all articles as canceled, which we
            ;; have to do when using auto-expiry or adaptive scoring.
            (gnus-summary-show-all-threads)
-           (when (gnus-summary-first-subject (not all))
+           (when (gnus-summary-first-subject (not all) t)
              (while (and
                      (if to-here (< (point) to-here) t)
                      (gnus-summary-mark-article-as-read gnus-catchup-mark)
-                     (gnus-summary-find-next (not all)))))
+                     (gnus-summary-find-next (not all) nil nil t))))
            (gnus-set-mode-line 'summary))
          t))
     (gnus-summary-position-point)))
index 7d92912..ebd9174 100644 (file)
                    mouse-selection-click-count-buffer buffer-display-table
                    font-lock-defaults user-full-name user-login-name
                    gnus-newsgroup-name gnus-article-x-face-too-ugly
-                   mail-mode-hook enable-multibyte-characters)))
+                   mail-mode-hook enable-multibyte-characters
+                   adaptive-fill-first-line-regexp adaptive-fill-regexp)))
   (maybe-bind '(mail-mode-hook
-               enable-multibyte-characters browse-url-browser-function))
+               enable-multibyte-characters browse-url-browser-function
+               adaptive-fill-first-line-regexp adaptive-fill-regexp))
   (maybe-fbind '(color-instance-rgb-components
                 make-color-instance color-instance-name specifier-instance
                 device-type device-class get-popup-menu-response event-object
index 010d852..9605ff5 100644 (file)
@@ -279,13 +279,6 @@ If t, use `message-user-organization-file'."
   :type 'file
   :group 'message-headers)
 
-(defcustom message-autosave-directory
-  (nnheader-concat message-directory "drafts/")
-  "*Directory where Message autosaves buffers.
-If nil, Message won't autosave."
-  :group 'message-buffers
-  :type 'directory)
-
 (defcustom message-forward-start-separator
   (concat (mime-make-tag "message" "rfc822") "\n")
   "*Delimiter inserted before forwarded messages."
@@ -638,6 +631,13 @@ the prefix.")
 The default is `abbrev', which uses mailabbrev.  nil switches
 mail aliases off.")
 
+(defcustom message-autosave-directory
+  (nnheader-concat message-directory "drafts/")
+  "*Directory where Message autosaves buffers if Gnus isn't running.
+If nil, Message won't autosave."
+  :group 'message-buffers
+  :type 'directory)
+
 ;;; Internal variables.
 ;;; Well, not really internal.
 
@@ -938,6 +938,7 @@ The cdr of ech entry is a function for applying the face to a region.")
   (autoload 'nndraft-request-expire-articles "nndraft")
   (autoload 'gnus-open-server "gnus-int")
   (autoload 'gnus-request-post "gnus-int")
+  (autoload 'gnus-alive-p "gnus-util")
   (autoload 'rmail-output "rmail"))
 
 \f
@@ -1307,7 +1308,7 @@ C-c C-r  message-caesar-buffer-body (rot13 the message body)."
        (concat (regexp-quote mail-header-separator)
                "$\\|[ \t]*[-_][-_][-_]+$\\|"
                "-- $\\|"
-               ;;!!! Uhm... shurely this can't be right.
+               ;;!!! Uhm... shurely this can't be right?
                "[> " (regexp-quote message-yank-prefix) "]+$\\|"
                paragraph-start))
   (setq paragraph-separate
@@ -1340,6 +1341,15 @@ C-c C-r  message-caesar-buffer-body (rot13 the message body)."
   (unless (string-match "XEmacs" emacs-version)
     (set (make-local-variable 'font-lock-defaults)
         '(message-font-lock-keywords t)))
+  (make-local-variable 'adaptive-fill-regexp)
+  (setq adaptive-fill-regexp
+       (concat "[ \t]*[-a-z0-9A-Z]*>+[ \t]*\\|" adaptive-fill-regexp))
+  (unless (boundp 'adaptive-fill-first-line-regexp)
+    (setq adaptive-fill-first-line-regexp nil))
+  (make-local-variable 'adaptive-fill-first-line-regexp)
+  (setq adaptive-fill-first-line-regexp
+       (concat "[ \t]*[-a-z0-9A-Z]*>+[ \t]*\\|"
+               adaptive-fill-first-line-regexp))
   (run-hooks 'text-mode-hook 'message-mode-hook))
 
 \f
@@ -1632,11 +1642,7 @@ name, rather than giving an automatic name."
             (name-default (concat "*message* " mail-trimmed-to))
             (name (if enter-string
                       (read-string "New buffer name: " name-default)
-                    name-default))
-            (default-directory
-              (if message-autosave-directory
-                  (file-name-as-directory message-autosave-directory)
-                default-directory)))
+                    name-default)))
        (rename-buffer name t)))))
 
 (defun message-fill-yanked-message (&optional justifyp)
@@ -2816,7 +2822,9 @@ to find out how to use this."
       (when from
        (let ((stop-pos
               (string-match "  *at \\|  *@ \\| *(\\| *<" from)))
-         (concat (if stop-pos (substring from 0 stop-pos) from)
+         (concat (if (and stop-pos
+                          (not (zerop stop-pos)))
+                     (substring from 0 stop-pos) from)
                  "'s message of \""
                  (if (or (not date) (string= date ""))
                      "(unknown date)" date)
@@ -3309,7 +3317,12 @@ Headers already prepared in the buffer are not modified."
 (defun message-set-auto-save-file-name ()
   "Associate the message buffer with a file in the drafts directory."
   (when message-autosave-directory
-    (setq message-draft-article (nndraft-request-associate-buffer "drafts"))
+    (if (gnus-alive-p)
+       (setq message-draft-article
+             (nndraft-request-associate-buffer "drafts"))
+      (setq buffer-file-name (expand-file-name "*message*"
+                                              message-autosave-directory))
+      (setq buffer-auto-save-file-name (make-auto-save-file-name)))
     (clear-visited-file-modtime)))
 
 (defun message-disassociate-draft ()
index b37b539..dc21b7f 100644 (file)
@@ -595,21 +595,27 @@ If FILE is t, return the buffer contents as a string."
   "Fold continuation lines in the current buffer."
   (nnheader-replace-regexp "\\(\r?\n[ \t]+\\)+" " "))
 
-(defun nnheader-translate-file-chars (file)
+(defun nnheader-translate-file-chars (file &optional full)
+  "Translate FILE into something that can be a file name.
+If FULL, translate everything."
   (if (null nnheader-file-name-translation-alist)
       ;; No translation is necessary.
       file
-    ;; We translate -- but only the file name.  We leave the directory
-    ;; alone.
     (let* ((i 0)
           trans leaf path len)
-      (if (string-match "/[^/]+\\'" file)
-         ;; This is needed on NT's and stuff.
-         (setq leaf (substring file (1+ (match-beginning 0)))
-               path (substring file 0 (1+ (match-beginning 0))))
-       ;; Fall back on this.
-       (setq leaf (file-name-nondirectory file)
-             path (file-name-directory file)))
+      (if full
+         ;; Do complete translation.
+         (setq leaf file
+               path "")
+       ;; We translate -- but only the file name.  We leave the directory
+       ;; alone.
+       (if (string-match "/[^/]+\\'" file)
+           ;; This is needed on NT's and stuff.
+           (setq leaf (substring file (1+ (match-beginning 0)))
+                 path (substring file 0 (1+ (match-beginning 0))))
+         ;; Fall back on this.
+         (setq leaf (file-name-nondirectory file)
+               path (file-name-directory file))))
       (setq len (length leaf))
       (while (< i len)
        (when (setq trans (cdr (assq (aref leaf i)
index 2b5fbbc..4e79fc9 100644 (file)
@@ -343,7 +343,7 @@ messages will be shown to indicate the current status."
   "Incoming mail can be split according to this fancy variable.
 To enable this, set `nnmail-split-methods' to `nnmail-split-fancy'.
 
-The format is this variable is SPLIT, where SPLIT can be one of
+The format of this variable is SPLIT, where SPLIT can be one of
 the following:
 
 GROUP: Mail will be stored in GROUP (a string).
@@ -636,14 +636,14 @@ parameter.  It should return nil, `warn' or `delete'."
                             nil errors nil inbox tofile)
                            (when nnmail-internal-password
                              (list nnmail-internal-password)))))))
+               (push inbox nnmail-moved-inboxes)
                (if (and (not (buffer-modified-p errors))
                         (zerop result))
                    ;; No output => movemail won
                    (progn
                      (unless popmail
                        (when (file-exists-p tofile)
-                         (set-file-modes tofile nnmail-default-file-modes)))
-                     (push inbox nnmail-moved-inboxes))
+                         (set-file-modes tofile nnmail-default-file-modes))))
                  (set-buffer errors)
                  ;; There may be a warning about older revisions.  We
                  ;; ignore those.
@@ -652,8 +652,8 @@ parameter.  It should return nil, `warn' or `delete'."
                      (progn
                        (unless popmail
                          (when (file-exists-p tofile)
-                           (set-file-modes tofile nnmail-default-file-modes)))
-                       (push inbox nnmail-moved-inboxes))
+                           (set-file-modes
+                            tofile nnmail-default-file-modes))))
                    ;; Probably a real error.
                    (subst-char-in-region (point-min) (point-max) ?\n ?\  )
                    (goto-char (point-max))
index e3740e2..c205abe 100644 (file)
@@ -30,7 +30,7 @@ most: texi2latex.elc latex latexps
          makeinfo -o $* $<; \
        fi
 
-dvi: gnus.dvi message.dvi
+dvi: gnus.dvi message.dvi refcard.dvi
 
 .texi.dvi :
        $(PERL) -n -e 'print unless (/\@iflatex/ .. /\@end iflatex/)' $< > gnustmp.texi
index 1f3ca7c..0737bfc 100644 (file)
@@ -3836,6 +3836,8 @@ command understands the process/prefix convention
 
 @end table
 
+Also @pxref{(message)Header Commands} for more information.
+
 
 @node Summary Post Commands
 @subsection Summary Post Commands
@@ -3910,6 +3912,8 @@ Uuencode a file, split it into parts, and post it as a series
 (@code{gnus-uu-post-news}). (@pxref{Uuencoding and Posting}).
 @end table
 
+Also @pxref{(message)Header Commands} for more information.
+
 
 @node Canceling and Superseding
 @section Canceling Articles
@@ -15710,7 +15714,7 @@ actually are people who are using Gnus.  Who'd'a thunk it!
 * ding Gnus::          New things in Gnus 5.0/5.1, the first new Gnus.
 * September Gnus::     The Thing Formally Known As Gnus 5.3/5.3.
 * Red Gnus::           Third time best---Gnus 5.4/5.5.
-* Quassia Gnus::       Two times two is four, or Gnus 5.6.5.
+* Quassia Gnus::       Two times two is four, or Gnus 5.6.6.
 @end menu
 
 These lists are, of course, just @emph{short} overviews of the
@@ -16245,7 +16249,7 @@ Emphasized text can be properly fontisized:
 @node Quassia Gnus
 @subsubsection Quassia Gnus
 
-New features in Gnus 5.6.5:
+New features in Gnus 5.6.6:
 
 @itemize @bullet