diff options
| author | Miles Bader | 2006-11-16 11:10:48 +0000 |
|---|---|---|
| committer | Miles Bader | 2006-11-16 11:10:48 +0000 |
| commit | 4573e0dfb8136b7b92a4caee7f87c2561565fbae (patch) | |
| tree | 840828881f53083d7841cf910f454f9dd3e68551 | |
| parent | 033ecf787a3e1a250a43d179dec788f6c90c0482 (diff) | |
| download | emacs-4573e0dfb8136b7b92a4caee7f87c2561565fbae.tar.gz emacs-4573e0dfb8136b7b92a4caee7f87c2561565fbae.zip | |
Merge from gnus--rel--5.10
Patches applied:
* gnus--rel--5.10 (patch 164-166)
- Update from CVS
2006-11-15 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/gnus-util.el (gnus-extract-address-components): Improve comment.
2006-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/gnus-util.el (gnus-extract-address-components): Work with address in
which the name portion contains @.
2006-11-14 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/gnus.el (gnus-start): Move custom group up.
(gnus-select-method): Don't autoload, but make it available for
`customize-variable'.
(gnus-getenv-nntpserver): Don't autoload.
2006-11-14 Katsumi Yamaoka <yamaoka@jpl.org>
* lisp/gnus/mml.el (mml-generate-mime-1): Use mm-string-as-unibyte instead of
mm-with-unibyte-current-buffer to make string unibyte.
* lisp/gnus/mm-decode.el (mm-insert-part): Use mm-string-to-multibyte instead of
mm-string-as-multibyte.
2006-11-09 Reiner Steib <Reiner.Steib@gmx.de>
* lisp/gnus/message.el: Merge from the trunk to fix the bug WRT double encoded
subjects.
(message-replacement-char): New variable.
(message-fix-before-sending): Use it.
(message-simplify-subject): New function to remove duplicate code.
(message-reply, message-followup): Use it.
(message-simplify-subject-functions): New variable.
(message-strip-subject-encoded-words): New function
2006-11-08 Wolfgang Jenkner <wjenkner@inode.at> (tiny change)
* lisp/gnus/gnus-sum.el (gnus-summary-catchup): Use gnus-sorted-intersection
instead of gnus-intersection because arguments of gnus-sorted-nunion
must be sorted. This avoids corruption of gnus-newsgroup-unreads.
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-515
| -rw-r--r-- | lisp/gnus/ChangeLog | 41 | ||||
| -rw-r--r-- | lisp/gnus/gnus-sum.el | 4 | ||||
| -rw-r--r-- | lisp/gnus/gnus-util.el | 9 | ||||
| -rw-r--r-- | lisp/gnus/gnus.el | 17 | ||||
| -rw-r--r-- | lisp/gnus/message.el | 146 | ||||
| -rw-r--r-- | lisp/gnus/mm-decode.el | 2 | ||||
| -rw-r--r-- | lisp/gnus/mml.el | 6 |
7 files changed, 198 insertions, 27 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index aa222ee43a5..95e8bff4d16 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,44 @@ | |||
| 1 | 2006-11-15 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 2 | |||
| 3 | * gnus-util.el (gnus-extract-address-components): Improve comment. | ||
| 4 | |||
| 5 | 2006-11-14 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 6 | |||
| 7 | * gnus-util.el (gnus-extract-address-components): Work with address in | ||
| 8 | which the name portion contains @. | ||
| 9 | |||
| 10 | 2006-11-14 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 11 | |||
| 12 | * gnus.el (gnus-start): Move custom group up. | ||
| 13 | (gnus-select-method): Don't autoload, but make it available for | ||
| 14 | `customize-variable'. | ||
| 15 | (gnus-getenv-nntpserver): Don't autoload. | ||
| 16 | |||
| 17 | 2006-11-14 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 18 | |||
| 19 | * mml.el (mml-generate-mime-1): Use mm-string-as-unibyte instead of | ||
| 20 | mm-with-unibyte-current-buffer to make string unibyte. | ||
| 21 | |||
| 22 | * mm-decode.el (mm-insert-part): Use mm-string-to-multibyte instead of | ||
| 23 | mm-string-as-multibyte. | ||
| 24 | |||
| 25 | 2006-11-09 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 26 | |||
| 27 | * message.el: Merge from the trunk to fix the bug WRT double encoded | ||
| 28 | subjects. | ||
| 29 | (message-replacement-char): New variable. | ||
| 30 | (message-fix-before-sending): Use it. | ||
| 31 | (message-simplify-subject): New function to remove duplicate code. | ||
| 32 | (message-reply, message-followup): Use it. | ||
| 33 | (message-simplify-subject-functions): New variable. | ||
| 34 | (message-strip-subject-encoded-words): New function | ||
| 35 | |||
| 36 | 2006-11-08 Wolfgang Jenkner <wjenkner@inode.at> (tiny change) | ||
| 37 | |||
| 38 | * gnus-sum.el (gnus-summary-catchup): Use gnus-sorted-intersection | ||
| 39 | instead of gnus-intersection because arguments of gnus-sorted-nunion | ||
| 40 | must be sorted. This avoids corruption of gnus-newsgroup-unreads. | ||
| 41 | |||
| 1 | 2006-11-03 Juanma Barranquero <lekktu@gmail.com> | 42 | 2006-11-03 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 43 | ||
| 3 | * gnus-diary.el (gnus-diary-delay-format-function): | 44 | * gnus-diary.el (gnus-diary-delay-format-function): |
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 7d0b7203654..6bf4142216d 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el | |||
| @@ -10470,8 +10470,8 @@ The number of articles marked as read is returned." | |||
| 10470 | gnus-newsgroup-dormant nil)) | 10470 | gnus-newsgroup-dormant nil)) |
| 10471 | (setq gnus-newsgroup-unreads | 10471 | (setq gnus-newsgroup-unreads |
| 10472 | (gnus-sorted-nunion | 10472 | (gnus-sorted-nunion |
| 10473 | (gnus-intersection gnus-newsgroup-unreads | 10473 | (gnus-sorted-intersection gnus-newsgroup-unreads |
| 10474 | gnus-newsgroup-downloadable) | 10474 | gnus-newsgroup-downloadable) |
| 10475 | gnus-newsgroup-unfetched))) | 10475 | gnus-newsgroup-unfetched))) |
| 10476 | ;; We actually mark all articles as canceled, which we | 10476 | ;; We actually mark all articles as canceled, which we |
| 10477 | ;; have to do when using auto-expiry or adaptive scoring. | 10477 | ;; have to do when using auto-expiry or adaptive scoring. |
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index 09d7ab9432e..b88a433b5fc 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el | |||
| @@ -202,8 +202,13 @@ is slower." | |||
| 202 | ;; First find the address - the thing with the @ in it. This may | 202 | ;; First find the address - the thing with the @ in it. This may |
| 203 | ;; not be accurate in mail addresses, but does the trick most of | 203 | ;; not be accurate in mail addresses, but does the trick most of |
| 204 | ;; the time in news messages. | 204 | ;; the time in news messages. |
| 205 | (when (string-match "\\b[^@ \t<>]+[!@][^@ \t<>]+\\b" from) | 205 | (cond (;; Check ``<foo@bar>'' first in order to handle the quite common |
| 206 | (setq address (substring from (match-beginning 0) (match-end 0)))) | 206 | ;; form ``"abc@xyz" <foo@bar>'' (i.e. ``@'' as part of a comment) |
| 207 | ;; correctly. | ||
| 208 | (string-match "<\\([^@ \t<>]+[!@][^@ \t<>]+\\)>" from) | ||
| 209 | (setq address (substring from (match-beginning 1) (match-end 1)))) | ||
| 210 | ((string-match "\\b[^@ \t<>]+[!@][^@ \t<>]+\\b" from) | ||
| 211 | (setq address (substring from (match-beginning 0) (match-end 0))))) | ||
| 207 | ;; Then we check whether the "name <address>" format is used. | 212 | ;; Then we check whether the "name <address>" format is used. |
| 208 | (and address | 213 | (and address |
| 209 | ;; Linear white space is not required. | 214 | ;; Linear white space is not required. |
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index 94e890b02c3..41a79ccc1ca 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el | |||
| @@ -51,6 +51,10 @@ | |||
| 51 | :group 'news | 51 | :group 'news |
| 52 | :group 'mail) | 52 | :group 'mail) |
| 53 | 53 | ||
| 54 | (defgroup gnus-start nil | ||
| 55 | "Starting your favorite newsreader." | ||
| 56 | :group 'gnus) | ||
| 57 | |||
| 54 | (defgroup gnus-format nil | 58 | (defgroup gnus-format nil |
| 55 | "Dealing with formatting issues." | 59 | "Dealing with formatting issues." |
| 56 | :group 'gnus) | 60 | :group 'gnus) |
| @@ -70,10 +74,6 @@ | |||
| 70 | "Article Registry." | 74 | "Article Registry." |
| 71 | :group 'gnus) | 75 | :group 'gnus) |
| 72 | 76 | ||
| 73 | (defgroup gnus-start nil | ||
| 74 | "Starting your favorite newsreader." | ||
| 75 | :group 'gnus) | ||
| 76 | |||
| 77 | (defgroup gnus-start-server nil | 77 | (defgroup gnus-start-server nil |
| 78 | "Server options at startup." | 78 | "Server options at startup." |
| 79 | :group 'gnus-start) | 79 | :group 'gnus-start) |
| @@ -1239,7 +1239,6 @@ used to 899, you would say something along these lines: | |||
| 1239 | :group 'gnus-server | 1239 | :group 'gnus-server |
| 1240 | :type 'file) | 1240 | :type 'file) |
| 1241 | 1241 | ||
| 1242 | ;;;###autoload | ||
| 1243 | (defun gnus-getenv-nntpserver () | 1242 | (defun gnus-getenv-nntpserver () |
| 1244 | "Find default nntp server. | 1243 | "Find default nntp server. |
| 1245 | Check the NNTPSERVER environment variable and the | 1244 | Check the NNTPSERVER environment variable and the |
| @@ -1251,7 +1250,11 @@ Check the NNTPSERVER environment variable and the | |||
| 1251 | (when (re-search-forward "[^ \t\n\r]+" nil t) | 1250 | (when (re-search-forward "[^ \t\n\r]+" nil t) |
| 1252 | (match-string 0)))))) | 1251 | (match-string 0)))))) |
| 1253 | 1252 | ||
| 1254 | ;;;###autoload | 1253 | ;; `M-x customize-variable RET gnus-select-method RET' should work without |
| 1254 | ;; starting or even loading Gnus. | ||
| 1255 | ;;;###autoload(when (fboundp 'custom-autoload) | ||
| 1256 | ;;;###autoload (custom-autoload 'gnus-select-method "gnus")) | ||
| 1257 | |||
| 1255 | (defcustom gnus-select-method | 1258 | (defcustom gnus-select-method |
| 1256 | (condition-case nil | 1259 | (condition-case nil |
| 1257 | (nconc | 1260 | (nconc |
| @@ -1285,6 +1288,8 @@ If you use this variable, you must set `gnus-nntp-server' to nil. | |||
| 1285 | There is a lot more to know about select methods and virtual servers - | 1288 | There is a lot more to know about select methods and virtual servers - |
| 1286 | see the manual for details." | 1289 | see the manual for details." |
| 1287 | :group 'gnus-server | 1290 | :group 'gnus-server |
| 1291 | :group 'gnus-start | ||
| 1292 | :initialize 'custom-initialize-default | ||
| 1288 | :type 'gnus-select-method) | 1293 | :type 'gnus-select-method) |
| 1289 | 1294 | ||
| 1290 | (defcustom gnus-message-archive-method "archive" | 1295 | (defcustom gnus-message-archive-method "archive" |
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el index fc3859345f3..a3d0298ce0e 100644 --- a/lisp/gnus/message.el +++ b/lisp/gnus/message.el | |||
| @@ -1786,6 +1786,96 @@ see `message-narrow-to-headers-or-head'." | |||
| 1786 | (substring subject (match-end 0)) | 1786 | (substring subject (match-end 0)) |
| 1787 | subject)) | 1787 | subject)) |
| 1788 | 1788 | ||
| 1789 | (defcustom message-replacement-char "." | ||
| 1790 | "Replacement character used instead of unprintable or not decodable chars." | ||
| 1791 | :group 'message-various | ||
| 1792 | :version "22.1" ;; Gnus 5.10.9 | ||
| 1793 | :type '(choice string | ||
| 1794 | (const ".") | ||
| 1795 | (const "?"))) | ||
| 1796 | |||
| 1797 | ;; FIXME: We also should call `message-strip-subject-encoded-words' | ||
| 1798 | ;; when forwarding. Probably in `message-make-forward-subject' and | ||
| 1799 | ;; `message-forward-make-body'. | ||
| 1800 | |||
| 1801 | (defun message-strip-subject-encoded-words (subject) | ||
| 1802 | "Fix non-decodable words in SUBJECT." | ||
| 1803 | ;; Cf. `gnus-simplify-subject-fully'. | ||
| 1804 | (let* ((case-fold-search t) | ||
| 1805 | (replacement-chars (format "[%s%s%s]" | ||
| 1806 | message-replacement-char | ||
| 1807 | message-replacement-char | ||
| 1808 | message-replacement-char)) | ||
| 1809 | (enc-word-re "=\\?\\([^?]+\\)\\?\\([QB]\\)\\?\\([^?]+\\)\\(\\?=\\)") | ||
| 1810 | cs-string | ||
| 1811 | (have-marker | ||
| 1812 | (with-temp-buffer | ||
| 1813 | (insert subject) | ||
| 1814 | (goto-char (point-min)) | ||
| 1815 | (when (re-search-forward enc-word-re nil t) | ||
| 1816 | (setq cs-string (match-string 1))))) | ||
| 1817 | cs-coding q-or-b word-beg word-end) | ||
| 1818 | (if (or (not have-marker) ;; No encoded word found... | ||
| 1819 | ;; ... or double encoding was correct: | ||
| 1820 | (and (stringp cs-string) | ||
| 1821 | (setq cs-string (downcase cs-string)) | ||
| 1822 | (mm-coding-system-p (intern cs-string)) | ||
| 1823 | (not (prog1 | ||
| 1824 | (y-or-n-p | ||
| 1825 | (format "\ | ||
| 1826 | Decoded Subject \"%s\" | ||
| 1827 | contains a valid encoded word. Decode again? " | ||
| 1828 | subject)) | ||
| 1829 | (setq cs-coding (intern cs-string)))))) | ||
| 1830 | subject | ||
| 1831 | (with-temp-buffer | ||
| 1832 | (insert subject) | ||
| 1833 | (goto-char (point-min)) | ||
| 1834 | (while (re-search-forward enc-word-re nil t) | ||
| 1835 | (setq cs-string (downcase (match-string 1)) | ||
| 1836 | q-or-b (match-string 2) | ||
| 1837 | word-beg (match-beginning 0) | ||
| 1838 | word-end (match-end 0)) | ||
| 1839 | (setq cs-coding | ||
| 1840 | (if (mm-coding-system-p (intern cs-string)) | ||
| 1841 | (setq cs-coding (intern cs-string)) | ||
| 1842 | nil)) | ||
| 1843 | ;; No double encoded subject? => bogus charset. | ||
| 1844 | (unless cs-coding | ||
| 1845 | (setq cs-coding | ||
| 1846 | (mm-read-coding-system | ||
| 1847 | (format "\ | ||
| 1848 | Decoded Subject \"%s\" | ||
| 1849 | contains an encoded word. The charset `%s' is unknown or invalid. | ||
| 1850 | Hit RET to replace non-decodable characters with \"%s\" or enter replacement | ||
| 1851 | charset: " | ||
| 1852 | subject cs-string message-replacement-char))) | ||
| 1853 | (if cs-coding | ||
| 1854 | (replace-match (concat "=?" (symbol-name cs-coding) | ||
| 1855 | "?\\2?\\3\\4\\5")) | ||
| 1856 | (save-excursion | ||
| 1857 | (goto-char word-beg) | ||
| 1858 | (re-search-forward "=\\?\\([^?]+\\)\\?\\([QB]\\)\\?" word-end t) | ||
| 1859 | (replace-match "") | ||
| 1860 | ;; QP or base64 | ||
| 1861 | (if (string-match "\\`Q\\'" q-or-b) | ||
| 1862 | ;; QP | ||
| 1863 | (progn | ||
| 1864 | (message "Replacing non-decodable characters with \"%s\"." | ||
| 1865 | message-replacement-char) | ||
| 1866 | (while (re-search-forward "\\(=[A-F0-9][A-F0-9]\\)+" | ||
| 1867 | word-end t) | ||
| 1868 | (replace-match message-replacement-char))) | ||
| 1869 | ;; base64 | ||
| 1870 | (message "Replacing non-decodable characters with \"%s\"." | ||
| 1871 | replacement-chars) | ||
| 1872 | (re-search-forward "[^?]+" word-end t) | ||
| 1873 | (replace-match replacement-chars)) | ||
| 1874 | (re-search-forward "\\?=") | ||
| 1875 | (replace-match ""))))) | ||
| 1876 | (rfc2047-decode-region (point-min) (point-max)) | ||
| 1877 | (buffer-string))))) | ||
| 1878 | |||
| 1789 | ;;; Start of functions adopted from `message-utils.el'. | 1879 | ;;; Start of functions adopted from `message-utils.el'. |
| 1790 | 1880 | ||
| 1791 | (defun message-strip-subject-trailing-was (subject) | 1881 | (defun message-strip-subject-trailing-was (subject) |
| @@ -3614,8 +3704,10 @@ It should typically alter the sending method in some way or other." | |||
| 3614 | (setq choice | 3704 | (setq choice |
| 3615 | (gnus-multiple-choice | 3705 | (gnus-multiple-choice |
| 3616 | "Non-printable characters found. Continue sending?" | 3706 | "Non-printable characters found. Continue sending?" |
| 3617 | '((?d "Remove non-printable characters and send") | 3707 | `((?d "Remove non-printable characters and send") |
| 3618 | (?r "Replace non-printable characters with dots and send") | 3708 | (?r ,(format |
| 3709 | "Replace non-printable characters with \"%s\" and send" | ||
| 3710 | message-replacement-char)) | ||
| 3619 | (?i "Ignore non-printable characters and send") | 3711 | (?i "Ignore non-printable characters and send") |
| 3620 | (?e "Continue editing")))) | 3712 | (?e "Continue editing")))) |
| 3621 | (if (eq choice ?e) | 3713 | (if (eq choice ?e) |
| @@ -3638,7 +3730,7 @@ It should typically alter the sending method in some way or other." | |||
| 3638 | (message-kill-all-overlays) | 3730 | (message-kill-all-overlays) |
| 3639 | (delete-char 1) | 3731 | (delete-char 1) |
| 3640 | (when (eq choice ?r) | 3732 | (when (eq choice ?r) |
| 3641 | (insert ".")))) | 3733 | (insert message-replacement-char)))) |
| 3642 | (forward-char) | 3734 | (forward-char) |
| 3643 | (skip-chars-forward mm-7bit-chars)))))) | 3735 | (skip-chars-forward mm-7bit-chars)))))) |
| 3644 | 3736 | ||
| @@ -5816,6 +5908,39 @@ want to get rid of this query permanently."))) | |||
| 5816 | (push (cons 'Cc recipients) follow-to))) | 5908 | (push (cons 'Cc recipients) follow-to))) |
| 5817 | follow-to)) | 5909 | follow-to)) |
| 5818 | 5910 | ||
| 5911 | (defcustom message-simplify-subject-functions | ||
| 5912 | '(message-strip-list-identifiers | ||
| 5913 | message-strip-subject-re | ||
| 5914 | message-strip-subject-trailing-was | ||
| 5915 | message-strip-subject-encoded-words) | ||
| 5916 | "List of functions taking a string argument that simplify subjects. | ||
| 5917 | The functions are applied when replying to a message. | ||
| 5918 | |||
| 5919 | Useful functions to put in this list include: | ||
| 5920 | `message-strip-list-identifiers', `message-strip-subject-re', | ||
| 5921 | `message-strip-subject-trailing-was', and | ||
| 5922 | `message-strip-subject-encoded-words'." | ||
| 5923 | :version "22.1" ;; Gnus 5.10.9 | ||
| 5924 | :group 'message-various | ||
| 5925 | :type '(repeat function)) | ||
| 5926 | |||
| 5927 | (defun message-simplify-subject (subject &optional functions) | ||
| 5928 | "Return simplified SUBJECT." | ||
| 5929 | (unless functions | ||
| 5930 | ;; Simplify fully: | ||
| 5931 | (setq functions message-simplify-subject-functions)) | ||
| 5932 | (when (and (memq 'message-strip-list-identifiers functions) | ||
| 5933 | gnus-list-identifiers) | ||
| 5934 | (setq subject (message-strip-list-identifiers subject))) | ||
| 5935 | (when (memq 'message-strip-subject-re functions) | ||
| 5936 | (setq subject (concat "Re: " (message-strip-subject-re subject)))) | ||
| 5937 | (when (and (memq 'message-strip-subject-trailing-was functions) | ||
| 5938 | message-subject-trailing-was-query) | ||
| 5939 | (setq subject (message-strip-subject-trailing-was subject))) | ||
| 5940 | (when (memq 'message-strip-subject-encoded-words functions) | ||
| 5941 | (setq subject (message-strip-subject-encoded-words subject))) | ||
| 5942 | subject) | ||
| 5943 | |||
| 5819 | ;;;###autoload | 5944 | ;;;###autoload |
| 5820 | (defun message-reply (&optional to-address wide) | 5945 | (defun message-reply (&optional to-address wide) |
| 5821 | "Start editing a reply to the article in the current buffer." | 5946 | "Start editing a reply to the article in the current buffer." |
| @@ -5845,11 +5970,9 @@ want to get rid of this query permanently."))) | |||
| 5845 | date (message-fetch-field "date") | 5970 | date (message-fetch-field "date") |
| 5846 | from (or (message-fetch-field "from") "nobody") | 5971 | from (or (message-fetch-field "from") "nobody") |
| 5847 | subject (or (message-fetch-field "subject") "none")) | 5972 | subject (or (message-fetch-field "subject") "none")) |
| 5848 | (when gnus-list-identifiers | 5973 | |
| 5849 | (setq subject (message-strip-list-identifiers subject))) | 5974 | ;; Strip list identifiers, "Re: ", and "was:" |
| 5850 | (setq subject (concat "Re: " (message-strip-subject-re subject))) | 5975 | (setq subject (message-simplify-subject subject)) |
| 5851 | (when message-subject-trailing-was-query | ||
| 5852 | (setq subject (message-strip-subject-trailing-was subject))) | ||
| 5853 | 5976 | ||
| 5854 | (when (and (setq gnus-warning (message-fetch-field "gnus-warning")) | 5977 | (when (and (setq gnus-warning (message-fetch-field "gnus-warning")) |
| 5855 | (string-match "<[^>]+>" gnus-warning)) | 5978 | (string-match "<[^>]+>" gnus-warning)) |
| @@ -5919,11 +6042,8 @@ If TO-NEWSGROUPS, use that as the new Newsgroups line." | |||
| 5919 | (let ((case-fold-search t)) | 6042 | (let ((case-fold-search t)) |
| 5920 | (string-match "world" distribution))) | 6043 | (string-match "world" distribution))) |
| 5921 | (setq distribution nil)) | 6044 | (setq distribution nil)) |
| 5922 | (if gnus-list-identifiers | 6045 | ;; Strip list identifiers, "Re: ", and "was:" |
| 5923 | (setq subject (message-strip-list-identifiers subject))) | 6046 | (setq subject (message-simplify-subject subject)) |
| 5924 | (setq subject (concat "Re: " (message-strip-subject-re subject))) | ||
| 5925 | (when message-subject-trailing-was-query | ||
| 5926 | (setq subject (message-strip-subject-trailing-was subject))) | ||
| 5927 | (widen)) | 6047 | (widen)) |
| 5928 | 6048 | ||
| 5929 | (message-pop-to-buffer (message-buffer-name "followup" from newsgroups)) | 6049 | (message-pop-to-buffer (message-buffer-name "followup" from newsgroups)) |
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index c5fd5d3c258..7e6f93be1f1 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el | |||
| @@ -1135,7 +1135,7 @@ are ignored." | |||
| 1135 | (with-current-buffer (mm-handle-buffer handle) | 1135 | (with-current-buffer (mm-handle-buffer handle) |
| 1136 | (buffer-string))) | 1136 | (buffer-string))) |
| 1137 | ((mm-multibyte-p) | 1137 | ((mm-multibyte-p) |
| 1138 | (mm-string-as-multibyte (mm-get-part handle no-cache))) | 1138 | (mm-string-to-multibyte (mm-get-part handle no-cache))) |
| 1139 | (t | 1139 | (t |
| 1140 | (mm-get-part handle no-cache)))))) | 1140 | (mm-get-part handle no-cache)))))) |
| 1141 | 1141 | ||
diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el index 159039914f5..0ae4487f869 100644 --- a/lisp/gnus/mml.el +++ b/lisp/gnus/mml.el | |||
| @@ -501,9 +501,9 @@ If MML is non-nil, return the buffer up till the correspondent mml tag." | |||
| 501 | (mm-with-unibyte-buffer | 501 | (mm-with-unibyte-buffer |
| 502 | (cond | 502 | (cond |
| 503 | ((cdr (assq 'buffer cont)) | 503 | ((cdr (assq 'buffer cont)) |
| 504 | (insert (with-current-buffer (cdr (assq 'buffer cont)) | 504 | (insert (mm-string-as-unibyte |
| 505 | (mm-with-unibyte-current-buffer | 505 | (with-current-buffer (cdr (assq 'buffer cont)) |
| 506 | (buffer-string))))) | 506 | (buffer-string))))) |
| 507 | ((and filename | 507 | ((and filename |
| 508 | (not (equal (cdr (assq 'nofile cont)) "yes"))) | 508 | (not (equal (cdr (assq 'nofile cont)) "yes"))) |
| 509 | (let ((coding-system-for-read mm-binary-coding-system)) | 509 | (let ((coding-system-for-read mm-binary-coding-system)) |