diff options
| author | Chong Yidong | 2005-11-17 16:31:22 +0000 |
|---|---|---|
| committer | Chong Yidong | 2005-11-17 16:31:22 +0000 |
| commit | 6586e9c94964b658cfa424c5a1c30516baaa974d (patch) | |
| tree | 5dc9a1be3a2c2757e642c276744b4ca36ddbefb5 | |
| parent | 4ea0018b7fd298525be4b9eb54d720a74e2f18a1 (diff) | |
| download | emacs-6586e9c94964b658cfa424c5a1c30516baaa974d.tar.gz emacs-6586e9c94964b658cfa424c5a1c30516baaa974d.zip | |
* message.el (message-courtesy-message)
(message-mark-insert-begin, message-mark-insert-end)
(message-elide-ellipsis, message-cancel-message)
(message-add-header, message-change-subject)
(message-cross-post-followup-to-header)
(message-cross-post-insert-note, message-reduce-to-to-cc)
(message-widen-reply, message-delete-not-region)
(message-kill-to-signature, message-insert-signature)
(message-insert-importance-high, message-insert-importance-low)
(message-insert-or-toggle-importance)
(message-insert-disposition-notification-to)
(message-indent-citation, message-yank-original)
(message-cite-original-without-signature, message-cite-original)
(message-insert-citation-line, message-position-on-field)
(message-fix-before-sending, message-send-mail-partially)
(message-send-mail, message-send-mail-with-sendmail)
(message-send-mail-with-qmail, message-send-news)
(message-check-news-header-syntax, message-generate-headers)
(message-insert-courtesy-copy, message-fill-address)
(message-fill-header, message-shorten-references)
(message-setup-1, message-cancel-news)
(message-forward-make-body-plain) (message-forward-make-body-mime)
(message-forward-make-body-mml) (message-encode-message-body)
(message-forward-make-body-digest-plain)
(message-forward-make-body-digest-mime)
(message-use-alternative-email-as-from): Insert `hard-newline'
instead of ordinary newlines.
| -rw-r--r-- | lisp/gnus/ChangeLog | 30 | ||||
| -rw-r--r-- | lisp/gnus/message.el | 175 |
2 files changed, 131 insertions, 74 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index f197ea11940..10e5ba0dc88 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,33 @@ | |||
| 1 | 2005-11-17 Chong Yidong <cyd@stupidchicken.com> | ||
| 2 | |||
| 3 | * message.el (message-courtesy-message) | ||
| 4 | (message-mark-insert-begin, message-mark-insert-end) | ||
| 5 | (message-elide-ellipsis, message-cancel-message) | ||
| 6 | (message-add-header, message-change-subject) | ||
| 7 | (message-cross-post-followup-to-header) | ||
| 8 | (message-cross-post-insert-note, message-reduce-to-to-cc) | ||
| 9 | (message-widen-reply, message-delete-not-region) | ||
| 10 | (message-kill-to-signature, message-insert-signature) | ||
| 11 | (message-insert-importance-high, message-insert-importance-low) | ||
| 12 | (message-insert-or-toggle-importance) | ||
| 13 | (message-insert-disposition-notification-to) | ||
| 14 | (message-indent-citation, message-yank-original) | ||
| 15 | (message-cite-original-without-signature, message-cite-original) | ||
| 16 | (message-insert-citation-line, message-position-on-field) | ||
| 17 | (message-fix-before-sending, message-send-mail-partially) | ||
| 18 | (message-send-mail, message-send-mail-with-sendmail) | ||
| 19 | (message-send-mail-with-qmail, message-send-news) | ||
| 20 | (message-check-news-header-syntax, message-generate-headers) | ||
| 21 | (message-insert-courtesy-copy, message-fill-address) | ||
| 22 | (message-fill-header, message-shorten-references) | ||
| 23 | (message-setup-1, message-cancel-news) | ||
| 24 | (message-forward-make-body-plain) (message-forward-make-body-mime) | ||
| 25 | (message-forward-make-body-mml) (message-encode-message-body) | ||
| 26 | (message-forward-make-body-digest-plain) | ||
| 27 | (message-forward-make-body-digest-mime) | ||
| 28 | (message-use-alternative-email-as-from): Insert `hard-newline' | ||
| 29 | instead of ordinary newlines. | ||
| 30 | |||
| 1 | 2005-11-09 Katsumi Yamaoka <yamaoka@jpl.org> | 31 | 2005-11-09 Katsumi Yamaoka <yamaoka@jpl.org> |
| 2 | 32 | ||
| 3 | * message.el (message-generate-headers): Downcase the argument | 33 | * message.el (message-generate-headers): Downcase the argument |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index 019b5bd4f07..9a5f910290a 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -141,7 +141,11 @@ mailbox format." | |||
| 141 | :group 'message-sending) | 141 | :group 'message-sending) |
| 142 | 142 | ||
| 143 | (defcustom message-courtesy-message | 143 | (defcustom message-courtesy-message |
| 144 | "The following message is a courtesy copy of an article\nthat has been posted to %s as well.\n\n" | 144 | (concat |
| 145 | "The following message is a courtesy copy of an article" | ||
| 146 | hard-newline | ||
| 147 | "that has been posted to %s as well." | ||
| 148 | hard-newline hard-newline) | ||
| 145 | "*This is inserted at the start of a mailed copy of a posted message. | 149 | "*This is inserted at the start of a mailed copy of a posted message. |
| 146 | If the string contains the format spec \"%s\", the Newsgroups | 150 | If the string contains the format spec \"%s\", the Newsgroups |
| 147 | the article has been posted to will be inserted there. | 151 | the article has been posted to will be inserted there. |
| @@ -339,7 +343,9 @@ few false positives here." | |||
| 339 | ;;; marking inserted text | 343 | ;;; marking inserted text |
| 340 | 344 | ||
| 341 | (defcustom message-mark-insert-begin | 345 | (defcustom message-mark-insert-begin |
| 342 | "--8<---------------cut here---------------start------------->8---\n" | 346 | (concat |
| 347 | "--8<---------------cut here---------------start------------->8---" | ||
| 348 | hard-newline) | ||
| 343 | "How to mark the beginning of some inserted text." | 349 | "How to mark the beginning of some inserted text." |
| 344 | :version "22.1" | 350 | :version "22.1" |
| 345 | :type 'string | 351 | :type 'string |
| @@ -347,14 +353,16 @@ few false positives here." | |||
| 347 | :group 'message-various) | 353 | :group 'message-various) |
| 348 | 354 | ||
| 349 | (defcustom message-mark-insert-end | 355 | (defcustom message-mark-insert-end |
| 350 | "--8<---------------cut here---------------end--------------->8---\n" | 356 | (concat |
| 357 | "--8<---------------cut here---------------end--------------->8---" | ||
| 358 | hard-newline) | ||
| 351 | "How to mark the end of some inserted text." | 359 | "How to mark the end of some inserted text." |
| 352 | :version "22.1" | 360 | :version "22.1" |
| 353 | :type 'string | 361 | :type 'string |
| 354 | :link '(custom-manual "(message)Insertion Variables") | 362 | :link '(custom-manual "(message)Insertion Variables") |
| 355 | :group 'message-various) | 363 | :group 'message-various) |
| 356 | 364 | ||
| 357 | (defcustom message-archive-header "X-No-Archive: Yes\n" | 365 | (defcustom message-archive-header "X-No-Archive: Yes" |
| 358 | "Header to insert when you don't want your article to be archived. | 366 | "Header to insert when you don't want your article to be archived. |
| 359 | Archives \(such as groups.google.com\) respect this header." | 367 | Archives \(such as groups.google.com\) respect this header." |
| 360 | :version "22.1" | 368 | :version "22.1" |
| @@ -418,7 +426,8 @@ for `message-cross-post-insert-note'." | |||
| 418 | :link '(custom-manual "(message)Various Message Variables") | 426 | :link '(custom-manual "(message)Various Message Variables") |
| 419 | :group 'message-various) | 427 | :group 'message-various) |
| 420 | 428 | ||
| 421 | (defcustom message-elide-ellipsis "\n[...]\n\n" | 429 | (defcustom message-elide-ellipsis |
| 430 | (concat hard-newline "[...]" hard-newline hard-newline) | ||
| 422 | "*The string which is inserted for elided text." | 431 | "*The string which is inserted for elided text." |
| 423 | :type 'string | 432 | :type 'string |
| 424 | :link '(custom-manual "(message)Various Commands") | 433 | :link '(custom-manual "(message)Various Commands") |
| @@ -578,7 +587,8 @@ Done before generating the new subject of a forward." | |||
| 578 | :link '(custom-manual "(message)Insertion Variables") | 587 | :link '(custom-manual "(message)Insertion Variables") |
| 579 | :type 'regexp) | 588 | :type 'regexp) |
| 580 | 589 | ||
| 581 | (defcustom message-cancel-message "I am canceling my own article.\n" | 590 | (defcustom message-cancel-message |
| 591 | (concat "I am canceling my own article." hard-newline) | ||
| 582 | "Message to be inserted in the cancel message." | 592 | "Message to be inserted in the cancel message." |
| 583 | :group 'message-interface | 593 | :group 'message-interface |
| 584 | :link '(custom-manual "(message)Canceling News") | 594 | :link '(custom-manual "(message)Canceling News") |
| @@ -1734,7 +1744,7 @@ see `message-narrow-to-headers-or-head'." | |||
| 1734 | (goto-char (point-max)) | 1744 | (goto-char (point-max)) |
| 1735 | (if (string-match "\n$" (car headers)) | 1745 | (if (string-match "\n$" (car headers)) |
| 1736 | (insert (car headers)) | 1746 | (insert (car headers)) |
| 1737 | (insert (car headers) ?\n))))) | 1747 | (insert (car headers) hard-newline))))) |
| 1738 | (setq headers (cdr headers)))) | 1748 | (setq headers (cdr headers)))) |
| 1739 | 1749 | ||
| 1740 | (defmacro message-with-reply-buffer (&rest forms) | 1750 | (defmacro message-with-reply-buffer (&rest forms) |
| @@ -1841,7 +1851,7 @@ Leading \"Re: \" is not stripped by this function. Use the function | |||
| 1841 | (insert (concat "Subject: " | 1851 | (insert (concat "Subject: " |
| 1842 | new-subject | 1852 | new-subject |
| 1843 | " (was: " | 1853 | " (was: " |
| 1844 | old-subject ")\n"))))))))) | 1854 | old-subject ")" hard-newline))))))))) |
| 1845 | 1855 | ||
| 1846 | (defun message-mark-inserted-region (beg end) | 1856 | (defun message-mark-inserted-region (beg end) |
| 1847 | "Mark some region in the current article with enclosing tags. | 1857 | "Mark some region in the current article with enclosing tags. |
| @@ -1925,7 +1935,7 @@ With prefix-argument just set Follow-Up, don't cross-post." | |||
| 1925 | target-group | 1935 | target-group |
| 1926 | "[ \t]*$") | 1936 | "[ \t]*$") |
| 1927 | (message-fetch-field "Newsgroups"))) | 1937 | (message-fetch-field "Newsgroups"))) |
| 1928 | (insert (concat "\nFollowup-To: " target-group))) | 1938 | (insert (concat hard-newline "Followup-To: " target-group))) |
| 1929 | (setq message-cross-post-old-target target-group)) | 1939 | (setq message-cross-post-old-target target-group)) |
| 1930 | 1940 | ||
| 1931 | (defun message-cross-post-insert-note (target-group cross-post in-old | 1941 | (defun message-cross-post-insert-note (target-group cross-post in-old |
| @@ -1957,8 +1967,8 @@ been made to before the user asked for a Crosspost." | |||
| 1957 | (if (or in-old | 1967 | (if (or in-old |
| 1958 | (not cross-post) | 1968 | (not cross-post) |
| 1959 | (string-match "^[ \t]*poster[ \t]*$" target-group)) | 1969 | (string-match "^[ \t]*poster[ \t]*$" target-group)) |
| 1960 | (insert (concat message-followup-to-note target-group "\n")) | 1970 | (insert message-followup-to-note target-group hard-newline) |
| 1961 | (insert (concat message-cross-post-note target-group "\n"))))) | 1971 | (insert message-cross-post-note target-group hard-newline)))) |
| 1962 | 1972 | ||
| 1963 | (defun message-cross-post-followup-to (target-group) | 1973 | (defun message-cross-post-followup-to (target-group) |
| 1964 | "Crossposts message and set Followup-To to TARGET-GROUP. | 1974 | "Crossposts message and set Followup-To to TARGET-GROUP. |
| @@ -2018,7 +2028,7 @@ With prefix-argument just set Follow-Up, don't cross-post." | |||
| 2018 | (save-excursion | 2028 | (save-excursion |
| 2019 | (message-goto-to) | 2029 | (message-goto-to) |
| 2020 | (message-delete-line) | 2030 | (message-delete-line) |
| 2021 | (insert (concat "To: " cc-content "\n")) | 2031 | (insert (concat "To: " cc-content hard-newline)) |
| 2022 | (save-restriction | 2032 | (save-restriction |
| 2023 | (message-narrow-to-headers) | 2033 | (message-narrow-to-headers) |
| 2024 | (message-remove-header (if bcc | 2034 | (message-remove-header (if bcc |
| @@ -2783,7 +2793,7 @@ or in the synonym headers, defined by `message-header-synonyms'." | |||
| 2783 | (message-remove-header (symbol-name (car elem))) | 2793 | (message-remove-header (symbol-name (car elem))) |
| 2784 | (goto-char (point-min)) | 2794 | (goto-char (point-min)) |
| 2785 | (insert (symbol-name (car elem)) ": " | 2795 | (insert (symbol-name (car elem)) ": " |
| 2786 | (cdr elem) "\n")))))) | 2796 | (cdr elem) hard-newline)))))) |
| 2787 | 2797 | ||
| 2788 | (defun message-insert-newsgroups () | 2798 | (defun message-insert-newsgroups () |
| 2789 | "Insert the Newsgroups header from the article being replied to." | 2799 | "Insert the Newsgroups header from the article being replied to." |
| @@ -2813,7 +2823,7 @@ or in the synonym headers, defined by `message-header-synonyms'." | |||
| 2813 | (point) | 2823 | (point) |
| 2814 | (forward-line -2) | 2824 | (forward-line -2) |
| 2815 | (point))) | 2825 | (point))) |
| 2816 | (insert "\n") | 2826 | (insert hard-newline) |
| 2817 | (goto-char beg) | 2827 | (goto-char beg) |
| 2818 | (delete-region beg (progn (message-goto-body) | 2828 | (delete-region beg (progn (message-goto-body) |
| 2819 | (forward-line 2) | 2829 | (forward-line 2) |
| @@ -2832,7 +2842,7 @@ or in the synonym headers, defined by `message-header-synonyms'." | |||
| 2832 | (end-of-line -1)) | 2842 | (end-of-line -1)) |
| 2833 | (kill-region point (point)) | 2843 | (kill-region point (point)) |
| 2834 | (unless (bolp) | 2844 | (unless (bolp) |
| 2835 | (insert "\n")))) | 2845 | (insert hard-newline)))) |
| 2836 | 2846 | ||
| 2837 | (defun message-newline-and-reformat (&optional arg not-break) | 2847 | (defun message-newline-and-reformat (&optional arg not-break) |
| 2838 | "Insert four newlines, and then reformat if inside quoted text. | 2848 | "Insert four newlines, and then reformat if inside quoted text. |
| @@ -2974,15 +2984,15 @@ Prefix arg means justify as well." | |||
| 2974 | (goto-char (point-max)) | 2984 | (goto-char (point-max)) |
| 2975 | ;; Insert the signature. | 2985 | ;; Insert the signature. |
| 2976 | (unless (bolp) | 2986 | (unless (bolp) |
| 2977 | (insert "\n")) | 2987 | (insert hard-newline)) |
| 2978 | (when message-signature-insert-empty-line | 2988 | (when message-signature-insert-empty-line |
| 2979 | (insert "\n")) | 2989 | (insert hard-newline)) |
| 2980 | (insert "-- \n") | 2990 | (insert "-- " hard-newline) |
| 2981 | (if (eq signature t) | 2991 | (if (eq signature t) |
| 2982 | (insert-file-contents message-signature-file) | 2992 | (insert-file-contents message-signature-file) |
| 2983 | (insert signature)) | 2993 | (insert signature)) |
| 2984 | (goto-char (point-max)) | 2994 | (goto-char (point-max)) |
| 2985 | (or (bolp) (insert "\n"))))) | 2995 | (or (bolp) (insert hard-newline))))) |
| 2986 | 2996 | ||
| 2987 | (defun message-insert-importance-high () | 2997 | (defun message-insert-importance-high () |
| 2988 | "Insert header to mark message as important." | 2998 | "Insert header to mark message as important." |
| @@ -2992,7 +3002,7 @@ Prefix arg means justify as well." | |||
| 2992 | (message-narrow-to-headers) | 3002 | (message-narrow-to-headers) |
| 2993 | (message-remove-header "Importance")) | 3003 | (message-remove-header "Importance")) |
| 2994 | (message-goto-eoh) | 3004 | (message-goto-eoh) |
| 2995 | (insert "Importance: high\n"))) | 3005 | (insert "Importance: high" hard-newline))) |
| 2996 | 3006 | ||
| 2997 | (defun message-insert-importance-low () | 3007 | (defun message-insert-importance-low () |
| 2998 | "Insert header to mark message as unimportant." | 3008 | "Insert header to mark message as unimportant." |
| @@ -3002,7 +3012,7 @@ Prefix arg means justify as well." | |||
| 3002 | (message-narrow-to-headers) | 3012 | (message-narrow-to-headers) |
| 3003 | (message-remove-header "Importance")) | 3013 | (message-remove-header "Importance")) |
| 3004 | (message-goto-eoh) | 3014 | (message-goto-eoh) |
| 3005 | (insert "Importance: low\n"))) | 3015 | (insert "Importance: low" hard-newline))) |
| 3006 | 3016 | ||
| 3007 | (defun message-insert-or-toggle-importance () | 3017 | (defun message-insert-or-toggle-importance () |
| 3008 | "Insert a \"Importance: high\" header, or cycle through the header values. | 3018 | "Insert a \"Importance: high\" header, or cycle through the header values. |
| @@ -3024,7 +3034,7 @@ and `low'." | |||
| 3024 | (t | 3034 | (t |
| 3025 | "high"))))) | 3035 | "high"))))) |
| 3026 | (message-goto-eoh) | 3036 | (message-goto-eoh) |
| 3027 | (insert (format "Importance: %s\n" new))))) | 3037 | (insert (format "Importance: %s" new) hard-newline)))) |
| 3028 | 3038 | ||
| 3029 | (defun message-insert-disposition-notification-to () | 3039 | (defun message-insert-disposition-notification-to () |
| 3030 | "Request a disposition notification (return receipt) to this message. | 3040 | "Request a disposition notification (return receipt) to this message. |
| @@ -3035,10 +3045,11 @@ Note that this should not be used in newsgroups." | |||
| 3035 | (message-narrow-to-headers) | 3045 | (message-narrow-to-headers) |
| 3036 | (message-remove-header "Disposition-Notification-To")) | 3046 | (message-remove-header "Disposition-Notification-To")) |
| 3037 | (message-goto-eoh) | 3047 | (message-goto-eoh) |
| 3038 | (insert (format "Disposition-Notification-To: %s\n" | 3048 | (insert (format "Disposition-Notification-To: %s" |
| 3039 | (or (message-field-value "Reply-to") | 3049 | (or (message-field-value "Reply-to") |
| 3040 | (message-field-value "From") | 3050 | (message-field-value "From") |
| 3041 | (message-make-from)))))) | 3051 | (message-make-from))) |
| 3052 | hard-newline))) | ||
| 3042 | 3053 | ||
| 3043 | (defun message-elide-region (b e) | 3054 | (defun message-elide-region (b e) |
| 3044 | "Elide the text in the region. | 3055 | "Elide the text in the region. |
| @@ -3173,7 +3184,7 @@ However, if `message-yank-prefix' is non-nil, insert that prefix on each line." | |||
| 3173 | ;; Delete blank lines at the end of the buffer. | 3184 | ;; Delete blank lines at the end of the buffer. |
| 3174 | (goto-char (point-max)) | 3185 | (goto-char (point-max)) |
| 3175 | (unless (eolp) | 3186 | (unless (eolp) |
| 3176 | (insert "\n")) | 3187 | (insert hard-newline)) |
| 3177 | (while (and (zerop (forward-line -1)) | 3188 | (while (and (zerop (forward-line -1)) |
| 3178 | (looking-at "$")) | 3189 | (looking-at "$")) |
| 3179 | (message-delete-line)) | 3190 | (message-delete-line)) |
| @@ -3211,7 +3222,7 @@ prefix, and don't delete any headers." | |||
| 3211 | (funcall message-cite-function)) | 3222 | (funcall message-cite-function)) |
| 3212 | (message-exchange-point-and-mark) | 3223 | (message-exchange-point-and-mark) |
| 3213 | (unless (bolp) | 3224 | (unless (bolp) |
| 3214 | (insert ?\n)) | 3225 | (insert hard-newline)) |
| 3215 | (unless modified | 3226 | (unless modified |
| 3216 | (setq message-checksum (message-checksum)))))) | 3227 | (setq message-checksum (message-checksum)))))) |
| 3217 | 3228 | ||
| @@ -3269,13 +3280,13 @@ prefix, and don't delete any headers." | |||
| 3269 | (delete-region (point) end) | 3280 | (delete-region (point) end) |
| 3270 | (unless (search-backward "\n\n" start t) | 3281 | (unless (search-backward "\n\n" start t) |
| 3271 | ;; Insert a blank line if it is peeled off. | 3282 | ;; Insert a blank line if it is peeled off. |
| 3272 | (insert "\n"))) | 3283 | (insert hard-newline))) |
| 3273 | (goto-char start) | 3284 | (goto-char start) |
| 3274 | (while functions | 3285 | (while functions |
| 3275 | (funcall (pop functions))) | 3286 | (funcall (pop functions))) |
| 3276 | (when message-citation-line-function | 3287 | (when message-citation-line-function |
| 3277 | (unless (bolp) | 3288 | (unless (bolp) |
| 3278 | (insert "\n")) | 3289 | (insert hard-newline)) |
| 3279 | (funcall message-citation-line-function)))) | 3290 | (funcall message-citation-line-function)))) |
| 3280 | 3291 | ||
| 3281 | (eval-when-compile (defvar mail-citation-hook)) ;Compiler directive | 3292 | (eval-when-compile (defvar mail-citation-hook)) ;Compiler directive |
| @@ -3311,13 +3322,14 @@ prefix, and don't delete any headers." | |||
| 3311 | (funcall (pop functions))) | 3322 | (funcall (pop functions))) |
| 3312 | (when message-citation-line-function | 3323 | (when message-citation-line-function |
| 3313 | (unless (bolp) | 3324 | (unless (bolp) |
| 3314 | (insert "\n")) | 3325 | (insert hard-newline)) |
| 3315 | (funcall message-citation-line-function))))) | 3326 | (funcall message-citation-line-function))))) |
| 3316 | 3327 | ||
| 3317 | (defun message-insert-citation-line () | 3328 | (defun message-insert-citation-line () |
| 3318 | "Insert a simple citation line." | 3329 | "Insert a simple citation line." |
| 3319 | (when message-reply-headers | 3330 | (when message-reply-headers |
| 3320 | (insert (mail-header-from message-reply-headers) " writes:\n\n"))) | 3331 | (insert (mail-header-from message-reply-headers) |
| 3332 | " writes:" hard-newline hard-newline))) | ||
| 3321 | 3333 | ||
| 3322 | (defun message-position-on-field (header &rest afters) | 3334 | (defun message-position-on-field (header &rest afters) |
| 3323 | (let ((case-fold-search t)) | 3335 | (let ((case-fold-search t)) |
| @@ -3343,7 +3355,7 @@ prefix, and don't delete any headers." | |||
| 3343 | (when afters | 3355 | (when afters |
| 3344 | (re-search-forward "^[^ \t]" nil 'move) | 3356 | (re-search-forward "^[^ \t]" nil 'move) |
| 3345 | (beginning-of-line)) | 3357 | (beginning-of-line)) |
| 3346 | (insert header ": \n") | 3358 | (insert header ": " hard-newline) |
| 3347 | (forward-char -1) | 3359 | (forward-char -1) |
| 3348 | nil)))) | 3360 | nil)))) |
| 3349 | 3361 | ||
| @@ -3539,7 +3551,7 @@ It should typically alter the sending method in some way or other." | |||
| 3539 | ;; Make sure there's a newline at the end of the message. | 3551 | ;; Make sure there's a newline at the end of the message. |
| 3540 | (goto-char (point-max)) | 3552 | (goto-char (point-max)) |
| 3541 | (unless (bolp) | 3553 | (unless (bolp) |
| 3542 | (insert "\n")) | 3554 | (insert hard-newline)) |
| 3543 | ;; Make the hidden headers visible. | 3555 | ;; Make the hidden headers visible. |
| 3544 | (let ((points (message-text-with-property 'message-hidden))) | 3556 | (let ((points (message-text-with-property 'message-hidden))) |
| 3545 | (when points | 3557 | (when points |
| @@ -3644,7 +3656,7 @@ It should typically alter the sending method in some way or other." | |||
| 3644 | (goto-char (point-min)) | 3656 | (goto-char (point-min)) |
| 3645 | (re-search-forward | 3657 | (re-search-forward |
| 3646 | (concat "^" (regexp-quote mail-header-separator) "\n")) | 3658 | (concat "^" (regexp-quote mail-header-separator) "\n")) |
| 3647 | (replace-match "\n") | 3659 | (replace-match hard-newline) |
| 3648 | (run-hooks 'message-send-mail-hook) | 3660 | (run-hooks 'message-send-mail-hook) |
| 3649 | (let ((p (goto-char (point-min))) | 3661 | (let ((p (goto-char (point-min))) |
| 3650 | (tembuf (message-generate-new-buffer-clone-locals " message temp")) | 3662 | (tembuf (message-generate-new-buffer-clone-locals " message temp")) |
| @@ -3686,17 +3698,18 @@ It should typically alter the sending method in some way or other." | |||
| 3686 | (message-remove-header "Message-ID") | 3698 | (message-remove-header "Message-ID") |
| 3687 | (message-remove-header "Lines") | 3699 | (message-remove-header "Lines") |
| 3688 | (goto-char (point-max)) | 3700 | (goto-char (point-max)) |
| 3689 | (insert "Mime-Version: 1.0\n") | 3701 | (insert "Mime-Version: 1.0" hard-newline) |
| 3690 | (setq header (buffer-string))) | 3702 | (setq header (buffer-string))) |
| 3691 | (goto-char (point-max)) | 3703 | (goto-char (point-max)) |
| 3692 | (insert (format "Content-Type: message/partial; id=\"%s\"; number=%d; total=%d\n\n" | 3704 | (insert (format "Content-Type: message/partial; id=\"%s\"; number=%d; total=%d" |
| 3693 | id n total)) | 3705 | id n total) |
| 3706 | hard-newline hard-newline) | ||
| 3694 | (forward-char -1) | 3707 | (forward-char -1) |
| 3695 | (let ((mail-header-separator "")) | 3708 | (let ((mail-header-separator "")) |
| 3696 | (when (memq 'Message-ID message-required-mail-headers) | 3709 | (when (memq 'Message-ID message-required-mail-headers) |
| 3697 | (insert "Message-ID: " (message-make-message-id) "\n")) | 3710 | (insert "Message-ID: " (message-make-message-id) hard-newline)) |
| 3698 | (when (memq 'Lines message-required-mail-headers) | 3711 | (when (memq 'Lines message-required-mail-headers) |
| 3699 | (insert "Lines: " (message-make-lines) "\n")) | 3712 | (insert "Lines: " (message-make-lines) hard-newline)) |
| 3700 | (message-goto-subject) | 3713 | (message-goto-subject) |
| 3701 | (end-of-line) | 3714 | (end-of-line) |
| 3702 | (insert (format " (%d/%d)" n total)) | 3715 | (insert (format " (%d/%d)" n total)) |
| @@ -3761,7 +3774,7 @@ It should typically alter the sending method in some way or other." | |||
| 3761 | (goto-char (point-max)) | 3774 | (goto-char (point-max)) |
| 3762 | ;; require one newline at the end. | 3775 | ;; require one newline at the end. |
| 3763 | (or (= (preceding-char) ?\n) | 3776 | (or (= (preceding-char) ?\n) |
| 3764 | (insert ?\n)) | 3777 | (insert hard-newline)) |
| 3765 | (message-cleanup-headers) | 3778 | (message-cleanup-headers) |
| 3766 | ;; FIXME: we're inserting the courtesy copy after encoding. | 3779 | ;; FIXME: we're inserting the courtesy copy after encoding. |
| 3767 | ;; This is wrong if the courtesy copy string contains | 3780 | ;; This is wrong if the courtesy copy string contains |
| @@ -3837,7 +3850,7 @@ If you always want Gnus to send messages in one piece, set | |||
| 3837 | (goto-char (point-min)) | 3850 | (goto-char (point-min)) |
| 3838 | (re-search-forward | 3851 | (re-search-forward |
| 3839 | (concat "^" (regexp-quote mail-header-separator) "\n")) | 3852 | (concat "^" (regexp-quote mail-header-separator) "\n")) |
| 3840 | (replace-match "\n") | 3853 | (replace-match hard-newline) |
| 3841 | (backward-char 1) | 3854 | (backward-char 1) |
| 3842 | (setq delimline (point-marker)) | 3855 | (setq delimline (point-marker)) |
| 3843 | (run-hooks 'message-send-mail-hook) | 3856 | (run-hooks 'message-send-mail-hook) |
| @@ -3899,7 +3912,7 @@ to find out how to use this." | |||
| 3899 | (goto-char (point-min)) | 3912 | (goto-char (point-min)) |
| 3900 | (re-search-forward | 3913 | (re-search-forward |
| 3901 | (concat "^" (regexp-quote mail-header-separator) "\n")) | 3914 | (concat "^" (regexp-quote mail-header-separator) "\n")) |
| 3902 | (replace-match "\n") | 3915 | (replace-match hard-newline) |
| 3903 | (run-hooks 'message-send-mail-hook) | 3916 | (run-hooks 'message-send-mail-hook) |
| 3904 | ;; send the message | 3917 | ;; send the message |
| 3905 | (case | 3918 | (case |
| @@ -4067,13 +4080,13 @@ Otherwise, generate and save a value for `canlock-password' first." | |||
| 4067 | (goto-char (point-max)) | 4080 | (goto-char (point-max)) |
| 4068 | ;; require one newline at the end. | 4081 | ;; require one newline at the end. |
| 4069 | (or (= (preceding-char) ?\n) | 4082 | (or (= (preceding-char) ?\n) |
| 4070 | (insert ?\n)) | 4083 | (insert hard-newline)) |
| 4071 | (let ((case-fold-search t)) | 4084 | (let ((case-fold-search t)) |
| 4072 | ;; Remove the delimiter. | 4085 | ;; Remove the delimiter. |
| 4073 | (goto-char (point-min)) | 4086 | (goto-char (point-min)) |
| 4074 | (re-search-forward | 4087 | (re-search-forward |
| 4075 | (concat "^" (regexp-quote mail-header-separator) "\n")) | 4088 | (concat "^" (regexp-quote mail-header-separator) "\n")) |
| 4076 | (replace-match "\n") | 4089 | (replace-match hard-newline) |
| 4077 | (backward-char 1)) | 4090 | (backward-char 1)) |
| 4078 | (run-hooks 'message-send-news-hook) | 4091 | (run-hooks 'message-send-news-hook) |
| 4079 | (gnus-open-server method) | 4092 | (gnus-open-server method) |
| @@ -4200,7 +4213,7 @@ Otherwise, generate and save a value for `canlock-password' first." | |||
| 4200 | (message-tokenize-header | 4213 | (message-tokenize-header |
| 4201 | newsgroups))))))))) | 4214 | newsgroups))))))))) |
| 4202 | (goto-char (point-min)) | 4215 | (goto-char (point-min)) |
| 4203 | (insert "Followup-To: " to "\n")) | 4216 | (insert "Followup-To: " to hard-newline)) |
| 4204 | t)) | 4217 | t)) |
| 4205 | ;; Check "Shoot me". | 4218 | ;; Check "Shoot me". |
| 4206 | (message-check 'shoot | 4219 | (message-check 'shoot |
| @@ -5099,7 +5112,7 @@ Headers already prepared in the buffer are not modified." | |||
| 5099 | ;; We check whether the value was ended by a | 5112 | ;; We check whether the value was ended by a |
| 5100 | ;; newline. If now, we insert one. | 5113 | ;; newline. If now, we insert one. |
| 5101 | (unless (bolp) | 5114 | (unless (bolp) |
| 5102 | (insert "\n")) | 5115 | (insert hard-newline)) |
| 5103 | (forward-line -1))) | 5116 | (forward-line -1))) |
| 5104 | ;; The value of this header was empty, so we clear | 5117 | ;; The value of this header was empty, so we clear |
| 5105 | ;; totally and insert the new value. | 5118 | ;; totally and insert the new value. |
| @@ -5139,7 +5152,7 @@ Headers already prepared in the buffer are not modified." | |||
| 5139 | (beginning-of-line)) | 5152 | (beginning-of-line)) |
| 5140 | (when (or (message-news-p) | 5153 | (when (or (message-news-p) |
| 5141 | (string-match "@.+\\.." secure-sender)) | 5154 | (string-match "@.+\\.." secure-sender)) |
| 5142 | (insert "Sender: " secure-sender "\n")))) | 5155 | (insert "Sender: " secure-sender hard-newline)))) |
| 5143 | ;; Check for IDNA | 5156 | ;; Check for IDNA |
| 5144 | (message-idna-to-ascii-rhs)))) | 5157 | (message-idna-to-ascii-rhs)))) |
| 5145 | 5158 | ||
| @@ -5151,7 +5164,7 @@ Headers already prepared in the buffer are not modified." | |||
| 5151 | (message-narrow-to-headers) | 5164 | (message-narrow-to-headers) |
| 5152 | (when (setq newsgroups (message-fetch-field "newsgroups")) | 5165 | (when (setq newsgroups (message-fetch-field "newsgroups")) |
| 5153 | (goto-char (point-max)) | 5166 | (goto-char (point-max)) |
| 5154 | (insert "Posted-To: " newsgroups "\n"))) | 5167 | (insert "Posted-To: " newsgroups hard-newline))) |
| 5155 | (forward-line 1) | 5168 | (forward-line 1) |
| 5156 | (when message-courtesy-message | 5169 | (when message-courtesy-message |
| 5157 | (cond | 5170 | (cond |
| @@ -5170,7 +5183,7 @@ Headers already prepared in the buffer are not modified." | |||
| 5170 | (insert (capitalize (symbol-name header)) | 5183 | (insert (capitalize (symbol-name header)) |
| 5171 | ": " | 5184 | ": " |
| 5172 | (if (consp value) (car value) value) | 5185 | (if (consp value) (car value) value) |
| 5173 | "\n") | 5186 | hard-newline) |
| 5174 | (narrow-to-region (point-min) (1- (point-max))) | 5187 | (narrow-to-region (point-min) (1- (point-max))) |
| 5175 | (let (quoted last) | 5188 | (let (quoted last) |
| 5176 | (goto-char (point-min)) | 5189 | (goto-char (point-min)) |
| @@ -5184,7 +5197,7 @@ Headers already prepared in the buffer are not modified." | |||
| 5184 | (progn | 5197 | (progn |
| 5185 | (save-excursion | 5198 | (save-excursion |
| 5186 | (goto-char last) | 5199 | (goto-char last) |
| 5187 | (insert "\n\t")) | 5200 | (insert hard-newline "\t")) |
| 5188 | (setq last (1+ (point)))) | 5201 | (setq last (1+ (point)))) |
| 5189 | (setq last (1+ (point))))) | 5202 | (setq last (1+ (point))))) |
| 5190 | (setq quoted (not quoted))) | 5203 | (setq quoted (not quoted))) |
| @@ -5210,7 +5223,7 @@ If the current line has `message-yank-prefix', insert it on the new line." | |||
| 5210 | (insert (capitalize (symbol-name header)) | 5223 | (insert (capitalize (symbol-name header)) |
| 5211 | ": " | 5224 | ": " |
| 5212 | (if (consp value) (car value) value) | 5225 | (if (consp value) (car value) value) |
| 5213 | "\n") | 5226 | hard-newline) |
| 5214 | (save-restriction | 5227 | (save-restriction |
| 5215 | (narrow-to-region begin (point)) | 5228 | (narrow-to-region begin (point)) |
| 5216 | (fill-region-as-paragraph begin (point)) | 5229 | (fill-region-as-paragraph begin (point)) |
| @@ -5279,7 +5292,7 @@ than 988 characters long, and if they are not, trim them until they are." | |||
| 5279 | (let ((refstring (mapconcat #'identity refs " "))) | 5292 | (let ((refstring (mapconcat #'identity refs " "))) |
| 5280 | (if (and message-this-is-news message-cater-to-broken-inn) | 5293 | (if (and message-this-is-news message-cater-to-broken-inn) |
| 5281 | (insert (capitalize (symbol-name header)) ": " | 5294 | (insert (capitalize (symbol-name header)) ": " |
| 5282 | refstring "\n") | 5295 | refstring hard-newline) |
| 5283 | (message-fill-header header refstring))))) | 5296 | (message-fill-header header refstring))))) |
| 5284 | 5297 | ||
| 5285 | (defun message-position-point () | 5298 | (defun message-position-point () |
| @@ -5508,18 +5521,18 @@ are not included." | |||
| 5508 | (delete-region (point) (progn (forward-line -1) (point))) | 5521 | (delete-region (point) (progn (forward-line -1) (point))) |
| 5509 | (when message-default-headers | 5522 | (when message-default-headers |
| 5510 | (insert message-default-headers) | 5523 | (insert message-default-headers) |
| 5511 | (or (bolp) (insert ?\n))) | 5524 | (or (bolp) (insert hard-newline))) |
| 5512 | (put-text-property | 5525 | (put-text-property |
| 5513 | (point) | 5526 | (point) |
| 5514 | (progn | 5527 | (progn |
| 5515 | (insert mail-header-separator "\n") | 5528 | (insert mail-header-separator hard-newline) |
| 5516 | (1- (point))) | 5529 | (1- (point))) |
| 5517 | 'read-only nil) | 5530 | 'read-only nil) |
| 5518 | (forward-line -1) | 5531 | (forward-line -1) |
| 5519 | (when (message-news-p) | 5532 | (when (message-news-p) |
| 5520 | (when message-default-news-headers | 5533 | (when message-default-news-headers |
| 5521 | (insert message-default-news-headers) | 5534 | (insert message-default-news-headers) |
| 5522 | (or (bolp) (insert ?\n))) | 5535 | (or (bolp) (insert hard-newline))) |
| 5523 | (when message-generate-headers-first | 5536 | (when message-generate-headers-first |
| 5524 | (message-generate-headers | 5537 | (message-generate-headers |
| 5525 | (message-headers-to-generate | 5538 | (message-headers-to-generate |
| @@ -5530,7 +5543,7 @@ are not included." | |||
| 5530 | (when (message-mail-p) | 5543 | (when (message-mail-p) |
| 5531 | (when message-default-mail-headers | 5544 | (when message-default-mail-headers |
| 5532 | (insert message-default-mail-headers) | 5545 | (insert message-default-mail-headers) |
| 5533 | (or (bolp) (insert ?\n))) | 5546 | (or (bolp) (insert hard-newline))) |
| 5534 | (save-restriction | 5547 | (save-restriction |
| 5535 | (message-narrow-to-headers) | 5548 | (message-narrow-to-headers) |
| 5536 | (if message-alternative-emails | 5549 | (if message-alternative-emails |
| @@ -6012,14 +6025,14 @@ If ARG, allow editing of the cancellation message." | |||
| 6012 | (message-news) | 6025 | (message-news) |
| 6013 | (setq buf (set-buffer (get-buffer-create " *message cancel*")))) | 6026 | (setq buf (set-buffer (get-buffer-create " *message cancel*")))) |
| 6014 | (erase-buffer) | 6027 | (erase-buffer) |
| 6015 | (insert "Newsgroups: " newsgroups "\n" | 6028 | (insert "Newsgroups: " newsgroups hard-newline |
| 6016 | "From: " from "\n" | 6029 | "From: " from hard-newline |
| 6017 | "Subject: cmsg cancel " message-id "\n" | 6030 | "Subject: cmsg cancel " message-id hard-newline |
| 6018 | "Control: cancel " message-id "\n" | 6031 | "Control: cancel " message-id hard-newline |
| 6019 | (if distribution | 6032 | (if distribution |
| 6020 | (concat "Distribution: " distribution "\n") | 6033 | (concat "Distribution: " distribution hard-newline) |
| 6021 | "") | 6034 | "") |
| 6022 | mail-header-separator "\n" | 6035 | mail-header-separator hard-newline |
| 6023 | message-cancel-message) | 6036 | message-cancel-message) |
| 6024 | (run-hooks 'message-cancel-hook) | 6037 | (run-hooks 'message-cancel-hook) |
| 6025 | (unless arg | 6038 | (unless arg |
| @@ -6208,7 +6221,9 @@ Optional DIGEST will use digest to forward." | |||
| 6208 | 6221 | ||
| 6209 | (defun message-forward-make-body-plain (forward-buffer) | 6222 | (defun message-forward-make-body-plain (forward-buffer) |
| 6210 | (insert | 6223 | (insert |
| 6211 | "\n-------------------- Start of forwarded message --------------------\n") | 6224 | hard-newline |
| 6225 | "-------------------- Start of forwarded message --------------------" | ||
| 6226 | hard-newline) | ||
| 6212 | (let ((b (point)) e) | 6227 | (let ((b (point)) e) |
| 6213 | (insert | 6228 | (insert |
| 6214 | (with-temp-buffer | 6229 | (with-temp-buffer |
| @@ -6224,7 +6239,9 @@ Optional DIGEST will use digest to forward." | |||
| 6224 | (buffer-string))) | 6239 | (buffer-string))) |
| 6225 | (setq e (point)) | 6240 | (setq e (point)) |
| 6226 | (insert | 6241 | (insert |
| 6227 | "\n-------------------- End of forwarded message --------------------\n") | 6242 | hard-newline |
| 6243 | "-------------------- End of forwarded message --------------------" | ||
| 6244 | hard-newline) | ||
| 6228 | (when message-forward-ignored-headers | 6245 | (when message-forward-ignored-headers |
| 6229 | (save-restriction | 6246 | (save-restriction |
| 6230 | (narrow-to-region b e) | 6247 | (narrow-to-region b e) |
| @@ -6234,7 +6251,10 @@ Optional DIGEST will use digest to forward." | |||
| 6234 | (message-remove-header message-forward-ignored-headers t))))) | 6251 | (message-remove-header message-forward-ignored-headers t))))) |
| 6235 | 6252 | ||
| 6236 | (defun message-forward-make-body-mime (forward-buffer) | 6253 | (defun message-forward-make-body-mime (forward-buffer) |
| 6237 | (insert "\n\n<#part type=message/rfc822 disposition=inline raw=t>\n") | 6254 | (insert |
| 6255 | hard-newline hard-newline | ||
| 6256 | "<#part type=message/rfc822 disposition=inline raw=t>" | ||
| 6257 | hard-newline) | ||
| 6238 | (let ((b (point)) e) | 6258 | (let ((b (point)) e) |
| 6239 | (save-restriction | 6259 | (save-restriction |
| 6240 | (narrow-to-region (point) (point)) | 6260 | (narrow-to-region (point) (point)) |
| @@ -6244,10 +6264,13 @@ Optional DIGEST will use digest to forward." | |||
| 6244 | (replace-match "X-From-Line: ")) | 6264 | (replace-match "X-From-Line: ")) |
| 6245 | (goto-char (point-max))) | 6265 | (goto-char (point-max))) |
| 6246 | (setq e (point)) | 6266 | (setq e (point)) |
| 6247 | (insert "<#/part>\n"))) | 6267 | (insert "<#/part>" hard-newline))) |
| 6248 | 6268 | ||
| 6249 | (defun message-forward-make-body-mml (forward-buffer) | 6269 | (defun message-forward-make-body-mml (forward-buffer) |
| 6250 | (insert "\n\n<#mml type=message/rfc822 disposition=inline>\n") | 6270 | (insert |
| 6271 | hard-newline hard-newline | ||
| 6272 | "<#mml type=message/rfc822 disposition=inline>" | ||
| 6273 | hard-newline) | ||
| 6251 | (let ((b (point)) e) | 6274 | (let ((b (point)) e) |
| 6252 | (if (not message-forward-decoded-p) | 6275 | (if (not message-forward-decoded-p) |
| 6253 | (insert | 6276 | (insert |
| @@ -6270,7 +6293,7 @@ Optional DIGEST will use digest to forward." | |||
| 6270 | (replace-match "X-From-Line: ")) | 6293 | (replace-match "X-From-Line: ")) |
| 6271 | (goto-char (point-max)))) | 6294 | (goto-char (point-max)))) |
| 6272 | (setq e (point)) | 6295 | (setq e (point)) |
| 6273 | (insert "<#/mml>\n") | 6296 | (insert "<#/mml>" hard-newline) |
| 6274 | (when (and (not message-forward-decoded-p) | 6297 | (when (and (not message-forward-decoded-p) |
| 6275 | message-forward-ignored-headers) | 6298 | message-forward-ignored-headers) |
| 6276 | (save-restriction | 6299 | (save-restriction |
| @@ -6282,19 +6305,23 @@ Optional DIGEST will use digest to forward." | |||
| 6282 | 6305 | ||
| 6283 | (defun message-forward-make-body-digest-plain (forward-buffer) | 6306 | (defun message-forward-make-body-digest-plain (forward-buffer) |
| 6284 | (insert | 6307 | (insert |
| 6285 | "\n-------------------- Start of forwarded message --------------------\n") | 6308 | hard-newline |
| 6309 | "-------------------- Start of forwarded message --------------------" | ||
| 6310 | hard-newline) | ||
| 6286 | (let ((b (point)) e) | 6311 | (let ((b (point)) e) |
| 6287 | (mml-insert-buffer forward-buffer) | 6312 | (mml-insert-buffer forward-buffer) |
| 6288 | (setq e (point)) | 6313 | (setq e (point)) |
| 6289 | (insert | 6314 | (insert |
| 6290 | "\n-------------------- End of forwarded message --------------------\n"))) | 6315 | hard-newline |
| 6316 | "-------------------- End of forwarded message --------------------" | ||
| 6317 | hard-newline))) | ||
| 6291 | 6318 | ||
| 6292 | (defun message-forward-make-body-digest-mime (forward-buffer) | 6319 | (defun message-forward-make-body-digest-mime (forward-buffer) |
| 6293 | (insert "\n<#multipart type=digest>\n") | 6320 | (insert hard-newline "<#multipart type=digest>" hard-newline) |
| 6294 | (let ((b (point)) e) | 6321 | (let ((b (point)) e) |
| 6295 | (insert-buffer-substring forward-buffer) | 6322 | (insert-buffer-substring forward-buffer) |
| 6296 | (setq e (point)) | 6323 | (setq e (point)) |
| 6297 | (insert "<#/multipart>\n") | 6324 | (insert "<#/multipart>" hard-newline) |
| 6298 | (save-restriction | 6325 | (save-restriction |
| 6299 | (narrow-to-region b e) | 6326 | (narrow-to-region b e) |
| 6300 | (goto-char b) | 6327 | (goto-char b) |
| @@ -6799,7 +6826,7 @@ regexp VARSTR." | |||
| 6799 | (message-narrow-to-headers-or-head) | 6826 | (message-narrow-to-headers-or-head) |
| 6800 | (message-remove-header "Mime-Version") | 6827 | (message-remove-header "Mime-Version") |
| 6801 | (goto-char (point-max)) | 6828 | (goto-char (point-max)) |
| 6802 | (insert "MIME-Version: 1.0\n") | 6829 | (insert "MIME-Version: 1.0" hard-newline) |
| 6803 | (when lines | 6830 | (when lines |
| 6804 | (insert lines)) | 6831 | (insert lines)) |
| 6805 | (setq content-type-p | 6832 | (setq content-type-p |
| @@ -6819,7 +6846,7 @@ regexp VARSTR." | |||
| 6819 | ;; For unknown reason, MIME-Version doesn't exist. | 6846 | ;; For unknown reason, MIME-Version doesn't exist. |
| 6820 | (when (re-search-forward "^MIME-Version:" nil t) | 6847 | (when (re-search-forward "^MIME-Version:" nil t) |
| 6821 | (forward-line 1) | 6848 | (forward-line 1) |
| 6822 | (insert "Content-Type: text/plain; charset=us-ascii\n")))))) | 6849 | (insert "Content-Type: text/plain; charset=us-ascii" hard-newline)))))) |
| 6823 | 6850 | ||
| 6824 | (defun message-read-from-minibuffer (prompt &optional initial-contents) | 6851 | (defun message-read-from-minibuffer (prompt &optional initial-contents) |
| 6825 | "Read from the minibuffer while providing abbrev expansion." | 6852 | "Read from the minibuffer while providing abbrev expansion." |
| @@ -6848,7 +6875,7 @@ regexp VARSTR." | |||
| 6848 | (pop emails)) | 6875 | (pop emails)) |
| 6849 | (unless (or (not email) (equal email user-mail-address)) | 6876 | (unless (or (not email) (equal email user-mail-address)) |
| 6850 | (goto-char (point-max)) | 6877 | (goto-char (point-max)) |
| 6851 | (insert "From: " email "\n")))) | 6878 | (insert "From: " email hard-newline)))) |
| 6852 | 6879 | ||
| 6853 | (defun message-options-get (symbol) | 6880 | (defun message-options-get (symbol) |
| 6854 | (cdr (assq symbol message-options))) | 6881 | (cdr (assq symbol message-options))) |