[mew-int 2420] Re: A patch: make-string in emacs 23
Harald Hanche-Olsen
hanche at example.com
Thu Feb 7 21:31:40 JST 2008
+ Kazu Yamamoto (山本和彦) <kazu at example.com> on 2007-01-10:
> > when I was retrieve the mails from gmail, it works because 3 of 10 messages
> > had been retrieved, how can I resolve this?
>
> I guess that this is a bug of Unicode Emacs.
>
> As I mentioned many times, Mew does not support Unicode Emacs at this
> moment. I have compiled it in the past but it was really buggy.
>
> If you want to use Unicode Emacs because of the anti-alias feature,
> you should use it at your own risk (including the bug above).
The problem that was discussed then still persists. What is different
is that now unicode emacs IS the main development branch of emacs, so
more people will be using it. For better or worse, I think mew will
have to adapt.
I may add that I have been using mew with unicode emacs for a couple
years, with hardly a problem at all.
The problem referred to in the above discussion came about because
(make-string len ?x) will create a unibyte string in unicode emacs.
It did then, and it still does. This bombs out, of course, when you
try to stuff multibyte characters into the string.
A simple cure is to replace the ?x in the code
(let* (...
(tmp (make-string len ?x))))
at the top of mew-addrstr-parse-syntax-list by
(if (char-valid-p 256) 256 ?x).
This fix costs next to nothing, it does not rely on any emacs version
number magic, and it solves the problem once and for all.
(I got bitten by this all over again after upgrading my mew, since I
had forgotten that I had patched my previous copy.)
- Harald
More information about the Mew-int
mailing list