summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2010-04-23 12:15:51 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2010-04-23 12:15:51 -0400
commitbd486b039f9478afaff25e358b9e2c615e39f5c6 (patch)
tree2054f94c257d0c68794e4a7e52b2a48c32c98709
parent3b548e1b3acf989c1bb866348f6dcff3d9a25d27 (diff)
downloademacs-bd486b039f9478afaff25e358b9e2c615e39f5c6.tar.gz
* mm-util.el (mm-find-buffer-file-coding-system):
* yenc.el (yenc-decode-region): Don't let-bind a read-only variable.
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/gnus/mm-util.el7
-rw-r--r--lisp/gnus/yenc.el5
3 files changed, 13 insertions, 4 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index f07f0da6253..b7ef5824772 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,8 @@
+2010-04-23 Stefan Monnier <monnier@iro.umontreal.ca>
+
+ * mm-util.el (mm-find-buffer-file-coding-system):
+ * yenc.el (yenc-decode-region): Don't let-bind a read-only variable.
+
2010-04-22 Andreas Seltenreich <seltenreich@gmx.de>
* message.el (message-generate-headers): Record insertion of optional
diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el
index aa2be153b0f..1e70a69b1fd 100644
--- a/lisp/gnus/mm-util.el
+++ b/lisp/gnus/mm-util.el
@@ -1239,6 +1239,9 @@ worth using this macro in unibyte buffers of course). Use of
harmful since it is likely to modify existing data in the buffer.
For instance, it converts \"\\300\\255\" into \"\\255\" in
Emacs 23 (unicode)."
+ ;; 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
@@ -1593,8 +1596,8 @@ gzip, bzip2, etc. are allowed."
filename))
(mm-decompress-buffer filename nil t))))
(when decomp
- (set-buffer (letf (((default-value 'enable-multibyte-characters) nil))
- (generate-new-buffer " *temp*")))
+ (set-buffer (generate-new-buffer " *temp*"))
+ (mm-disable-multibyte)
(insert decomp)
(setq filename (file-name-sans-extension filename)))
(goto-char (point-min))
diff --git a/lisp/gnus/yenc.el b/lisp/gnus/yenc.el
index b0f7b4115b2..8cb522c4ec7 100644
--- a/lisp/gnus/yenc.el
+++ b/lisp/gnus/yenc.el
@@ -89,8 +89,9 @@
(when (re-search-forward "^=yend.*$" end t)
(setq last (match-beginning 0))
(setq footer-alist (yenc-parse-line (match-string 0)))
- (letf (((default-value 'enable-multibyte-characters) nil))
- (setq work-buffer (generate-new-buffer " *yenc-work*")))
+ (with-current-buffer
+ (setq work-buffer (generate-new-buffer " *yenc-work*"))
+ (set-buffer-multibyte nil))
(while (< first last)
(setq char (char-after first))
(cond ((or (eq char ?\r)