Please write in English if possible, because the Emacs maintainers usually do not have translators to read other languages for them.
Your bug report will be posted to the [email protected] mailing list. Please describe exactly what actions triggered the bug and the precise symptoms of the bug: Recent days, my Mew(Message in Emacs World) keeps on crashing with "Args out of range" and I have had many mails disappeared. Today I traced into and find it's the function `aset' that throw this error. It seems to be a bug dealing with multibyte characters, i.e. Chinese characters. Here I'll show how to reproduce it. In case you don't have font to display Chinese character, I will use `!!' to denote the Chinese character `我' , C-u C-x = on this character will produce the following properties, maybe of some help. character: 我 (25105, #o61021, #x6211) preferred charset: chinese-gb2312 (GB2312 Chinese simplified: ISO-IR-58) code point: 0x4E52 syntax: w which means: word category: C:Chinese (Han) characters of 2-byte character sets c:Chinese h:Korean j:Japanese |:While filling, we can break a line at this character. buffer code: #xE6 #x88 #x91 file code: ESC #x24 #x28 #x41 #x4E #x52 (encoded by coding system ctext-unix) display: by this font (glyph code) -misc-simsun-medium-r-normal--14-101-100-100-p-140-gb2312.1980-0 (#x4E52) 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) (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) I've tried this on Emacs 22 cvs and it works. I think any multibyte character will cause this problem(I've tested many of them, but I can't test all). Still, if the string foo initially contains some multibyte characters, the error won't occur. The following code: (let ((foo "foo!!ar")) (aset foo 0 ?\!!) foo) works perfectly. And if I explicitly decode the string to a Chinese coding system, it also works correctly: (let ((foo (decode-coding-string "foobar" 'chinese-gbk))) (aset foo 0 ?\!!) foo) Thanks! If emacs crashed, and you have the emacs process in the gdb debugger, please include the output from the following gdb commands: `bt full' and `xbacktrace'. If you would like to further debug the crash, please read the file /usr/local/share/emacs/23.0.0/etc/DEBUG for instructions. In GNU Emacs 23.0.0.1 (i686-pc-linux-gnu, GTK+ Version 2.8.20) of 2006-10-01 on kid X server distributor `The X.Org Foundation', version 11.0.70101000 configured using `configure '--with-gtk'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: zh_CN.UTF-8 value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_US.UTF-8 locale-coding-system: utf-8-unix default-enable-multibyte-characters: t Major mode: Lisp Interaction Minor modes in effect: shell-dirtrack-mode: t delete-selection-mode: t show-paren-mode: t tooltip-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t global-auto-composition-mode: t auto-composition-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t abbrev-mode: t Recent input: C-h f r e p o <tab> r t - e m <tab> <return> M-x r e p o r t - e m a c s - b u g <return> Recent messages: Loading /home/kid/emacs/init.d/60muse-bbs-smth.el (source)...done Loading /home/kid/emacs/init.d/60muse-bbs.el (source)...done Loading /home/kid/emacs/init.d/60muse-latex2png.el (source)...done Loading /home/kid/emacs/init.d/60muse-srctag.el (source)...done Loading /home/kid/emacs/init.d/60muse-ubb.el (source)...done Loading /home/kid/.emms-cache...done For information about the GNU Project and its goals, type C-h C-p. Making completion list... Type C-x 1 to remove help window. Loading emacsbug...done
_______________________________________________ emacs-pretest-bug mailing list [email protected] http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug
