From: yamaoka Date: Tue, 28 Sep 1999 01:15:10 +0000 (+0000) Subject: Sync up with Pterodactyl Gnus v0.97. X-Git-Tag: t-gnus-6_13_2-00~2 X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1067fee1328ed49cf7ac0074cafcb57aaec3bad0;p=elisp%2Fgnus.git- Sync up with Pterodactyl Gnus v0.97. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b0c1665..14ba45e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,143 @@ +Mon Sep 27 15:18:05 1999 Lars Magne Ingebrigtsen + + * gnus.el: Pterodactyl Gnus v0.97 is released. + +1999-09-01 Brendan Kehoe + + * gnus-sum.el (gnus-summary-catchup-and-goto-next-group): Use + gnus-summary-next-group, not gnus-summary-next-article. Only give + 3 args. + +1999-09-25 08:07:57 Lars Magne Ingebrigtsen + + * gnus-agent.el (gnus-agent-fetch-group-1): Look in the group + buffer for params. + + * gnus-xmas.el (gnus-xmas-summary-recenter): Display one more + line. + + * message.el (message-forward-ignored-headers): New variable. + + * gnus-art.el (gnus-article-prepare-display): Nix out + gnus-article-wash-types. + + * gnus-agent.el (gnus-agent-create-buffer): New function. + (gnus-agent-fetch-group-1): Use it. + (gnus-agent-start-fetch): Ditto. + + * gnus-sum.el (gnus-summary-exit): Don't use + `gnus-use-adaptive-scoring'. + + * mail-source.el (mail-source-fetch-pop): Only store password when + successful. + + * gnus-nocem.el (gnus-nocem-scan-groups): Message better. + +1999-09-24 18:43:23 Lars Magne Ingebrigtsen + + * message.el (message-reply): Use it. + (message-dont-reply-to-names): New variable. + + * nntp.el (nntp-open-telnet): Don't erase-buffer. + + * mm-util.el (mm-preferred-coding-system): Typo fix. + + * message.el (message-bounce): Work for non-MIME. + + * gnus.el (gnus-short-group-name): Short the right parts of the + name. + +1999-09-24 18:17:48 Johan Kullstam + + * mm-encode.el (mm-qp-or-base64): New version. + +1999-09-10 Shenghuo ZHU + + * gnus-art.el (article-make-date-line): Fix time-zone bug. + +1999-09-09 Shenghuo ZHU + + * gnus-art.el (gnus-article-add-buttons): Don't delete markers out + of restricted region. + (gnus-mime-display-single): Set beg at correct point. + +1999-09-09 Shenghuo ZHU + + * nnmail.el (nnmail-process-maildir-mail-format): Typo. + +1999-09-09 Jens-Ulrik Petersen + + * gnus-msg.el (gnus-configure-posting-styles): Let + `gnus-posting-styles' have its say in posting-style: local + variable `styles' is already bound to `gnus-posting-styles' so + don't rebind it to nil. + +1999-09-24 18:10:56 Robert Bihlmeyer + + * gnus-score.el (gnus-summary-increase-score): Allow editing of + Message-ID. + +1999-09-08 Shenghuo ZHU + + * mm-encode.el (mm-encode-content-transfer-encoding): Fold + quoted-printable-encode-region. + + * qp.el (quoted-printable-encode-region): Assume charset + encoded. Fold every line in the region. + +1999-09-02 Shenghuo ZHU + + * gnus-srvr.el (gnus-browse-foreign-server): Read the first line + of active file. + +1999-09-01 Didier Verna + + * message.el (message-mode): allows whitespaces between multiple + instances of the fill character ">". + +1999-09-24 18:02:50 Kim-Minh Kaplan + + * mm-encode.el (mm-qp-or-base64): Fix. + +1999-09-01 12:18:01 Katsumi Yamaoka + + * message.el (message-send): Too much and. + +1999-09-24 17:58:07 Andreas Schwab + + * gnus-art.el (gnus-mime-view-part-as-type): Renamed. + +1999-08-28 12:44:20 Lars Magne Ingebrigtsen + + * gnus-score.el (gnus-score-headers): Work for nil scores. + +1999-08-27 20:46:11 Lars Magne Ingebrigtsen + + * gnus-cache.el (gnus-cache-write-active): Write full names. + + * gnus-util.el (gnus-write-active-file): Accept full name. + + * mm-decode.el (mm-inlinable-p): Use string-match on the types. + (mm-assoc-string-match): New function. + (mm-display-inline): Use it. + + * gnus-group.el (gnus-group-set-info): Work for nil group params. + + * gnus-msg.el (gnus-configure-posting-styles): Allow eval. + +1999-08-27 19:08:10 Florian Weimer + + * mml.el (mml-generate-multipart-alist): New variable. + +1999-08-27 15:30:02 Lars Magne Ingebrigtsen + + * gnus-art.el (gnus-treat-predicate): Work for (not 5). + +1999-08-27 Peter von der Ahé + + * message.el (message-send): More helpful error message if sending + fails + Fri Aug 27 13:17:48 1999 Lars Magne Ingebrigtsen * gnus.el: Pterodactyl Gnus v0.96 is released. diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el index 47ad92a..3c092fc 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -119,12 +119,20 @@ fetched will be limited to it. If not a positive integer, never consider it." (setq gnus-agent t) (gnus-agent-read-servers) (gnus-category-read) - (setq gnus-agent-overview-buffer - (gnus-get-buffer-create " *Gnus agent overview*")) + (gnus-agent-create-buffer) (add-hook 'gnus-group-mode-hook 'gnus-agent-mode) (add-hook 'gnus-summary-mode-hook 'gnus-agent-mode) (add-hook 'gnus-server-mode-hook 'gnus-agent-mode)) +(defun gnus-agent-create-buffer () + (if (gnus-buffer-live-p gnus-agent-overview-buffer) + t + (setq gnus-agent-overview-buffer + (gnus-get-buffer-create " *Gnus agent overview*")) + (with-current-buffer gnus-agent-overview-buffer + (set-buffer-multibyte t)) + nil)) + (gnus-add-shutdown 'gnus-close-agent 'gnus) (defun gnus-close-agent () @@ -166,7 +174,8 @@ fetched will be limited to it. If not a positive integer, never consider it." (defun gnus-agent-start-fetch () "Initialize data structures for efficient fetching." (gnus-agent-open-history) - (setq gnus-agent-current-history (gnus-agent-history-buffer))) + (setq gnus-agent-current-history (gnus-agent-history-buffer)) + (gnus-agent-create-buffer)) (defun gnus-agent-stop-fetch () "Save all data structures and clean up." @@ -979,13 +988,7 @@ the actual number of articles toggled is returned." group))) ;; `gnus-agent-overview-buffer' may be killed for ;; timeout reason. If so, recreate it. - (if (gnus-buffer-live-p gnus-agent-overview-buffer) - t - (setq gnus-agent-overview-buffer - (gnus-get-buffer-create " *Gnus agent overview*")) - (with-current-buffer gnus-agent-overview-buffer - (set-buffer-multibyte t)) - nil))) + (gnus-agent-create-buffer))) (setq category (gnus-group-category group)) (setq predicate (gnus-get-predicate diff --git a/lisp/gnus-art.el b/lisp/gnus-art.el index ee3b041..b1ef891 100644 --- a/lisp/gnus-art.el +++ b/lisp/gnus-art.el @@ -428,7 +428,7 @@ beginning of a line." :type 'regexp :group 'gnus-article-various) -(defcustom gnus-article-mode-line-format "Gnus: %g %S%m" +(defcustom gnus-article-mode-line-format "Gnus: %g [%w] %S%m" "*The format specification for the article mode line. See `gnus-summary-mode-line-format' for a closer description. @@ -1962,6 +1962,9 @@ should replace the \"Date:\" one, or should be added below it." ;; If Date is missing, try again for X-Sent. (re-search-forward "^X-Sent:[ \t]" nil t)) (setq bface (get-text-property (gnus-point-at-bol) 'face) + date (or (get-text-property (gnus-point-at-bol) + 'original-date) + date) eface (get-text-property (1- (gnus-point-at-eol)) 'face))) (let ((buffer-read-only nil)) @@ -2001,6 +2004,8 @@ should replace the \"Date:\" one, or should be added below it." ;; Do highlighting. (when (looking-at "\\([^:]+\\): *\\(.*\\)$") (put-text-property (match-beginning 1) (1+ (match-end 1)) + 'original-date date) + (put-text-property (match-beginning 1) (1+ (match-end 1)) 'face bface) (put-text-property (match-beginning 2) (match-end 2) 'face eface)))))))) @@ -2016,9 +2021,10 @@ should replace the \"Date:\" one, or should be added below it." ;; functions since they aren't particularly resistant to ;; buggy dates. ((eq type 'local) - (let ((tz (car (current-time-zone)))) + (let ((tz (car (current-time-zone time)))) (format "Date: %s %s%02d%02d" (current-time-string time) - (if (> tz 0) "+" "-") (/ tz 3600) (/ (% tz 3600) 60)))) + (if (> tz 0) "+" "-") (/ (abs tz) 3600) + (/ (% (abs tz) 3600) 60)))) ;; Convert to Universal Time. ((eq type 'ut) (concat "Date: " @@ -2026,7 +2032,7 @@ should replace the \"Date:\" one, or should be added below it." (let* ((e (parse-time-string date)) (tm (apply 'encode-time e)) (ms (car tm)) - (ls (- (cadr tm) (car (current-time-zone))))) + (ls (- (cadr tm) (car (current-time-zone time))))) (cond ((< ls 0) (list (1- ms) (+ ls 65536))) ((> ls 65535) (list (1+ ms) (- ls 65536))) (t (list ms ls))))) @@ -2967,6 +2973,7 @@ If ALL-HEADERS is non-nil, no headers are hidden." ;;;###autoload (defun gnus-article-prepare-display () "Make the current buffer look like a nice article." + (setq gnus-article-wash-types nil) (gnus-run-hooks 'gnus-tmp-internal-hook) (gnus-run-hooks 'gnus-article-prepare-hook) ;; Display message. @@ -3116,7 +3123,7 @@ value of the variable `gnus-show-mime' is non-nil." (let ((data (get-text-property (point) 'gnus-data))) (mm-interactively-view-part data))) -(defun gnus-mime-view-part-as-media () +(defun gnus-mime-view-part-as-type () "Choose a MIME media type, and view the part as such." (interactive (list (completing-read "View as MIME type: " mailcap-mime-types))) @@ -3470,7 +3477,8 @@ value of the variable `gnus-show-mime' is non-nil." (cond (display (when move - (forward-line -2)) + (forward-line -2) + (setq beg (point))) (let ((mail-parse-charset gnus-newsgroup-charset) (mail-parse-ignored-charsets (save-excursion (set-buffer gnus-summary-buffer) @@ -3479,7 +3487,8 @@ value of the variable `gnus-show-mime' is non-nil." (goto-char (point-max))) ((and text not-attachment) (when move - (forward-line -2)) + (forward-line -2) + (setq beg (point))) (gnus-article-insert-newline) (mm-insert-inline handle (mm-get-part handle)) (goto-char (point-max)))) @@ -4528,14 +4537,17 @@ specified by `gnus-button-alist'." (alist gnus-button-alist) beg entry regexp) ;; Remove all old markers. - (let (marker entry) + (let (marker entry new-list) (while (setq marker (pop gnus-button-marker-list)) - (goto-char marker) - (when (setq entry (gnus-button-entry)) - (put-text-property (match-beginning (nth 1 entry)) - (match-end (nth 1 entry)) - 'gnus-callback nil)) - (set-marker marker nil))) + (if (or (< marker (point-min)) (>= marker (point-max))) + (push marker new-list) + (goto-char marker) + (when (setq entry (gnus-button-entry)) + (put-text-property (match-beginning (nth 1 entry)) + (match-end (nth 1 entry)) + 'gnus-callback nil)) + (set-marker marker nil))) + (setq gnus-button-marker-list new-list)) ;; We skip the headers. (article-goto-body) (setq beg (point)) @@ -4967,7 +4979,7 @@ For example: ((eq pred 'and) (apply 'gnus-and (mapcar 'gnus-treat-predicate val))) ((eq pred 'not) - (not (gnus-treat-predicate val))) + (not (gnus-treat-predicate (car val)))) ((eq pred 'typep) (equal (cadr val) type)) (t diff --git a/lisp/gnus-cache.el b/lisp/gnus-cache.el index cadedf6..96e5e24 100644 --- a/lisp/gnus-cache.el +++ b/lisp/gnus-cache.el @@ -687,7 +687,7 @@ $ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cache" gnus-cache-active-altered)) (gnus-write-active-file-as-coding-system gnus-cache-write-file-coding-system - gnus-cache-active-file gnus-cache-active-hashtb) + gnus-cache-active-file gnus-cache-active-hashtb t) ;; Mark the active hashtb as unaltered. (setq gnus-cache-active-altered nil))) diff --git a/lisp/gnus-group.el b/lisp/gnus-group.el index 3428f3b..66520f7 100644 --- a/lisp/gnus-group.el +++ b/lisp/gnus-group.el @@ -3297,7 +3297,7 @@ and the second element is the address." (gnus-browse-foreign-server method)) (defun gnus-group-set-info (info &optional method-only-group part) - (when info + (when (or info part) (let* ((entry (gnus-gethash (or method-only-group (gnus-info-group info)) gnus-newsrc-hashtb)) diff --git a/lisp/gnus-msg.el b/lisp/gnus-msg.el index 8ff0b8a..13a1a51 100644 --- a/lisp/gnus-msg.el +++ b/lisp/gnus-msg.el @@ -1197,7 +1197,7 @@ this is a reply." (unless gnus-inhibit-posting-styles (let ((group (or gnus-newsgroup-name "")) (styles gnus-posting-styles) - style match variable attribute value v styles results + style match variable attribute value v results filep name address element) ;; If the group has a posting-style parameter, add it at the end with a ;; regexp matching everything, to be sure it takes precedence over all @@ -1272,6 +1272,8 @@ this is a reply." (when (cdr result) (add-hook 'message-setup-hook (cond + ((eq 'eval (car result)) + 'ignore) ((eq 'body (car result)) `(lambda () (save-excursion diff --git a/lisp/gnus-nocem.el b/lisp/gnus-nocem.el index 391b8e0..7e8a862 100644 --- a/lisp/gnus-nocem.el +++ b/lisp/gnus-nocem.el @@ -121,7 +121,7 @@ matches an previously scanned and verified nocem message." (interactive) (let ((groups gnus-nocem-groups) (gnus-inhibit-demon t) - group active gactive articles) + group active gactive articles check-headers) (gnus-make-directory gnus-nocem-directory) ;; Load any previous NoCeM headers. (gnus-nocem-load-cache) @@ -173,7 +173,14 @@ matches an previously scanned and verified nocem message." (null (mail-header-references header))) (not (member (mail-header-message-id header) gnus-nocem-seen-message-ids)))) - (gnus-nocem-check-article group header))))))) + (push header check-headers))) + (let ((i 0) + (len (length check-headers))) + (dolist (h check-headers) + (gnus-message + 7 "Checking article %d in %s for NoCeM (%d of %d)..." + (mail-header-number h) group (incf i) len) + (gnus-nocem-check-article group h))))))) (setq gnus-nocem-active (cons (list group gactive) (delq (assoc group gnus-nocem-active) @@ -185,8 +192,6 @@ matches an previously scanned and verified nocem message." (defun gnus-nocem-check-article (group header) "Check whether the current article is an NCM article and that we want it." ;; Get the article. - (gnus-message 7 "Checking article %d in %s for NoCeM..." - (mail-header-number header) group) (let ((date (mail-header-date header)) issuer b e type) (when (or (not date) diff --git a/lisp/gnus-score.el b/lisp/gnus-score.el index aac8a97..6eedb8e 100644 --- a/lisp/gnus-score.el +++ b/lisp/gnus-score.el @@ -536,7 +536,7 @@ used as score." (?s "subject" nil nil string) (?b "body" "" nil body-string) (?h "head" "" nil body-string) - (?i "message-id" nil t string) + (?i "message-id" nil nil string) (?r "references" "message-id" nil string) (?x "xref" nil nil string) (?e "extra" nil nil string) @@ -1511,7 +1511,7 @@ EXTRA is the possible non-standard header." (let (score) (while (setq score (pop scores)) (while score - (when (listp (caar score)) + (when (consp (caar score)) (gnus-score-advanced (car score) trace)) (pop score)))) diff --git a/lisp/gnus-srvr.el b/lisp/gnus-srvr.el index cba8a46..7980f8d 100644 --- a/lisp/gnus-srvr.el +++ b/lisp/gnus-srvr.el @@ -592,11 +592,12 @@ The following commands are available: (goto-char (point-min)) (unless (string= gnus-ignored-newsgroups "") (delete-matching-lines gnus-ignored-newsgroups)) - (while (and (not (eobp)) (forward-line)) + (while (not (eobp)) (ignore-errors (push (cons (read cur) (max 0 (- (1+ (read cur)) (read cur)))) - groups))))) + groups)) + (forward-line)))) (setq groups (sort groups (lambda (l1 l2) (string< (car l1) (car l2))))) diff --git a/lisp/gnus-sum.el b/lisp/gnus-sum.el index 492c4f9..b10afd3 100644 --- a/lisp/gnus-sum.el +++ b/lisp/gnus-sum.el @@ -5348,8 +5348,7 @@ gnus-exit-group-hook is called with no arguments if that value is non-nil." (unless quit-config ;; Do adaptive scoring, and possibly save score files. (when gnus-newsgroup-adaptive - (let ((gnus-newsgroup-adaptive gnus-use-adaptive-scoring)) - (gnus-score-adaptive))) + (gnus-score-adaptive)) (when gnus-use-scoring (gnus-score-save))) (gnus-run-hooks 'gnus-summary-prepare-exit-hook) @@ -6851,7 +6850,7 @@ to guess what the document format is." (gnus-group-read-ephemeral-group name `(nndoc ,name (nndoc-address ,(get-buffer dig)) (nndoc-article-type - ,(if force 'digest 'guess))) t)) + ,(if force 'mbox 'guess))) t)) ;; Make all postings to this group go to the parent group. (nconc (gnus-info-params (gnus-get-info name)) params) @@ -8578,7 +8577,7 @@ read." (interactive "P") (save-excursion (gnus-summary-catchup all)) - (gnus-summary-next-article t nil nil t)) + (gnus-summary-next-group t nil nil)) ;; Thread-based commands. diff --git a/lisp/gnus-util.el b/lisp/gnus-util.el index d8c7cf1..ba7cbc9 100644 --- a/lisp/gnus-util.el +++ b/lisp/gnus-util.el @@ -986,7 +986,8 @@ ARG is passed to the first function." t)) (static-if (boundp 'MULE) - (defun gnus-write-active-file-as-coding-system (coding-system file hashtb) + (defun gnus-write-active-file-as-coding-system + (coding-system file hashtb &optional full-names) (let ((output-coding-system coding-system)) (with-temp-file file (mapatoms @@ -995,11 +996,14 @@ ARG is passed to the first function." (boundp sym) (symbol-value sym)) (insert (format "%s %d %d y\n" - (gnus-group-real-name (symbol-name sym)) + (if full-names + (symbol-name sym) + (gnus-group-real-name (symbol-name sym))) (cdr (symbol-value sym)) (car (symbol-value sym)))))) hashtb)))) - (defun gnus-write-active-file-as-coding-system (coding-system file hashtb) + (defun gnus-write-active-file-as-coding-system + (coding-system file hashtb &optional full-names) (let ((coding-system-for-write coding-system)) (with-temp-file file (mapatoms @@ -1008,7 +1012,9 @@ ARG is passed to the first function." (boundp sym) (symbol-value sym)) (insert (format "%s %d %d y\n" - (gnus-group-real-name (symbol-name sym)) + (if full-names + (symbol-name sym) + (gnus-group-real-name (symbol-name sym))) (cdr (symbol-value sym)) (car (symbol-value sym)))))) hashtb)))) diff --git a/lisp/gnus-xmas.el b/lisp/gnus-xmas.el index 1446289..53e7432 100644 --- a/lisp/gnus-xmas.el +++ b/lisp/gnus-xmas.el @@ -178,7 +178,7 @@ displayed, no centering will be performed." (sit-for 0)) (when gnus-auto-center-summary (let* ((height (if (fboundp 'window-displayed-height) - (1- (window-displayed-height)) + (window-displayed-height) (- (window-height) 2))) (top (cond ((< height 4) 0) ((< height 7) 1) diff --git a/lisp/mail-source.el b/lisp/mail-source.el index 6853e49..06bfbde 100644 --- a/lisp/mail-source.el +++ b/lisp/mail-source.el @@ -369,9 +369,7 @@ If ARGS, PROMPT is used as an argument to `format'." (or password (cdr (assoc from mail-source-password-cache)) (mail-source-read-passwd - (format "Password for %s at %s: " user server)))) - (unless (assoc from mail-source-password-cache) - (push (cons from password) mail-source-password-cache))) + (format "Password for %s at %s: " user server))))) (when server (setenv "MAILHOST" server)) (setq result @@ -395,12 +393,16 @@ If ARGS, PROMPT is used as an argument to `format'." (pop3-connection-type connection)) (save-excursion (pop3-movemail mail-source-crash-box)))))) (if result - (prog1 - (mail-source-callback callback server) - (mail-source-run-script - postscript - (format-spec-make ?p password ?t mail-source-crash-box - ?s server ?P port ?u user))) + (progn + (when (eq authentication 'password) + (unless (assoc from mail-source-password-cache) + (push (cons from password) mail-source-password-cache))) + (prog1 + (mail-source-callback callback server) + (mail-source-run-script + postscript + (format-spec-make ?p password ?t mail-source-crash-box + ?s server ?P port ?u user)))) ;; We nix out the password in case the error ;; was because of a wrong password being given. (setq mail-source-password-cache diff --git a/lisp/message.el b/lisp/message.el index da59f00..f625e56 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -418,6 +418,13 @@ The provided functions are: :group 'message-interface :type 'regexp) + +(defcustom message-forward-ignored-headers nil + "*All headers that match this regexp will be deleted when forwarding a message." + :group 'message-forwarding + :type '(choice (const :tag "None" nil) + regexp)) + (defcustom message-ignored-cited-headers "." "*Delete these headers from the messages you yank." :group 'message-insertion @@ -824,6 +831,13 @@ Valid valued are `unique' and `unsent'." :group 'message :type 'symbol) +(defcustom message-dont-reply-to-names rmail-dont-reply-to-names + "*A regexp specifying names to prune when doing wide replies. +A value of nil means exclude your own name only." + :group 'message + :type '(choice (const :tag "Yourself" nil) + regexp)) + ;;; Internal variables. ;;; Well, not really internal. @@ -1284,6 +1298,7 @@ The cdr of ech entry is a function for applying the face to a region.") (insert (car headers) ?\n)))) (setq headers (cdr headers)))) + (defun message-fetch-reply-field (header) "Fetch FIELD from the message we're replying to." (let ((buffer (message-eval-parameter message-reply-buffer))) @@ -1652,12 +1667,12 @@ C-c C-r message-caesar-buffer-body (rot13 the message body)." '(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)) + (concat "[ \t]*[-a-z0-9A-Z]*\\(>[ \t]*\\)+[ \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]*\\|" + (concat "[ \t]*[-a-z0-9A-Z]*\\(>[ \t]*\\)+[ \t]*\\|" adaptive-fill-first-line-regexp)) (make-local-variable 'indent-tabs-mode) ;Turn off tabs for indentation. (setq indent-tabs-mode nil) @@ -2356,22 +2371,20 @@ the user from the mailer." (message-fix-before-sending) (while (and success (setq elem (pop alist))) - (when (and (or (not (funcall (cadr elem))) - (and (or (not (memq (car elem) - message-sent-message-via)) - (y-or-n-p - (format - "Already sent message via %s; resend? " - (car elem)))) - (setq success (funcall (caddr elem) arg))))) + (when (or (not (funcall (cadr elem))) + (and (or (not (memq (car elem) + message-sent-message-via)) + (y-or-n-p + (format + "Already sent message via %s; resend? " + (car elem)))) + (setq success (funcall (caddr elem) arg)))) (setq sent t)))) - (unless sent + (unless (or sent (not success)) (error "No methods specified to send by")) (prog1 (when (and success sent) (message-do-fcc) - ;;(when (fboundp 'mail-hist-put-headers-into-history) - ;; (mail-hist-put-headers-into-history)) (save-excursion (run-hooks 'message-sent-hook)) (message "Sending...done") @@ -4069,9 +4082,9 @@ directs your response to " (if (string-match "," mft) A typical situation where Mail-Followup-To is used is when the author thinks that further discussion should take place only in " - (if (string-match "," mft) - "the specified mailing lists" - "that mailing list") "."))) + (if (string-match "," mft) + "the specified mailing lists" + "that mailing list") "."))) (setq follow-to (list (cons 'To mft))) (when mct (push (cons 'Cc mct) follow-to))) @@ -4088,8 +4101,9 @@ that further discussion should take place only in " (while (re-search-forward "[ \t]+" nil t) (replace-match " " t t)) ;; Remove addresses that match `rmail-dont-reply-to-names'. - (insert (prog1 (rmail-dont-reply-to (buffer-string)) - (erase-buffer))) + (let ((rmail-dont-reply-to-names message-dont-reply-to-names)) + (insert (prog1 (rmail-dont-reply-to (buffer-string)) + (erase-buffer)))) (goto-char (point-min)) ;; Perhaps Mail-Copies-To: never removed the only address? (when (eobp) diff --git a/lisp/mm-decode.el b/lisp/mm-decode.el index a6f9a3f..5ce2188 100644 --- a/lisp/mm-decode.el +++ b/lisp/mm-decode.el @@ -139,8 +139,7 @@ "message/rfc822") "A list of MIME types to be displayed automatically.") -(defvar mm-attachment-override-types - '("text/plain" "text/x-vcard") +(defvar mm-attachment-override-types '("text/plain" "text/x-vcard") "Types that should have \"attachment\" ignored if they can be displayed inline.") (defvar mm-automatic-external-display nil @@ -437,17 +436,22 @@ external if displayed external." (defun mm-display-inline (handle) (let* ((type (mm-handle-media-type handle)) - (function (cadr (assoc type mm-inline-media-tests)))) + (function (cadr (mm-assoc-string-match mm-inline-media-tests type)))) (funcall function handle) (goto-char (point-min)))) +(defun mm-assoc-string-match (alist type) + (dolist (elem alist) + (when (string-match (car elem) type) + (return elem)))) + (defun mm-inlinable-p (handle) "Say whether HANDLE can be displayed inline." (let ((alist mm-inline-media-tests) (type (mm-handle-media-type handle)) test) (while alist - (when (equal type (caar alist)) + (when (string-match (caar alist) type) (setq test (caddar alist) alist nil) (setq test (funcall test handle))) diff --git a/lisp/mm-encode.el b/lisp/mm-encode.el index 7bf65ff..e45581f 100644 --- a/lisp/mm-encode.el +++ b/lisp/mm-encode.el @@ -63,7 +63,7 @@ or base64 will be used, depending on what is more efficient.") (defun mm-encode-content-transfer-encoding (encoding &optional type) (cond ((eq encoding 'quoted-printable) - (quoted-printable-encode-region (point-min) (point-max))) + (quoted-printable-encode-region (point-min) (point-max) t)) ((eq encoding 'base64) (when (equal type "text/plain") (goto-char (point-min)) @@ -126,24 +126,17 @@ The encoding used is returned." (defun mm-qp-or-base64 () (save-excursion - (save-restriction - (narrow-to-region (point-min) (min (+ (point-min) 1000) (point-max))) + (let ((limit (min (point-max) (+ 2000 (point-min)))) + (n8bit 0)) (goto-char (point-min)) - (let ((8bit 0)) - (cond - ((not (featurep 'mule)) - (while (re-search-forward "[^\x20-\x7f\r\n\t]" nil t) - (incf 8bit))) - (t - ;; Mule version - (while (not (eobp)) - (skip-chars-forward "\x20-\x7f\r\n\t") - (unless (eobp) - (forward-char 1) - (incf 8bit))))) - (if (> (/ (* 8bit 1.0) (buffer-size)) 0.166) - 'base64 - 'quoted-printable))))) + (skip-chars-forward "\x20-\x7f\r\n\t" limit) + (while (< (point) limit) + (incf n8bit) + (forward-char 1) + (skip-chars-forward "\x20-\x7f\r\n\t" limit)) + (if (< (* 6 n8bit) (- limit (point-min))) + 'quoted-printable + 'base64)))) (provide 'mm-encode) diff --git a/lisp/mm-util.el b/lisp/mm-util.el index 58131ac..43c94f2 100644 --- a/lisp/mm-util.el +++ b/lisp/mm-util.el @@ -206,7 +206,7 @@ used as the line break code type of the coding system." (defun mm-preferred-coding-system (charset) ;; A typo in some Emacs versions. (or (get-charset-property charset 'prefered-coding-system) - (get-charset-property charset 'preffered-coding-system))) + (get-charset-property charset 'preferred-coding-system))) (defun mm-mime-charset (charset) "Return the MIME charset corresponding to the MULE CHARSET." diff --git a/lisp/mml.el b/lisp/mml.el index 9f4ed01..771487d 100644 --- a/lisp/mml.el +++ b/lisp/mml.el @@ -31,6 +31,19 @@ (eval-and-compile (autoload 'message-make-message-id "message")) +(defvar mml-generate-multipart-alist + '(("signed" . rfc2015-generate-signed-multipart) + ("encrypted" . rfc2015-generate-encrypted-multipart)) + "*Alist of multipart generation functions. + +Each entry has the form (NAME . FUNCTION), where +NAME: is a string containing the name of the part (without the +leading \"/multipart/\"), +FUNCTION: is a Lisp function which is called to generate the part. + +The Lisp function has to supply the appropriate MIME headers and the +contents of this part.") + (defvar mml-syntax-table (let ((table (copy-syntax-table emacs-lisp-mode-syntax-table))) (modify-syntax-entry ?\\ "/" table) @@ -271,16 +284,20 @@ (insert (or (cdr (assq 'contents cont)))) (insert "\n")) ((eq (car cont) 'multipart) - (let ((mml-boundary (mml-compute-boundary cont))) - (insert (format "Content-Type: multipart/%s; boundary=\"%s\"\n" - (or (cdr (assq 'type cont)) "mixed") - mml-boundary)) - (insert "\n") - (setq cont (cddr cont)) - (while cont - (insert "\n--" mml-boundary "\n") - (mml-generate-mime-1 (pop cont))) - (insert "\n--" mml-boundary "--\n"))) + (let* ((type (or (cdr (assq 'type cont)) "mixed")) + (handler (assoc type mml-generate-multipart-alist))) + (if handler + (funcall (cdr handler) cont) + ;; No specific handler. Use default one. + (let ((mml-boundary (mml-compute-boundary cont))) + (insert (format "Content-Type: multipart/%s; boundary=\"%s\"\n" + type mml-boundary)) + (insert "\n") + (setq cont (cddr cont)) + (while cont + (insert "\n--" mml-boundary "\n") + (mml-generate-mime-1 (pop cont))) + (insert "\n--" mml-boundary "--\n"))))) (t (error "Invalid element: %S" cont)))) @@ -502,6 +519,7 @@ (define-key map "p" 'mml-insert-part) (define-key map "v" 'mml-validate) (define-key map "P" 'mml-preview) + (define-key map "n" 'mml-narrow-to-part) (define-key main "\M-m" map) main)) @@ -515,6 +533,7 @@ ("Insert" ["Multipart" mml-insert-multipart t] ["Part" mml-insert-part t]) + ["Narrow" mml-narrow-to-part t] ["Quote" mml-quote-region t] ["Validate" mml-validate t] ["Preview" mml-preview t])) diff --git a/lisp/nnmail.el b/lisp/nnmail.el index 2d6a503..e8e16dc 100644 --- a/lisp/nnmail.el +++ b/lisp/nnmail.el @@ -822,8 +822,8 @@ If SOURCE is a directory spec, try to return the group name component." ;; if there is no head-body delimiter, we search a bit manually. (while (and (looking-at "From \\|[^ \t]+:") (not (eobp))) - (forward-line 1) - (point)))) + (forward-line 1)) + (point))) ;; Find the Message-ID header. (goto-char (point-min)) (if (re-search-forward "^Message-ID:[ \t]*\\(<[^>]+>\\)" nil t) diff --git a/lisp/nntp.el b/lisp/nntp.el index 8b63b8e..d37490d 100644 --- a/lisp/nntp.el +++ b/lisp/nntp.el @@ -1281,7 +1281,6 @@ password contained in '~/.nntp-authinfo'." (setq nntp-telnet-passwd (mail-source-read-passwd "Password: "))) "\n")) - (erase-buffer) (nntp-wait-for-string nntp-telnet-shell-prompt) (process-send-string proc (concat (mapconcat 'identity nntp-telnet-parameters " ") "\n")) diff --git a/lisp/qp.el b/lisp/qp.el index 50fd046..18c66b7 100644 --- a/lisp/qp.el +++ b/lisp/qp.el @@ -73,7 +73,7 @@ matched by that regexp." (save-excursion (save-restriction (narrow-to-region from to) - (mm-encode-body) +;; (mm-encode-body) ;; Encode all the non-ascii and control characters. (goto-char (point-min)) (while (and (skip-chars-forward @@ -95,13 +95,15 @@ matched by that regexp." (when fold ;; Fold long lines. (goto-char (point-min)) - (end-of-line) - (while (> (current-column) 72) - (beginning-of-line) - (forward-char 72) - (search-backward "=" (- (point) 2) t) - (insert "=\n") - (end-of-line)))))) + (while (not (eobp)) + (end-of-line) + (while (> (current-column) 72) + (beginning-of-line) + (forward-char 72) + (search-backward "=" (- (point) 2) t) + (insert "=\n") + (end-of-line)) + (forward-line)))))) (defun quoted-printable-encode-string (string) "QP-encode STRING and return the results." diff --git a/texi/ChangeLog b/texi/ChangeLog index 152302f..0667c43 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,25 @@ +1999-09-25 10:58:17 Lars Magne Ingebrigtsen + + * message.texi (Forwarding): Updated. + + * emacs-mime.texi (New Viewers): New. + +1999-09-24 18:52:34 Lars Magne Ingebrigtsen + + * gnus.texi (Group Line Specification): Doc fix. + +1999-09-24 18:06:33 Bill White + + * gnus.texi (Article Washing): Fix. + +1999-08-27 20:47:39 Lars Magne Ingebrigtsen + + * gnus.texi (Posting Styles): Doc fix. + +1999-08-27 18:51:42 Robin S. Socha + + * gnus.texi: Typo fix. + 1999-08-27 15:09:01 Jim Meyering * gnus.texi (The Active File): Typo fix. diff --git a/texi/emacs-mime.texi b/texi/emacs-mime.texi index 93e1d6e..08cd7fa 100644 --- a/texi/emacs-mime.texi +++ b/texi/emacs-mime.texi @@ -746,6 +746,7 @@ returned as a result of this analysis. * Handles:: Handle manipulations. * Display:: Displaying handles. * Customization:: Variables that affect display. +* New Viewers:: How to write your own viewers. @end menu @@ -902,6 +903,34 @@ their size. @end table +@node New Viewers +@section New Viewers + +Here's an example viewer for displaying @code{text/enriched} inline: + +@lisp +(defun mm-display-enriched-inline (handle) + (let (text) + (with-temp-buffer + (mm-insert-part handle) + (save-window-excursion + (enriched-decode (point-min) (point-max)) + (setq text (buffer-string)))) + (mm-insert-inline handle text))) +@end lisp + +We see that the function takes a @sc{mime} handle as its parameter. It +then goes to a temporary buffer, inserts the text of the part, does some +work on the text, stores the result, goes back to the buffer it was +called from and inserts the result. + +The two important helper functions here are @code{mm-insert-part} and +@code{mm-insert-inline}. The first function inserts the text of the +handle in the current buffer. It handles charset and/or content +transfer decoding. The second function just inserts whatever text you +tell it to insert, but it also sets things up so that the text can be +``undisplayed' in a convenient manner. + @node Composing @chapter Composing diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index 48cf6d1..6ab20ff 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -1286,7 +1286,7 @@ gnus $B$,$=$l$rD4$Y$k$3$H$O$"$j$^$;$s!#(BGnus $B$OI,MW$H$9$kA4$F$NpJs$r!"% @vindex gnus-group-uncollapsed-levels $BC;$$!J>JN,$7$?!K%0%k!<%WL>!#(B@code{gnus-group-uncollapsed-levels} $BJQ?t$O!"(B $B$I$N%l%Y%k$^$G%0%k!<%WL>$rA4It;D$9$+$r<($7$^$9!#=i4|CM$O(B 1 $B$G$9!=!=$3(B -$B$N0UL#$O!"(B@samp{gnu.emacs.gnus} $B$N$h$&$J%0%k!<%WL>$r(B @samp{g.emacs.gnus} +$B$N0UL#$O!"(B@samp{gnu.emacs.gnus} $B$N$h$&$J%0%k!<%WL>$r(B @samp{g.e.gnus} $B$KC;=L$9$k$H$$$&$3$H$G$9!#(B @item m @@ -4041,7 +4041,7 @@ Gnus $B$,l9g$O!"$=$l$r(B @code{$B%]%9%H%^%9%?!<(B} $B$K$b:FAw$7$?$$$H;W$&$G(B -$B$7$g$&!#(BOrdnung mu.AN_ sein!) +$B$7$g$&!#(BOrdnung mu,A_(B sein!) $B$3$NL?Na$O%W%m%;%9(B/$B@\F,0z?t$N=,47$K=>$$$^$9(B (@pxref{Process/Prefix})$B!#(B @@ -6377,10 +6377,10 @@ Fonts})$B!#F1$8%a%C%;!<%8$NCf$KJ#?t$N5-;v$+$i$N0zMQ$,$"$k$H!"(Bgnus $B$O$=$l$ @cindex gnus-article-emphasize @kindex W e $B!J35N,!K(B -$B?M!9$O$h$/%K%e!<%9$N5-;v$G(B @samp{_$B$3$l(B_} $B$d(B @samp{*$B$3$l(B*} $B$N$h$&$J$b$N$r(B -$B;H$C$FC18l$r6/D4$7$^$9!#(BGnus $B$O(B $B5-;v$rL?Na(B @kbd{W e} -(@code{gnus-article-emphasize}) $B$K$+$1$k;v$K$h$C$FAGE($K8+$($k$h$&$K$G$-(B -$B$^$9!#(B +$B?M!9$O$h$/%K%e!<%9$N5-;v$G(B @samp{_$B$3$l(B_} $B$d(B @samp{*$B$3$l(B*} $B$^$?$O(B +@samp{/$B$3$l(B/} $B$N$h$&$J$b$N$r;H$C$FC18l$r6/D4$7$^$9!#(BGnus $B$O(B $B5-;v$rL?Na(B +@kbd{W e} (@code{gnus-article-emphasize}) $B$K$+$1$k;v$K$h$C$FAGE($K8+$($k(B +$B$h$&$K$G$-$^$9!#(B @vindex gnus-emphasis-alist $B6/D4$,$I$N$h$&$K1i;;$5$l$k$+$OJQ?t(B @code{gnus-emphasis-alist} $B$K$h$C$F@)(B @@ -6396,6 +6396,12 @@ Fonts})$B!#F1$8%a%C%;!<%8$NCf$KJ#?t$N5-;v$+$i$N0zMQ$,$"$k$H!"(Bgnus $B$O$=$l$ ("\\*\\(\\w+\\)\\*" 0 1 gnus-emphasis-bold))) @end lisp +@cindex slash +@cindex asterisk +@cindex underline +@cindex / +@cindex * + @vindex gnus-emphasis-underline @vindex gnus-emphasis-bold @vindex gnus-emphasis-italic @@ -6668,8 +6674,8 @@ Highlighting} $B$b;2>H$7$F$/$@$5$$!#(B $B@^$jJV$7$r$9$k$H$-$K!"I}$r;XDj$9$k$?$a$KL?Na$K?tCM@\F,0z?t$rM?$($k;v$,$G(B $B$-$^$9!#(B -@item W q -@kindex W q ($B35N,(B) +@item W Q +@kindex W Q ($B35N,(B) @findex gnus-article-fill-long-lines $BD9$$9T$r@^$jJV$7$^$9(B (@code{gnus-article-fill-mode-lines})$B!#(B @@ -8711,7 +8717,8 @@ Gnus $B$O30$X=P$F9T$/A4$F$N%a%C%;!<%8$K!"0l$D$+$=$l0J>e$N$=$N%5!<%P!<$N%0%k!<( @code{signature}, @code{signature-file}, @code{organization}, @code{address}, @code{name}, @code{body} $B$N$I$l$+$G$"$k;v$,$G$-$^$9!#B0(B $B@-L>$OJ8;zNs$G$"$k;v$b$G$-$^$9!#$=$N>l9g$O!"$3$l$O%X%C%@!$H$7$F;H$o$l!"(B -$B$=$NCM$,5-;v$N%X%C%@!<$KA^F~$5$l$^$9!#(B +$B$=$NCM$,5-;v$N%X%C%@!<$KA^F~$5$l$^$9!#$b$7B0@-L>$,(B @code{eval} $B$@$C$?$i(B +$B$=$NMM<0$,I>2A$5$l!"7k2L$O2A(B} $B$5$l$F!"JV$j(B @@ -16898,7 +16905,7 @@ Kevin Davidson---@dfn{ding} $B$NL>A0$r;W$$IU$-$^$7$?!#$G$9$+$i!"H`$r@U$a$F(B $B2<$5$$!#(B @item -FranNgois Pinard---$BB?$/$N!"B?$/$N6=L#?<$/40A4$J%P%0%l%]!<%H$H(B autoconf $B$N(B +Fran,Ag(Bois Pinard---$BB?$/$N!"B?$/$N6=L#?<$/40A4$J%P%0%l%]!<%H$H(B autoconf $B$N(B $B%5%]!<%H!#(B @end itemize @@ -16911,7 +16918,7 @@ Borges $B$K$h$C$F9;@5$5$l!"(BJost Krieger $B$K$h$C$F0lItJ,$r9;@5$5$l$^$7$?!# Christopher Davis, Andrew Eskilsson, Kai Grossjohann, -David KNegedal, +David K,Ae(Bgedal, Richard Pieri, Fabrice Popineau, Daniel Quinlan, @@ -16997,7 +17004,7 @@ Gunnar Horrigmo, Richard Hoskins, Brad Howes, Miguel de Icaza, -FranNgois Felix Ingrand, +Fran,Ag(Bois Felix Ingrand, Tatsuya Ichikawa, @c ? Ishikawa Ichiro, @c Ishikawa Lee Iverson, @@ -18419,8 +18426,8 @@ From: Jason L Tibbitts III @end example @item - tanken var at nNer du bruker `gnus-startup-file' som prefix (FOO) til Ne lete -opp en fil FOO-SERVER, FOO-SERVER.el, FOO-SERVER.eld, kan du la den vNfre en + tanken var at n,Ae(Br du bruker `gnus-startup-file' som prefix (FOO) til ,Ae(B lete +opp en fil FOO-SERVER, FOO-SERVER.el, FOO-SERVER.eld, kan du la den v,Af(Bre en liste hvor du bruker hvert element i listen som FOO, istedet. da kunne man hatt forskjellige serveres startup-filer forskjellige steder. @@ -18493,8 +18500,8 @@ there was a sci.somethingelse group or section, then it should prompt for sci? first the sci.something? then sci.somethingelse?... @item -Ja, det burde vNfre en mNete Ne si slikt. Kanskje en ny variabel? -`gnus-use-few-score-files'? SNe kunne score-regler legges til den +Ja, det burde v,Af(Bre en m,Ae(Bte ,Ae(B si slikt. Kanskje en ny variabel? +`gnus-use-few-score-files'? S,Ae(B kunne score-regler legges til den "mest" lokale score-fila. F. eks. ville no-gruppene betjenes av "no.all.SCORE", osv. @@ -18824,7 +18831,7 @@ the current process mark set onto the stack. @item gnus-article-hide-pgp -Selv ville jeg nok ha valgt Ne slette den dersom teksten matcher +Selv ville jeg nok ha valgt ,Ae(B slette den dersom teksten matcher @example "\\(This\s+\\)?[^ ]+ has been automatically signed by" @end example diff --git a/texi/gnus.texi b/texi/gnus.texi index 1561ced..9c24e31 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1243,7 +1243,7 @@ Indentation based on the level of the topic (@pxref{Group Topics}). Short (collapsed) group name. The @code{gnus-group-uncollapsed-levels} variable says how many levels to leave at the end of the group name. The default is 1---this will mean that group names like -@samp{gnu.emacs.gnus} will be shortened to @samp{g.emacs.gnus}. +@samp{gnu.emacs.gnus} will be shortened to @samp{g.e.gnus}. @item m @vindex gnus-new-mail-mark @@ -6446,8 +6446,8 @@ default. @findex gnus-article-emphasize @kindex W e (Summary) People commonly add emphasis to words in news articles by writing things -like @samp{_this_} or @samp{*this*}. Gnus can make this look nicer by -running the article through the @kbd{W e} +like @samp{_this_} or @samp{*this*} or @samp{/this/}. Gnus can make +this look nicer by running the article through the @kbd{W e} (@code{gnus-article-emphasize}) command. @vindex gnus-emphasis-alist @@ -6466,6 +6466,12 @@ highlighting. ("\\*\\(\\w+\\)\\*" 0 1 gnus-emphasis-bold))) @end lisp +@cindex slash +@cindex asterisk +@cindex underline +@cindex / +@cindex * + @vindex gnus-emphasis-underline @vindex gnus-emphasis-bold @vindex gnus-emphasis-italic @@ -6745,9 +6751,9 @@ Do word wrap (@code{gnus-article-fill-cited-article}). You can give the command a numerical prefix to specify the width to use when filling. -@item W q -@kindex W q (Summary) -@findex gnus-article-fill-long-lines +@item W Q +@kindex W Q (Summary) +@findex gnus-article-fill-long-lines Fill long lines (@code{gnus-article-fill-long-lines}). @item W C @@ -8970,7 +8976,8 @@ can be one of @code{signature}, @code{signature-file}, @code{organization}, @code{address}, @code{name} or @code{body}. The attribute name can also be a string. In that case, this will be used as a header name, and the value will be inserted in the headers of the -article. +article. If the attribute name is @code{eval}, the form is evaluated, +and the result is thrown away. The attribute value can be a string (used verbatim), a function with zero arguments (the return value will be used), a variable (its value @@ -13525,7 +13532,7 @@ Suffix to add to the group name to arrive at the score file name @vindex gnus-score-uncacheable-files @cindex score cache All score files are normally cached to avoid excessive re-loading of -score files. However, if this might make you Emacs grow big and +score files. However, if this might make your Emacs grow big and bloated, so this regexp can be used to weed out score files unlikely to be needed again. It would be a bad idea to deny caching of @file{all.SCORE}, while it might be a good idea to not cache @file{comp.infosystems.www.authoring.misc.ADAPT}. In fact, this diff --git a/texi/message-ja.texi b/texi/message-ja.texi index 6112441..17f7a11 100644 --- a/texi/message-ja.texi +++ b/texi/message-ja.texi @@ -215,7 +215,7 @@ Message $B$OJVEz$,2?=h$K9T$/$+$r7hDj$9$k$?$a$KIaDL$NJ}K!$r;H$$$^$9$,!"(B $B$K;H$o$l$^$9(B (@pxref{Reply})$B!#(B -@findex rmail-dont-reply-to-names +@findex message-dont-reply-to-names $B@55,I=8=(B @code{rmail-dont-reply-to-names} $B$K9gCW$9$k%"%I%l%9$O(B @code{Cc} $B%X%C%@!<$+$iAw$5$l$k%a%C%;!<%8$NA0$KA^F~$5$l$k6h@Z$j$G$9!#=i4|CM$O(B @* -@samp{------- Start of forwarded message -------\n} $B$G$9!#(B - -@vindex message-forward-end-separator -@item message-forward-end-separator -$BE>Aw$5$l$k%a%C%;!<%8$N8e$KA^F~$5$l$k6h@Z$j$G$9!#=i4|CM$O(B @* -@samp{------- End of forwarded message -------\n} $B$G$9!#(B - -@item message-signature-before-forwarded-message -@vindex message-signature-before-forwarded-message -$B$b$7$3$NJQ?t$,(B @code{t} $B$G$"$k$H!"$=$l$,=i4|CM$G$9$,!"$"$J$?$N8D?ME*$J=p(B -$BL>$,E>Aw$5$l$k%a%C%;!<%8$NA0$KA^F~$5$l$^$9!#$b$7$=$&$G$J$1$l$P!"E>Aw$5$l(B -$B$k%a%C%;!<%8$O?7$7$$%a!<%k$N:G=i$KA^F~$5$l$^$9!#(B - -@item message-included-forward-headers -@vindex message-included-forward-headers -$B$3$l$O@55,I=8=$G!"$=$l$OE>Aw$5$l$k%a%C%;!<%8$K4^$^$l$k%X%C%@!<9T$K9gCW$9(B -$B$k$b$N$G$9!#(B +@item message-ignored-forward-headers +@vindex message-ignored-forward-headers +$B$3$N@55,I=8=$K9gCW$9$k$9$Y$F$N%X%C%@!<$,!"E>Aw$5$l$k%a%C%;!<%8$+$i:o=|$5(B +$B$l$^$9!#(B @end table diff --git a/texi/message.texi b/texi/message.texi index 21a1f1b..7bdf307 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -188,8 +188,8 @@ but you can change the behavior to suit your needs by fiddling with the @code{message-wide-reply-to-function}. It is used in the same way as @code{message-reply-to-function} (@pxref{Reply}). -@findex rmail-dont-reply-to-names -Addresses that match the @code{rmail-dont-reply-to-names} regular +@findex message-dont-reply-to-names +Addresses that match the @code{message-dont-reply-to-names} regular expression will be removed from the @code{Cc} header. @@ -246,26 +246,9 @@ the message in the current buffer. If given a prefix, forward using news. @table @code -@item message-forward-start-separator -@vindex message-forward-start-separator -Delimiter inserted before forwarded messages. The default is@* -@samp{------- Start of forwarded message -------\n}. - -@vindex message-forward-end-separator -@item message-forward-end-separator -@vindex message-forward-end-separator -Delimiter inserted after forwarded messages. The default is@* -@samp{------- End of forwarded message -------\n}. - -@item message-signature-before-forwarded-message -@vindex message-signature-before-forwarded-message -If this variable is @code{t}, which it is by default, your personal -signature will be inserted before the forwarded message. If not, the -forwarded message will be inserted first in the new mail. - -@item message-included-forward-headers -@vindex message-included-forward-headers -Regexp matching header lines to be included in forwarded messages. +@item message-ignored-forward-headers +@vindex message-ignored-forward-headers +All headers that match this regexp will be deleted when forwarding a message. @item message-make-forward-subject-function @vindex message-make-forward-subject-function