summaryrefslogtreecommitdiff
path: root/lisp/gnus
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2008-03-12 18:54:39 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2008-03-12 18:54:39 +0000
commit456cace2bc9d6c62faf2bdd7b53a6ced7a04ac5c (patch)
treed25ec96743dc89ea16e336cc07a4a9fea7c78625 /lisp/gnus
parentf5fcf556b25acd4597bfb191e6924f3274e5f20a (diff)
downloademacs-456cace2bc9d6c62faf2bdd7b53a6ced7a04ac5c.tar.gz
emacs-456cace2bc9d6c62faf2bdd7b53a6ced7a04ac5c.tar.bz2
emacs-456cace2bc9d6c62faf2bdd7b53a6ced7a04ac5c.zip
(mm-uu-copy-to-buffer): Preserve (uni/multi)byteness.
(mm-uu-yenc-extract): Use with-current-buffer.
Diffstat (limited to 'lisp/gnus')
-rw-r--r--lisp/gnus/ChangeLog3
-rw-r--r--lisp/gnus/mm-uu.el6
2 files changed, 7 insertions, 2 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 1dbde2ece02..f985cc85491 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,5 +1,8 @@
2008-03-12 Stefan Monnier <monnier@iro.umontreal.ca>
+ * mm-uu.el (mm-uu-copy-to-buffer): Preserve (uni/multi)byteness.
+ (mm-uu-yenc-extract): Use with-current-buffer.
+
* gnus-soup.el (gnus-soup-send-packet): Don't use
mm-with-unibyte-current-buffer since the buffer is unibyte anyway.
diff --git a/lisp/gnus/mm-uu.el b/lisp/gnus/mm-uu.el
index bf5125e37a2..9d5c6368b64 100644
--- a/lisp/gnus/mm-uu.el
+++ b/lisp/gnus/mm-uu.el
@@ -280,11 +280,14 @@ If PROPERTIES is non-nil, PROPERTIES are applied to the buffer,
see `set-text-properties'. If PROPERTIES equals t, this means to
apply the face `mm-uu-extract'."
(let ((obuf (current-buffer))
+ (multi (and (boundp 'enable-multibyte-characters)
+ enable-multibyte-characters))
(coding-system
;; Might not exist in non-MULE XEmacs
(when (boundp 'buffer-file-coding-system)
buffer-file-coding-system)))
(with-current-buffer (generate-new-buffer " *mm-uu*")
+ (if multi (mm-enable-multibyte) (mm-disable-multibyte))
(setq buffer-file-coding-system coding-system)
(insert-buffer-substring obuf from to)
(cond ((eq properties t)
@@ -441,8 +444,7 @@ apply the face `mm-uu-extract'."
;; This might not be exactly correct, but we sure can't get the
;; binary data from the article buffer, since that's already in a
;; non-binary charset. So get it from the original article buffer.
- (mm-make-handle (save-excursion
- (set-buffer gnus-original-article-buffer)
+ (mm-make-handle (with-current-buffer gnus-original-article-buffer
(mm-uu-copy-to-buffer start-point end-point))
(list (or (and file-name
(string-match "\\.[^\\.]+$" file-name)