summaryrefslogtreecommitdiff
path: root/lisp/mail
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/mail')
-rw-r--r--lisp/mail/emacsbug.el39
-rw-r--r--lisp/mail/rmail.el2
-rw-r--r--lisp/mail/undigest.el12
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))