GNU bug report logs -
#6010
24.0.50; setting-constant enable-multibyte-characters
Previous Next
Reported by: Katsumi Yamaoka <yamaoka <at> jpl.org>
Date: Fri, 23 Apr 2010 07:52:02 UTC
Severity: normal
Done: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Bug is archived. No further changes may be made.
Full log
Message #10 received at 6010-done <at> debbugs.gnu.org (full text, mbox):
> Debugger entered--Lisp error: (setting-constant enable-multibyte-characters)
> set-default(enable-multibyte-characters nil)
> mm-find-buffer-file-coding-system("~/bt.gz")
Thanks. The patch below should have fixed it,
Stefan
=== modified file 'lisp/gnus/mm-util.el'
--- lisp/gnus/mm-util.el 2010-03-15 01:38:28 +0000
+++ lisp/gnus/mm-util.el 2010-04-23 15:04:34 +0000
@@ -1239,6 +1239,9 @@
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 @@
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))
=== modified file 'lisp/gnus/yenc.el'
--- lisp/gnus/yenc.el 2010-01-13 08:35:10 +0000
+++ lisp/gnus/yenc.el 2010-04-23 14:59:23 +0000
@@ -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)
This bug report was last modified 15 years and 93 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.