changeset 92773:ca2ba2a312f0

(mm-uu-copy-to-buffer): Preserve (uni/multi)byteness. (mm-uu-yenc-extract): Use with-current-buffer.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 12 Mar 2008 18:54:39 +0000
parents 3637573105bd
children 3035f32851cf
files lisp/gnus/ChangeLog lisp/gnus/mm-uu.el
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/gnus/ChangeLog	Wed Mar 12 18:49:53 2008 +0000
+++ b/lisp/gnus/ChangeLog	Wed Mar 12 18:54:39 2008 +0000
@@ -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.
 
--- a/lisp/gnus/mm-uu.el	Wed Mar 12 18:49:53 2008 +0000
+++ b/lisp/gnus/mm-uu.el	Wed Mar 12 18:54:39 2008 +0000
@@ -280,11 +280,14 @@
 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 @@
   ;; 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)