summaryrefslogtreecommitdiff
path: root/lisp/gnus
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/gnus')
-rw-r--r--lisp/gnus/ChangeLog64
-rw-r--r--lisp/gnus/ChangeLog.16
-rw-r--r--lisp/gnus/ChangeLog.216
-rw-r--r--lisp/gnus/gnus-art.el6
-rw-r--r--lisp/gnus/gnus-sum.el4
-rw-r--r--lisp/gnus/message.el62
-rw-r--r--lisp/gnus/mm-extern.el8
-rw-r--r--lisp/gnus/mm-util.el46
-rw-r--r--lisp/gnus/mml1991.el2
-rw-r--r--lisp/gnus/mml2015.el1
10 files changed, 137 insertions, 78 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index d78e07037b4..0b7eaf7ed72 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,4 +1,66 @@
-2010-05-07 Christian von Roques <roques@mti.ag> (tiny change)
+2010-05-13 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mml1991.el (mml1991-mailcrypt-encrypt, mml1991-gpg-encrypt)
+ * mml2015.el (mml2015-gpg-encrypt): Disable multibyte in buffers
+ generated within the mm-with-unibyte-current-buffer macro.
+
+2010-05-13 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus-art.el (gnus-bind-safe-url-regexp): Bind mm-w3m-safe-url-regexp
+ to nil when we're in a mml-preview buffer and no group is selected.
+
+2010-05-12 Andreas Seltenreich <seltenreich@gmx.de>
+
+ * gnus-sum.el (gnus-summary-read-group-1): Don't jump to next group
+ when catching the `C-g'. Reported by: "Leo"
+
+2010-05-12 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * message.el (message-forward-make-body-plain)
+ (message-forward-make-body-mml): Use mm-multibyte-string-p instead of
+ multibyte-string-p.
+
+2010-05-12 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * message.el (message-forward-make-body-mml): Assume original message
+ is multibyte string; error on unibyte.
+ (message-forward-make-body-plain): Ditto; don't add excessive newline
+ in body end.
+
+2010-05-11 Andreas Seltenreich <seltenreich@gmx.de>
+
+ * gnus-sum.el (gnus-summary-kill-thread): Use gnus-summary-mark-article
+ instead of g-s-m-a-as-unread to set the expirable mark. (Bug#5284)
+
+2010-05-11 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mm-extern.el (mm-extern-url): Don't use
+ mm-with-unibyte-current-buffer.
+ (mm-extern-cache-contents): Use with-current-buffer instead of
+ save-excursion + set-buffer.
+
+2010-05-10 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mm-util.el (mm-emacs-mule): Remove.
+
+2010-05-10 Andreas Seltenreich <seltenreich@gmx.de>
+
+ * gnus-sum.el (gnus-summary-mode): Don't make minor-mode-alist
+ buffer-local as it's incompatible with Stefan Monnier's 2010-05-03
+ change.
+
+2010-05-10 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mm-util.el (mm-with-unibyte-current-buffer): Redefine it so as not to
+ bind the default value of enable-multibyte-characters to nil.
+
+2010-05-10 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * message.el (message-forward-make-body-plain)
+ (message-forward-make-body-mml):
+ Don't use mm-with-unibyte-current-buffer.
+
+2010-05-07 Christian von Roques <roques@mti.ag> (tiny change)
* mml2015.el (mml2015-epg-find-usable-key): Skip disabled key
(Bug#5592).
diff --git a/lisp/gnus/ChangeLog.1 b/lisp/gnus/ChangeLog.1
index e455770711b..795df6f95a7 100644
--- a/lisp/gnus/ChangeLog.1
+++ b/lisp/gnus/ChangeLog.1
@@ -28,10 +28,10 @@
* gnus-start.el (gnus-slave-save-newsrc):
* gnus-uu.el (gnus-uu-tmp-dir, gnus-uu-decode-binhex)
- (gnus-uu-decode-binhex-view, gnus-uu-digest-mail-forward)
- (gnus-uu-initialize):
+ (gnus-uu-decode-binhex-view, gnus-uu-digest-mail-forward)
+ (gnus-uu-initialize):
* nnmail.el (nnmail-make-complex-temp-name, nnmail-get-new-mail):
- Use make-temp-file.
+ Use make-temp-file.
1999-09-07 Eli Zaretskii <eliz@gnu.org>
diff --git a/lisp/gnus/ChangeLog.2 b/lisp/gnus/ChangeLog.2
index cd7f3b56aad..b05ff5fc8ef 100644
--- a/lisp/gnus/ChangeLog.2
+++ b/lisp/gnus/ChangeLog.2
@@ -4905,8 +4905,8 @@
2003-02-08 Michael Welsh Duggan <md5i@cs.cmu.edu>
* nnmail.el (nnmail-split-it): If a message ends up matching the
- same mailbox more than once, it will cause duplicates to appear
- in the mailbox.
+ same mailbox more than once, it will cause duplicates to appear
+ in the mailbox.
2003-02-08 Simon Josefsson <jas@extundo.com>
@@ -5553,8 +5553,8 @@
2003-01-13 Jhair Tocancipa Triana <jhair_tocancipa@@gmx.net>
* gnus-audio.el (gnus-audio-au-player, gnus-audio-wav-player): Use
- /usr/bin/play as default player.
- (gnus-audio-play): Added ARG-DESCRIPTOR to prompt for a file to play.
+ /usr/bin/play as default player.
+ (gnus-audio-play): Added ARG-DESCRIPTOR to prompt for a file to play.
2003-01-14 Katsumi Yamaoka <yamaoka@jpl.org>
@@ -9034,7 +9034,7 @@
boolean not a string
* gnus-group.el (gnus-group-line-format): Add description of %C
* gnus-group.el (gnus-group-line-format-alist): Add gnus-tmp-comment
- as %C
+ as %C
* gnus-group.el (gnus-group-insert-group-line): Add gnus-tmp-comment.
2002-04-22 Paul Jarc <prj@po.cwru.edu>
@@ -11326,7 +11326,7 @@
2002-01-02 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-picon.el (gnus-picon-transform-newsgroups): Fix for the case
- "Newsgroups: rec.music.beatles.moderated, rec.music.beatles".
+ "Newsgroups: rec.music.beatles.moderated, rec.music.beatles".
2002-01-03 Steve Youngs <youngs@xemacs.org>
@@ -12256,7 +12256,7 @@
(imap-stream-alist): Backslash.
* gnus-sum.el (gnus-summary-limit-to-author): Missing arguments.
- Thanks to david.goldberg6@verizon.net (David S. Goldberg).
+ Thanks to david.goldberg6@verizon.net (David S. Goldberg).
2001-11-27 14:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
@@ -12755,7 +12755,7 @@
2001-10-30 13:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-spec.el (gnus-parse-simple-format): Use
- buffer-substring-no-properties.
+ buffer-substring-no-properties.
2001-10-30 Katsumi Yamaoka <yamaoka@jpl.org>
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 5f899b3067a..0659ee893de 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -4822,7 +4822,11 @@ General format specifiers can also be used. See Info node
(with-current-buffer gnus-article-current-summary
gnus-newsgroup-name)
gnus-newsgroup-name)))
- (if (cond ((stringp gnus-safe-html-newsgroups)
+ (if (cond ((not group)
+ ;; Maybe we're in a mml-preview buffer
+ ;; and no group is selected.
+ t)
+ ((stringp gnus-safe-html-newsgroups)
(string-match gnus-safe-html-newsgroups group))
((consp gnus-safe-html-newsgroups)
(member group gnus-safe-html-newsgroups)))
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 480c546ca6e..3a2c944ed2f 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -3056,7 +3056,6 @@ The following commands are available:
(gnus-simplify-mode-line)
(setq major-mode 'gnus-summary-mode)
(setq mode-name "Summary")
- (make-local-variable 'minor-mode-alist)
(use-local-map gnus-summary-mode-map)
(buffer-disable-undo)
(setq buffer-read-only t ;Disable modification
@@ -3932,7 +3931,6 @@ If NO-DISPLAY, don't generate a summary buffer."
(progn
(set-buffer gnus-group-buffer)
(gnus-group-jump-to-group group)
- (gnus-group-next-unread-group 1)
(gnus-configure-windows 'group 'force))
(gnus-handle-ephemeral-exit quit-config))
;; Finally signal the quit.
@@ -11509,7 +11507,7 @@ If the prefix argument is negative, tick articles instead."
((> unmark 0)
(gnus-summary-mark-article-as-unread gnus-unread-mark))
((= unmark 0)
- (gnus-summary-mark-article-as-unread gnus-expirable-mark))
+ (gnus-summary-mark-article nil gnus-expirable-mark))
(t
(gnus-summary-mark-article-as-unread gnus-ticked-mark)))
(setq articles (cdr articles))))
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 79a88cd6bd3..947b1bd53e8 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -7161,22 +7161,28 @@ Optional DIGEST will use digest to forward."
(defun message-forward-make-body-plain (forward-buffer)
(insert
"\n-------------------- Start of forwarded message --------------------\n")
- (let ((b (point)) e)
- (insert
- (with-temp-buffer
- (mm-disable-multibyte)
- (insert
- (with-current-buffer forward-buffer
- (mm-with-unibyte-current-buffer (buffer-string))))
- (mm-enable-multibyte)
- (mime-to-mml)
- (goto-char (point-min))
- (when (looking-at "From ")
- (replace-match "X-From-Line: "))
- (buffer-string)))
+ (let ((b (point))
+ (contents (with-current-buffer forward-buffer (buffer-string)))
+ e)
+ (unless (featurep 'xemacs)
+ (unless (mm-multibyte-string-p contents)
+ (error "Attempt to insert unibyte string from the buffer \"%s\"\
+ to the multibyte buffer \"%s\""
+ (if (bufferp forward-buffer)
+ (buffer-name forward-buffer)
+ forward-buffer)
+ (buffer-name))))
+ (insert (mm-with-multibyte-buffer
+ (insert contents)
+ (mime-to-mml)
+ (goto-char (point-min))
+ (when (looking-at "From ")
+ (replace-match "X-From-Line: "))
+ (buffer-string)))
+ (unless (bolp) (insert "\n"))
(setq e (point))
(insert
- "\n-------------------- End of forwarded message --------------------\n")
+ "-------------------- End of forwarded message --------------------\n")
(message-remove-ignored-headers b e)))
(defun message-remove-ignored-headers (b e)
@@ -7212,18 +7218,22 @@ Optional DIGEST will use digest to forward."
(insert "\n\n<#mml type=message/rfc822 disposition=inline>\n")
(let ((b (point)) e)
(if (not message-forward-decoded-p)
- (insert
- (with-temp-buffer
- (mm-disable-multibyte)
- (insert
- (with-current-buffer forward-buffer
- (mm-with-unibyte-current-buffer (buffer-string))))
- (mm-enable-multibyte)
- (mime-to-mml)
- (goto-char (point-min))
- (when (looking-at "From ")
- (replace-match "X-From-Line: "))
- (buffer-string)))
+ (let ((contents (with-current-buffer forward-buffer (buffer-string))))
+ (unless (featurep 'xemacs)
+ (unless (mm-multibyte-string-p contents)
+ (error "Attempt to insert unibyte string from the buffer \"%s\"\
+ to the multibyte buffer \"%s\""
+ (if (bufferp forward-buffer)
+ (buffer-name forward-buffer)
+ forward-buffer)
+ (buffer-name))))
+ (insert (mm-with-multibyte-buffer
+ (insert contents)
+ (mime-to-mml)
+ (goto-char (point-min))
+ (when (looking-at "From ")
+ (replace-match "X-From-Line: "))
+ (buffer-string))))
(save-restriction
(narrow-to-region (point) (point))
(mml-insert-buffer forward-buffer)
diff --git a/lisp/gnus/mm-extern.el b/lisp/gnus/mm-extern.el
index 1e3df3c4cff..f40f798789c 100644
--- a/lisp/gnus/mm-extern.el
+++ b/lisp/gnus/mm-extern.el
@@ -67,9 +67,8 @@
(coding-system-for-read mm-binary-coding-system))
(unless url
(error "URL is not specified"))
- (mm-with-unibyte-current-buffer
- (mm-url-insert-file-contents url))
(mm-disable-multibyte)
+ (mm-url-insert-file-contents url)
(setq buffer-file-name name)))
(defun mm-extern-anon-ftp (handle)
@@ -125,7 +124,7 @@
(or access-type
(error "Couldn't find access type"))))
mm-extern-function-alist)))
- buf handles)
+ handles)
(unless func
(error "Access type (%s) is not supported" access-type))
(mm-with-part handle
@@ -136,8 +135,7 @@
(unless (bufferp (car handles))
(mm-destroy-parts handles)
(error "Multipart external body is not supported"))
- (save-excursion
- (set-buffer (setq buf (mm-handle-buffer handles)))
+ (with-current-buffer (mm-handle-buffer handles)
(let (good)
(unwind-protect
(progn
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el
index a288b8b1b6d..f657000205e 100644
--- a/lisp/gnus/mm-util.el
+++ b/lisp/gnus/mm-util.el
@@ -902,12 +902,6 @@ mail with multiple parts is preferred to sending a Unicode one.")
out)))
(eval-and-compile
- (defvar mm-emacs-mule (and (not (featurep 'xemacs))
- (boundp 'enable-multibyte-characters)
- (default-value 'enable-multibyte-characters)
- (fboundp 'set-buffer-multibyte))
- "True in Emacs with Mule.")
-
(if (featurep 'xemacs)
(defalias 'mm-enable-multibyte 'ignore)
(defun mm-enable-multibyte ()
@@ -1230,33 +1224,23 @@ Use multibyte mode for this."
(defmacro mm-with-unibyte-current-buffer (&rest forms)
"Evaluate FORMS with current buffer temporarily made unibyte.
-Also bind the default-value of `enable-multibyte-characters' to nil.
-Equivalent to `progn' in XEmacs
-
-NOTE: Use this macro with caution in multibyte buffers (it is not
-worth using this macro in unibyte buffers of course). Use of
-`(set-buffer-multibyte t)', which is run finally, is generally
-harmful since it is likely to modify existing data in the buffer.
-For instance, it converts \"\\300\\255\" into \"\\255\" in
-Emacs 23 (unicode)."
+Equivalent to `progn' in XEmacs.
+
+Note: We recommend not using this macro any more; there should be
+better ways to do a similar thing. The previous version of this macro
+bound the default value of `enable-multibyte-characters' to nil while
+evaluating FORMS but it is no longer done. So, some programs assuming
+it if any may malfunction."
(if (featurep 'xemacs)
`(progn ,@forms)
- ;; FIXME: (default-value 'enable-multibyte-characters) is read-only
- ;; so let-binding it is wrong. The right fix is to not use this
- ;; macro at all any more, since it's been ill-defined from the start.
- (let ((multibyte (make-symbol "multibyte"))
- (buffer (make-symbol "buffer")))
- `(if mm-emacs-mule
- (let ((,multibyte enable-multibyte-characters)
- (,buffer (current-buffer)))
- (unwind-protect
- (letf (((default-value 'enable-multibyte-characters) nil))
- (set-buffer-multibyte nil)
- ,@forms)
- (set-buffer ,buffer)
- (set-buffer-multibyte ,multibyte)))
- (letf (((default-value 'enable-multibyte-characters) nil))
- ,@forms)))))
+ (let ((multibyte (make-symbol "multibyte")))
+ `(let ((,multibyte enable-multibyte-characters))
+ (when ,multibyte
+ (set-buffer-multibyte nil))
+ (prog1
+ (progn ,@forms)
+ (when ,multibyte
+ (set-buffer-multibyte t)))))))
(put 'mm-with-unibyte-current-buffer 'lisp-indent-function 0)
(put 'mm-with-unibyte-current-buffer 'edebug-form-spec '(body))
diff --git a/lisp/gnus/mml1991.el b/lisp/gnus/mml1991.el
index a3ada29fa66..3ba479574fd 100644
--- a/lisp/gnus/mml1991.el
+++ b/lisp/gnus/mml1991.el
@@ -145,6 +145,7 @@ Whether the passphrase is cached at all is controlled by
(delete-region (point-min) (point)))
(mm-with-unibyte-current-buffer
(with-temp-buffer
+ (inline (mm-disable-multibyte))
(setq cipher (current-buffer))
(insert-buffer-substring text)
(unless (mc-encrypt-generic
@@ -225,6 +226,7 @@ Whether the passphrase is cached at all is controlled by
(delete-region (point-min) (point)))
(mm-with-unibyte-current-buffer
(with-temp-buffer
+ (inline (mm-disable-multibyte))
(flet ((gpg-encrypt-func
(sign plaintext ciphertext result recipients &optional
passphrase sign-with-key armor textmode)
diff --git a/lisp/gnus/mml2015.el b/lisp/gnus/mml2015.el
index 130a3ca86a5..977f4dabb67 100644
--- a/lisp/gnus/mml2015.el
+++ b/lisp/gnus/mml2015.el
@@ -680,6 +680,7 @@ Whether the passphrase is cached at all is controlled by
cipher)
(mm-with-unibyte-current-buffer
(with-temp-buffer
+ (mm-disable-multibyte)
;; set up a function to call the correct gpg encrypt routine
;; with the right arguments. (FIXME: this should be done
;; differently.)