Subject: Re: bug#6121: 24.0.50; setting-constant enable-multibyte-characters

From: Jim Meyering <[email-masked]>
Date: Sat, 08 May 2010 16:24:55 +0200

Jim Meyering wrote:
> FYI, I've encountered exactly the same problem as described here:
>
>   http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6121
>
> It happens nearly any time I try to forward a message from gnus.
> I am using the latest built from git.
>
> BTW, I noticed that today it fails to build:
>
>   Loading bindings (source)...
>   Loading /mirror/d/emacs/lisp/files.el (source)...
>   Symbol's function definition is void: define-minor-mode
>   make[2]: *** [bootstrap-emacs] Error 255
>   make[2]: Leaving directory `/tmp/jt-ltHmbB/emacs/src'
>   make[1]: *** [src] Error 2
>   make[1]: Leaving directory `/tmp/jt-ltHmbB/emacs'
>   make: *** [bootstrap] Error 2

FYI,

I found that reverting the most recent changes to the offending code
solved that problem:

I reverted part of a55d3b41c25a83197bc02a6a790c6f927088e08f
locally, and can now use GNUS' forwarding once again:
http://repo.or.cz/w/emacs.git/commitdiff/a55d3b41c25a8319

    Synch with Gnus trunk.
    ...
    * mm-util.el (mm-enable-multibyte, mm-disable-multibyte): Use (featurep
    'xemacs) instead of mm-emacs-mule to switch function definitions.
    (mm-with-unibyte-current-buffer): Make it a progn macro for XEmacs.

>From 18adba8bf6d112828cce71ddb606027e4ca9ef4b Mon Sep 17 00:00:00 2001
From: Jim Meyering <[email-masked]>
Date: Sat, 8 May 2010 15:23:46 +0200
Subject: [PATCH] fix gnus fwding: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6121

---
 lisp/gnus/mm-util.el |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/lisp/gnus/mm-util.el b/lisp/gnus/mm-util.el
index a288b8b..c8952e0 100644
--- a/lisp/gnus/mm-util.el
+++ b/lisp/gnus/mm-util.el
@@ -908,20 +908,20 @@ mail with multiple parts is preferred to sending a Unicode one.")
 			     (fboundp 'set-buffer-multibyte))
     "True in Emacs with Mule.")

-  (if (featurep 'xemacs)
-      (defalias 'mm-enable-multibyte 'ignore)
-    (defun mm-enable-multibyte ()
-      "Set the multibyte flag of the current buffer.
+  (if mm-emacs-mule
+      (defun mm-enable-multibyte ()
+	"Set the multibyte flag of the current buffer.
 Only do this if the default value of `enable-multibyte-characters' is
 non-nil.  This is a no-op in XEmacs."
-      (set-buffer-multibyte t)))
+	(set-buffer-multibyte 'to))
+    (defalias 'mm-enable-multibyte 'ignore))

-  (if (featurep 'xemacs)
-      (defalias 'mm-disable-multibyte 'ignore)
-    (defun mm-disable-multibyte ()
-      "Unset the multibyte flag of in the current buffer.
+  (if mm-emacs-mule
+      (defun mm-disable-multibyte ()
+	"Unset the multibyte flag of in the current buffer.
 This is a no-op in XEmacs."
-      (set-buffer-multibyte nil))))
+	(set-buffer-multibyte nil))
+    (defalias 'mm-disable-multibyte 'ignore)))

 (defun mm-preferred-coding-system (charset)
   ;; A typo in some Emacs versions.
--
1.7.1.166.gf2086