Hello everyone!
I'm using today's cvs version of Emacs 23(unicode branch):
M-x version
GNU Emacs 23.0.0.2 (i686-pc-linux-gnu, GTK+ Version 2.8.20) of 2006-10-11 on
kid
and eval this piece of code
(let ((foo "foobar"))
(aset foo 0 ?\我))
the Chinese character 我 means `I' in English. Then I get the following
error:
Debugger entered--Lisp error: (args-out-of-range "foobar" 25105)
aset("foobar" 0 25105)
(let ((foo "foobar")) (aset foo 0 25105))
eval((let ((foo "foobar")) (aset foo 0 25105)))
eval-last-sexp-1(nil)
eval-last-sexp(nil)
call-interactively(eval-last-sexp)
But I tested on a Emacs of the version 22.0.51.2, it runs without any error
and produce the correct answer: foo becomes "我oobar"
I don't know whether you have correct font to display the Chinese character
`我' here, it is 25105 in Emacs 23 and 42834 in Emacs 22 . In fact, any
Chinese
(or other i.e. Jananese) multibyte character may cause this problem, I
think(I'v
tested many, but I can't test all, of course. :p)
Any idea?
Best regards!
BTW: My friends tell me that if there's initially some Chinese character in
the string foo , this error won't occur. Maybe this could be some help.
--
View this message in context:
http://www.nabble.com/Is-this-a-bug-of-aset--tf2417807.html#a6740005
Sent from the Emacs - Pretest - Bug mailing list archive at Nabble.com.
_______________________________________________
emacs-pretest-bug mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug