From 1c7e04a9bc9889e0c11d3230df2aab136391d5b5 Mon Sep 17 00:00:00 2001 From: shuhei-k Date: Tue, 28 Apr 1998 06:03:27 +0000 Subject: [PATCH] Sync up with Gnus 5.6.6. --- lisp/ChangeLog | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++ lisp/gnus-art.el | 24 +++++------- lisp/gnus-cache.el | 13 +------ lisp/gnus-draft.el | 4 +- lisp/gnus-msg.el | 10 ++--- lisp/gnus-sum.el | 71 +++++++++++++++++++++-------------- lisp/lpath.el | 6 ++- lisp/message.el | 43 +++++++++++++-------- lisp/nnheader.el | 26 ++++++++----- lisp/nnmail.el | 10 ++--- texi/Makefile.in | 2 +- texi/gnus.texi | 8 +++- 12 files changed, 226 insertions(+), 96 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index feb5648..bd682c9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,108 @@ +Mon Apr 27 00:26:01 1998 Lars Magne Ingebrigtsen + + * gnus.el: Gnus v5.6.6 is released. + +Mon Apr 27 00:07:11 1998 Lars Magne Ingebrigtsen + + * 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 + + * 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 + + * nntp.el (nntp-rlogin-parameters): Doc fix. + +Sun Apr 26 19:21:12 1998 Lars Magne Ingebrigtsen + + * gnus-art.el (gnus-summary-save-in-mail): Not a command. + +Sun Apr 26 19:16:03 1998 James Troup + + * gnus-sum.el (gnus-summary-expire-articles-now): Work. + +Sun Apr 26 14:34:06 1998 Lars Magne Ingebrigtsen + + * 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 + + * nnmail.el (nnmail-move-inbox): Push error'ed mailboxes onto the + list. + +Sun Apr 26 13:01:53 1998 Lars Magne Ingebrigtsen + + * 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 + + * message.el (message-mode): New adaptive fill defaults. + +Sun Apr 26 12:50:38 1998 Jim Radford + + * gnus-start.el (gnus-active-to-gnus-format): Groups that start + with dots. + +1998-04-11 Richard Stallman + + * gnus/gnus-art.el (gnus-emphasis-alist): Use nth, not caddr. + +Sat Apr 25 15:33:57 1998 Kim-Minh Kaplan + + * gnus-sum.el (gnus-build-sparse-threads): Handle loops. + +Sat Apr 25 15:09:54 1998 Lars Magne Ingebrigtsen + + * gnus.el (gnus-valid-select-methods): nngateway is post-mail. + Fri Apr 24 21:32:14 1998 Lars Magne Ingebrigtsen * gnus.el: Gnus v5.6.5 is released. diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index 360bcb9..b4541ae 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -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) diff --git a/lisp/gnus-cache.el b/lisp/gnus-cache.el index 00d1f4a..844c074 100644 --- a/lisp/gnus-cache.el +++ b/lisp/gnus-cache.el @@ -34,16 +34,6 @@ (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) diff --git a/lisp/gnus-draft.el b/lisp/gnus-draft.el index 9f86512..f5e5d6c 100644 --- a/lisp/gnus-draft.el +++ b/lisp/gnus-draft.el @@ -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))) diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index a1bb4c5..23759b3 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -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) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 9262d65..52b5d1e 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -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 . @@ -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))) diff --git a/lisp/lpath.el b/lisp/lpath.el index 7d92912..ebd9174 100644 --- a/lisp/lpath.el +++ b/lisp/lpath.el @@ -41,9 +41,11 @@ 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 diff --git a/lisp/message.el b/lisp/message.el index 010d852..9605ff5 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -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")) @@ -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)) @@ -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 () diff --git a/lisp/nnheader.el b/lisp/nnheader.el index b37b539..dc21b7f 100644 --- a/lisp/nnheader.el +++ b/lisp/nnheader.el @@ -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) diff --git a/lisp/nnmail.el b/lisp/nnmail.el index 2b5fbbc..4e79fc9 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -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)) diff --git a/texi/Makefile.in b/texi/Makefile.in index e3740e2..c205abe 100644 --- a/texi/Makefile.in +++ b/texi/Makefile.in @@ -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 diff --git a/texi/gnus.texi b/texi/gnus.texi index 1f3ca7c..0737bfc 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -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 -- 1.7.10.4