In article <[EMAIL PROTECTED]>, pluskid <[EMAIL PROTECTED]> writes:

> Then, try the following code

> (let ((foo "foobar"))
>   (aset foo 0 ?\!!)) ; note the `!!' means the Chinese character I
>                      ; mentioned above

> evaluate this expression , I get an error:

> Debugger entered--Lisp error: (args-out-of-range "foobar" 25105)
>   aset("foobar" 0 25105)

In emacs-unicode-2, I changed `aset' as an experiment so
that storing a multibyte character in a unibyte string
causes that error.  This is mainly to avoid unexpected
unibyte->multibyte conversion of a string.

< (let ((foo (string-to-multibyte "foobar")))
<   (aset foo 0 ?\!!)) ; note the `!!' means the Chinese character I

should work.

---
Kenichi Handa
[EMAIL PROTECTED]


_______________________________________________
emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug

Reply via email to