summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/gnus/gnus-art.el15
2 files changed, 15 insertions, 5 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 4fd0615e5eb..7cfa5358c63 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,5 +1,10 @@
2008-04-05 Stefan Monnier <monnier@iro.umontreal.ca>
+ * gnus-art.el (gnus-mime-replace-part): Remove unnecessary use of
+ mm-with-multibyte.
+ (gnus-request-article-this-buffer): Make sure the proper decoding is used
+ if gnus-original-article-buffer happens to be unibyte.
+
* gnus-ems.el (gnus-x-splash): Prefer mm-disable-multibyte to
default-enable-multibyte-characters.
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index 55b59488e8e..b9f613acaa4 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -4785,10 +4785,9 @@ and `gnus-mime-delete-part', and not provided at run-time normally."
;; Useful if file has already been saved to disk
(interactive
(list
- (mm-with-multibyte
- (read-file-name "Replace MIME part with file: "
- (or mm-default-directory default-directory)
- nil nil))))
+ (read-file-name "Replace MIME part with file: "
+ (or mm-default-directory default-directory)
+ nil nil)))
(gnus-mime-save-part-and-strip file))
(defun gnus-mime-save-part-and-strip (&optional file)
@@ -6586,7 +6585,13 @@ If given a prefix, show the hidden text instead."
(with-current-buffer gnus-original-article-buffer
(and (equal (car gnus-original-article) group)
(eq (cdr gnus-original-article) article))))
- (insert-buffer-substring gnus-original-article-buffer)
+ ;; `insert-buffer-substring' would incorrectly use the
+ ;; equivalent of string-make-multibyte which amount to decoding
+ ;; with locale-coding-system, causing failure of
+ ;; subsequent decoding.
+ (insert (mm-string-to-multibyte
+ (with-current-buffer gnus-original-article-buffer
+ (buffer-substring (point-min) (point-max)))))
'article)
;; Check the backlog.
((and gnus-keep-backlog