emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Crashes with non-default language environments


From: Juri Linkov
Subject: Re: Crashes with non-default language environments
Date: Mon, 11 Feb 2008 00:48:40 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

>> This crash is caused by the corrupt byte-code produced by
>> `byte-compile-lapcode'.  `string-make-unibyte' at the end of this
>> function produces different bytecode strings in different
>> language environments.  This problem can be narrowed down to:
>
> Shouldn't it be string-to-unibyte instead?

I've just checked that `string-as-unibyte' produces even worse results
than `string-make-unibyte'.  It replaces every byte in the original
string with 2-byte sequences.

The change to use `string-as-unibyte' came from the Unicode branch:

2008-02-02  Kenichi Handa  <address@hidden>

        * emacs-lisp/bytecomp.el (byte-compile-lapcode): Be sure to
        return a unibyte string.

Maybe, this change is correct, but the bug is in the definition of the
language environment, I can't say for sure.  Comparing results of calling
`string-make-unibyte' on 256 bytes in different language environments
gives only 6 differences:

\240 -> \232
\251 -> \277
\260 -> \234
\262 -> \235
\267 -> \236
\367 -> \237

-- 
Juri Linkov
http://www.jurta.org/emacs/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]