diff options
Diffstat (limited to 'lisp/mail')
| -rw-r--r-- | lisp/mail/emacsbug.el | 39 | ||||
| -rw-r--r-- | lisp/mail/rmail.el | 2 | ||||
| -rw-r--r-- | lisp/mail/undigest.el | 12 |
3 files changed, 35 insertions, 18 deletions
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el index df5445da412..70c976a154d 100644 --- a/lisp/mail/emacsbug.el +++ b/lisp/mail/emacsbug.el @@ -73,18 +73,27 @@ Prompts for bug subject. Leaves you in a mail buffer." ;; This strange form ensures that (recent-keys) is the value before ;; the bug subject string is read. (interactive (reverse (list (recent-keys) (read-string "Bug Subject: ")))) - ;; If there are four numbers in emacs-version, this is a pretest - ;; version. - (let* ((pretest-p (string-match "\\..*\\..*\\." emacs-version)) - (from-buffer (current-buffer)) - (reporting-address (if pretest-p - report-emacs-bug-pretest-address - report-emacs-bug-address)) - ;; Put these properties on semantically-void text. - (prompt-properties '(field emacsbug-prompt - intangible but-helpful - rear-nonsticky t)) - user-point message-end-point) + ;; The syntax `version;' is preferred to `[version]' because the + ;; latter could be mistakenly stripped by mailing software. + (if (eq system-type 'ms-dos) + (setq topic (concat emacs-version "; " topic)) + (when (string-match "^\\(\\([.0-9]+\\)*\\)\\.[0-9]+$" emacs-version) + (setq topic (concat (match-string 1 emacs-version) "; " topic)))) + ;; If there are four numbers in emacs-version (three for MS-DOS), + ;; this is a pretest version. + (let* ((pretest-p (string-match (if (eq system-type 'ms-dos) + "\\..*\\." + "\\..*\\..*\\.") + emacs-version)) + (from-buffer (current-buffer)) + (reporting-address (if pretest-p + report-emacs-bug-pretest-address + report-emacs-bug-address)) + ;; Put these properties on semantically-void text. + (prompt-properties '(field emacsbug-prompt + intangible but-helpful + rear-nonsticky t)) + user-point message-end-point) (setq message-end-point (with-current-buffer (get-buffer-create "*Messages*") (point-max-marker))) @@ -106,7 +115,7 @@ Prompts for bug subject. Leaves you in a mail buffer." (let ((pos (point))) (insert "not to your local site managers!") (put-text-property pos (point) 'face 'highlight))) - (insert "\nPlease write in ") + (insert "\nPlease write in ") (let ((pos (point))) (insert "English") (put-text-property pos (point) 'face 'highlight)) @@ -132,8 +141,8 @@ usually do not have translators to read other languages for them.\n\n") (let ((debug-file (expand-file-name "DEBUG" data-directory))) (if (file-readable-p debug-file) - (insert "If you would like to further debug the crash, please read the file\n" - debug-file " for instructions.\n"))) + (insert "If you would like to further debug the crash, please read the file\n" + debug-file " for instructions.\n"))) (add-text-properties (1+ user-point) (point) prompt-properties) (insert "\n\nIn " (emacs-version) "\n") diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el index ee990f2fdd3..429d85a7fed 100644 --- a/lisp/mail/rmail.el +++ b/lisp/mail/rmail.el @@ -204,7 +204,7 @@ We do this by executing it with `--version' and analyzing its output." 'emacs)))))) (defun rmail-autodetect () - "Determine and return the file name of the `movemail' program. + "Determine the file name of the `movemail' program and return its flavor. If `rmail-movemail-program' is non-nil, use it. Otherwise, look for `movemail' in the directories in `rmail-movemail-search-path', those in `exec-path', and `exec-directory'." diff --git a/lisp/mail/undigest.el b/lisp/mail/undigest.el index 5b01f711176..5d6f266b3b0 100644 --- a/lisp/mail/undigest.el +++ b/lisp/mail/undigest.el @@ -93,7 +93,15 @@ See rmail-digest-methods." (rmail-digest-rfc1153 "^-\\{55,\\}\n\n" "^\n-\\{27,\\}\n\n" - "^\n-\\{27,\\}\n\nEnd of")) + ;; GNU Mailman knowingly (see comment at line 353 of ToDigest.py in + ;; Mailman source) produces non-conformant rfc 1153 digests, in that + ;; the trailer contains a "digest footer" like this: + ;; _______________________________________________ + ;; <one or more lines of list blurb> + ;; + ;; End of Foo Digest... + ;; ************************************** + "^\nEnd of")) (defun rmail-digest-rfc1153 (prolog-sep message-sep trailer-sep) (goto-char (point-min)) @@ -104,7 +112,7 @@ See rmail-digest-methods." separator result) (move-marker start (match-beginning 0)) (move-marker end (match-end 0)) - (setq result (cons (copy-marker start) (copy-marker end t))) + (setq result (list (cons (copy-marker start) (copy-marker end t)))) (when (re-search-forward message-sep nil t) ;; Ok, at least one message separator found (setq separator (match-string 0)) |
