* Re: [jbw@macs.hw.ac.uk: strange Emacs 22.1 failure due to utf-8-compose-scripts when --no-window-system used] [not found] <E1IA7Ik-0008WD-5P@fencepost.gnu.org> @ 2007-07-16 14:41 ` Kenichi Handa 2007-07-16 15:35 ` Joe Wells 0 siblings, 1 reply; 10+ messages in thread From: Kenichi Handa @ 2007-07-16 14:41 UTC (permalink / raw) To: rms; +Cc: jbw, emacs-devel Sorry for the late response, but I can't reproduce that problem with the latest CVS code. Do anyone know if a fix was installed recently? --- Kenichi Handa handa@m17n.org In article <E1IA7Ik-0008WD-5P@fencepost.gnu.org>, Richard Stallman <rms@gnu.org> writes: > [I sent this message a week ago but did not get a response.] > Would you please DTRT and ack? Please install the fix in Emacs 22 > if it is simple enough. > ------- Start of forwarded message ------- > X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY > autolearn=failed version=3.1.0 > From: Joe Wells <jbw@macs.hw.ac.uk> > To: bug-gnu-emacs@gnu.org > Date: Sun, 01 Jul 2007 04:01:19 +0100 > Subject: strange Emacs 22.1 failure due to utf-8-compose-scripts when > --no-window-system used > Dear Emacs gurus > Run the script below to see an interesting failure. These 3 > ingredients are needed: > 1. The environment variable LC_CTYPE (or probably LANG or LC_ALL, but > I haven't checked those variables) must be set (probably to a UTF-8 > locale, but I haven't checked any locales other than "C" (no bug) > and "en_US.UTF-8" (bug)). > 2. The --no-window-system command-line argument must be used. > 3. The variable utf-8-compose-scripts must be set. > At this point, various things start failing strangely. The script > demonstrates one of the failures. > I hope this helps. > Joe > - ---------------------------------------------------------------------- > #!/bin/sh > # > export LC_CTYPE=en_US.UTF-8 > emacs --no-window-system --quick --eval '(setq utf-8-compose-scripts t)' --load "lao-util" > # > # You will now see an error message like this one (replace XYZZY by > # the appropriate path for your system): > # > # utf-8-post-read-conversion: Recursive load: "XYZZY/share/emacs/22.1/lisp/language/lao-util.elc", "XYZZY/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc", "XYZZY/share/emacs/22.1/lisp/language/lao-util.elc", "XYZZY/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc", "XYZZY/share/emacs/22.1/lisp/language/lao-util.elc", "XYZZY/share/emacs/22.1/lisp/language/lao-util.elc" > # > # In fact, lots of things will fail with this error message after this point. > - ---------------------------------------------------------------------- > In GNU Emacs 22.1.1 (i686-pc-linux-gnu, GTK+ Version 2.8.20) > of 2007-06-27 on artemis > Windowing system distributor `The X.Org Foundation', version 11.0.70000000 > configured using `configure '--prefix=/home/jbw/local2' '--enable-debug' '--disable-nls' '--with-x-toolkit=gtk' 'CFLAGS=-O0 -g3 -ggdb'' > Important settings: > value of $LC_ALL: nil > value of $LC_COLLATE: nil > value of $LC_CTYPE: en_US.UTF-8 > value of $LC_MESSAGES: nil > value of $LC_MONETARY: nil > value of $LC_NUMERIC: nil > value of $LC_TIME: jbw > value of $LANG: nil > locale-coding-system: utf-8 > default-enable-multibyte-characters: t > _______________________________________________ > bug-gnu-emacs mailing list > bug-gnu-emacs@gnu.org > http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs > ------- End of forwarded message ------- ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [jbw@macs.hw.ac.uk: strange Emacs 22.1 failure due to utf-8-compose-scripts when --no-window-system used] 2007-07-16 14:41 ` [jbw@macs.hw.ac.uk: strange Emacs 22.1 failure due to utf-8-compose-scripts when --no-window-system used] Kenichi Handa @ 2007-07-16 15:35 ` Joe Wells 2007-07-17 4:35 ` Kenichi Handa 0 siblings, 1 reply; 10+ messages in thread From: Joe Wells @ 2007-07-16 15:35 UTC (permalink / raw) To: Kenichi Handa; +Cc: rms, emacs-devel Kenichi Handa <handa@m17n.org> writes: > Sorry for the late response, but I can't reproduce that > problem with the latest CVS code. That sounds like good news. Am I correct in assuming others _can_ reproduce the problem with the official Emacs 22.1 release? Otherwise maybe I need to provide better instructions for reproducing the problem. -- Joe > Do anyone know if a fix was installed recently? > > --- > Kenichi Handa > handa@m17n.org > > In article <E1IA7Ik-0008WD-5P@fencepost.gnu.org>, Richard Stallman <rms@gnu.org> writes: > >> [I sent this message a week ago but did not get a response.] >> Would you please DTRT and ack? Please install the fix in Emacs 22 >> if it is simple enough. > >> ------- Start of forwarded message ------- >> X-Spam-Status: No, score=0.0 required=5.0 tests=UNPARSEABLE_RELAY >> autolearn=failed version=3.1.0 >> From: Joe Wells <jbw@macs.hw.ac.uk> >> To: bug-gnu-emacs@gnu.org >> Date: Sun, 01 Jul 2007 04:01:19 +0100 >> Subject: strange Emacs 22.1 failure due to utf-8-compose-scripts when >> --no-window-system used > >> Dear Emacs gurus > >> Run the script below to see an interesting failure. These 3 >> ingredients are needed: > >> 1. The environment variable LC_CTYPE (or probably LANG or LC_ALL, but >> I haven't checked those variables) must be set (probably to a UTF-8 >> locale, but I haven't checked any locales other than "C" (no bug) >> and "en_US.UTF-8" (bug)). >> 2. The --no-window-system command-line argument must be used. >> 3. The variable utf-8-compose-scripts must be set. > >> At this point, various things start failing strangely. The script >> demonstrates one of the failures. > >> I hope this helps. > >> Joe > >> - ---------------------------------------------------------------------- >> #!/bin/sh >> # >> export LC_CTYPE=en_US.UTF-8 >> emacs --no-window-system --quick --eval '(setq utf-8-compose-scripts t)' --load "lao-util" >> # >> # You will now see an error message like this one (replace XYZZY by >> # the appropriate path for your system): >> # >> # utf-8-post-read-conversion: Recursive load: "XYZZY/share/emacs/22.1/lisp/language/lao-util.elc", "XYZZY/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc", "XYZZY/share/emacs/22.1/lisp/language/lao-util.elc", "XYZZY/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc", "XYZZY/share/emacs/22.1/lisp/language/lao-util.elc", "XYZZY/share/emacs/22.1/lisp/language/lao-util.elc" >> # >> # In fact, lots of things will fail with this error message after this point. >> - ---------------------------------------------------------------------- > >> In GNU Emacs 22.1.1 (i686-pc-linux-gnu, GTK+ Version 2.8.20) >> of 2007-06-27 on artemis >> Windowing system distributor `The X.Org Foundation', version 11.0.70000000 >> configured using `configure '--prefix=/home/jbw/local2' '--enable-debug' '--disable-nls' '--with-x-toolkit=gtk' 'CFLAGS=-O0 -g3 -ggdb'' > >> Important settings: >> value of $LC_ALL: nil >> value of $LC_COLLATE: nil >> value of $LC_CTYPE: en_US.UTF-8 >> value of $LC_MESSAGES: nil >> value of $LC_MONETARY: nil >> value of $LC_NUMERIC: nil >> value of $LC_TIME: jbw >> value of $LANG: nil >> locale-coding-system: utf-8 >> default-enable-multibyte-characters: t > > >> _______________________________________________ >> bug-gnu-emacs mailing list >> bug-gnu-emacs@gnu.org >> http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs >> ------- End of forwarded message ------- ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [jbw@macs.hw.ac.uk: strange Emacs 22.1 failure due to utf-8-compose-scripts when --no-window-system used] 2007-07-16 15:35 ` Joe Wells @ 2007-07-17 4:35 ` Kenichi Handa 2007-07-17 10:27 ` Joe Wells 0 siblings, 1 reply; 10+ messages in thread From: Kenichi Handa @ 2007-07-17 4:35 UTC (permalink / raw) To: Joe Wells; +Cc: rms, emacs-devel In article <86hco4wed4.fsf@macs.hw.ac.uk>, Joe Wells <jbw@macs.hw.ac.uk> writes: > Kenichi Handa <handa@m17n.org> writes: > > Sorry for the late response, but I can't reproduce that > > problem with the latest CVS code. > That sounds like good news. > Am I correct in assuming others _can_ reproduce the problem with the > official Emacs 22.1 release? No. I've just tried with the released version of Emacs 22.1, but I couldn't reproduce it. > Otherwise maybe I need to provide better > instructions for reproducing the problem. Please, if you can reprodue the bug with the latest CVS code. --- Kenichi Handa handa@m17n.org ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [jbw@macs.hw.ac.uk: strange Emacs 22.1 failure due to utf-8-compose-scripts when --no-window-system used] 2007-07-17 4:35 ` Kenichi Handa @ 2007-07-17 10:27 ` Joe Wells 2007-07-18 15:27 ` Joe Wells 0 siblings, 1 reply; 10+ messages in thread From: Joe Wells @ 2007-07-17 10:27 UTC (permalink / raw) To: Kenichi Handa; +Cc: rms, emacs-devel Kenichi Handa <handa@m17n.org> writes: > In article <86hco4wed4.fsf@macs.hw.ac.uk>, Joe Wells <jbw@macs.hw.ac.uk> writes: > >> Kenichi Handa <handa@m17n.org> writes: >> > Sorry for the late response, but I can't reproduce that >> > problem with the latest CVS code. > >> That sounds like good news. > >> Am I correct in assuming others _can_ reproduce the problem with the >> official Emacs 22.1 release? > > No. I've just tried with the released version of Emacs > 22.1, but I couldn't reproduce it. Can _anyone_ else reproduce the bug? If you have the bug, then the following invocation of Emacs 22.1 will raise a recursive load error: export LC_CTYPE=en_US.UTF-8 emacs --no-window-system --quick --eval '(setq utf-8-compose-scripts t)' --load "lao-util" -- Joe >> Otherwise maybe I need to provide better >> instructions for reproducing the problem. > > Please, if you can reprodue the bug with the latest CVS code. > > --- > Kenichi Handa > handa@m17n.org ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [jbw@macs.hw.ac.uk: strange Emacs 22.1 failure due to utf-8-compose-scripts when --no-window-system used] 2007-07-17 10:27 ` Joe Wells @ 2007-07-18 15:27 ` Joe Wells 2007-07-19 2:36 ` Kenichi Handa 0 siblings, 1 reply; 10+ messages in thread From: Joe Wells @ 2007-07-18 15:27 UTC (permalink / raw) To: Kenichi Handa; +Cc: rms, emacs-devel Joe Wells <jbw@macs.hw.ac.uk> writes: > Kenichi Handa <handa@m17n.org> writes: > >> In article <86hco4wed4.fsf@macs.hw.ac.uk>, Joe Wells <jbw@macs.hw.ac.uk> writes: >> >>> Kenichi Handa <handa@m17n.org> writes: >>> > Sorry for the late response, but I can't reproduce that >>> > problem with the latest CVS code. >> >>> That sounds like good news. >> >>> Am I correct in assuming others _can_ reproduce the problem with the >>> official Emacs 22.1 release? >> >> No. I've just tried with the released version of Emacs >> 22.1, but I couldn't reproduce it. > > Can _anyone_ else reproduce the bug? > > If you have the bug, then the following invocation of Emacs 22.1 will > raise a recursive load error: > > export LC_CTYPE=en_US.UTF-8 > emacs --no-window-system --quick --eval '(setq utf-8-compose-scripts t)' --load "lao-util" I have reverified the bug. I tested in a dummy account to make sure none of my account settings affected things. I have also verified that I get the bug when using the console (no X windows). Here are some more details on my configuration. I am using Ubuntu 6.06 LTS (“Dapper Drake”) with all packages fully updated. Everything I am using is standard Ubuntu except for my kernel and Emacs. I am using a custom Linux kernel version 2.6.17 (this version was fairly current a year ago) with a few extra patches applied by my hardware middleman. As I reported in my original report, I built Emacs with these options: export CFLAGS='-O0 -g3 -ggdb' ./configure --prefix=$HOME/local2 --enable-debug --disable-nls --with-x-toolkit=gtk I suppose that the “--disable-nls” or “--with-x-toolkit=gtk” options might contribute to the bug. I hope this is information helps others to reproduce the bug. -- Joe >>> Otherwise maybe I need to provide better >>> instructions for reproducing the problem. >> >> Please, if you can reprodue the bug with the latest CVS code. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [jbw@macs.hw.ac.uk: strange Emacs 22.1 failure due to utf-8-compose-scripts when --no-window-system used] 2007-07-18 15:27 ` Joe Wells @ 2007-07-19 2:36 ` Kenichi Handa 2007-07-19 4:33 ` Joe Wells 0 siblings, 1 reply; 10+ messages in thread From: Kenichi Handa @ 2007-07-19 2:36 UTC (permalink / raw) To: Joe Wells; +Cc: rms, emacs-devel In article <86sl7lvijy.fsf@macs.hw.ac.uk>, Joe Wells <jbw@macs.hw.ac.uk> writes: > I have reverified the bug. I tested in a dummy account to make sure > none of my account settings affected things. I have also verified > that I get the bug when using the console (no X windows). > Here are some more details on my configuration. I am using > Ubuntu 6.06 LTS (âDapper Drakeâ) with all packages fully updated. > Everything I am using is standard Ubuntu except for my kernel and > Emacs. I am using a custom Linux kernel version 2.6.17 (this version > was fairly current a year ago) with a few extra patches applied by my > hardware middleman. As I reported in my original report, I built > Emacs with these options: > export CFLAGS='-O0 -g3 -ggdb' > ./configure --prefix=$HOME/local2 --enable-debug --disable-nls --with-x-toolkit=gtk > I suppose that the â--disable-nlsâ or â--with-x-toolkit=gtkâ options > might contribute to the bug. I configured Emacs 21.1 with the same options, but still can't reproduce the bug (my distribution is Debian). After starting Emacs, the *Messsage* buffer contains this: ("/home/handa/local2/bin/emacs" "--quick" "--eval" "(setq utf-8-compose-scripts\ t)" "--load" "lao-util") Loading encoded-kb...done For information about the GNU Project and its goals, type C-h C-p. Loading regexp-opt...done Loading thai-util... Loading mule-util...done Loading thai-util...done Loading devan-util... Loading ind-util...done Loading devan-util...done Loading mlm-util...done Loading tml-util...done If you don't supply "--load lao-util", does your emacs work well? How about "--load lao-util.el" instead? --- Kenichi Handa handa@m17n.org ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [jbw@macs.hw.ac.uk: strange Emacs 22.1 failure due to utf-8-compose-scripts when --no-window-system used] 2007-07-19 2:36 ` Kenichi Handa @ 2007-07-19 4:33 ` Joe Wells 2007-07-19 18:08 ` Joe Wells 0 siblings, 1 reply; 10+ messages in thread From: Joe Wells @ 2007-07-19 4:33 UTC (permalink / raw) To: Kenichi Handa; +Cc: rms, emacs-devel Kenichi Handa <handa@m17n.org> writes: > In article <86sl7lvijy.fsf@macs.hw.ac.uk>, Joe Wells <jbw@macs.hw.ac.uk> writes: > >> I have reverified the bug. I tested in a dummy account to make sure >> none of my account settings affected things. I have also verified >> that I get the bug when using the console (no X windows). > >> Here are some more details on my configuration. I am using >> Ubuntu 6.06 LTS (“Dapper Drake”) with all packages fully updated. >> Everything I am using is standard Ubuntu except for my kernel and >> Emacs. I am using a custom Linux kernel version 2.6.17 (this version >> was fairly current a year ago) with a few extra patches applied by my >> hardware middleman. As I reported in my original report, I built >> Emacs with these options: > >> export CFLAGS='-O0 -g3 -ggdb' >> ./configure --prefix=$HOME/local2 --enable-debug --disable-nls --with-x-toolkit=gtk > >> I suppose that the “--disable-nls” or “--with-x-toolkit=gtk” options >> might contribute to the bug. > > I configured Emacs 21.1 with the same options, but still > can't reproduce the bug (my distribution is Debian). After > starting Emacs, the *Messsage* buffer contains this: > > ("/home/handa/local2/bin/emacs" "--quick" "--eval" "(setq utf-8-compose-scripts\ t)" "--load" "lao-util") > Loading encoded-kb...done > For information about the GNU Project and its goals, type C-h C-p. > Loading regexp-opt...done > Loading thai-util... > Loading mule-util...done > Loading thai-util...done > Loading devan-util... > Loading ind-util...done > Loading devan-util...done > Loading mlm-util...done > Loading tml-util...done Here is the *Messages* buffer for me which shows the error: ---------------------------------------------------------------------- ("/home/jbw/local2/bin/emacs" "--quick" "--eval" "(setq utf-8-compose-scripts t)" "--load" "lao-util") Loading encoded-kb...done For information about the GNU Project and its goals, type C-h C-p. Loading thai-util... [2 times] Loading mule-util... Loading lao-util... [2 times] Loading regexp-opt... Loading lao-util... [2 times] Loading regexp-opt... Loading lao-util... [2 times] Loading regexp-opt... Loading lao-util... utf-8-post-read-conversion: Recursive load: "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc", "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc", "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" ---------------------------------------------------------------------- There are several differences. Your *Messages* buffer shows regexp-opt being loaded just once and before the other files. Mine shows regexp-opt not being loaded until after several other files, and it is loaded repeatedly as part of the recursive load loop. Mine shows thai-util being loaded _twice_, with the second time apparently happening during the first time. Yours _never_ loads lao-util. > If you don't supply "--load lao-util", does your emacs work > well? No, sooner or later something else causes it to be loaded. It seems that any time an attempt is made to load “mule-util”, “lao-util”, or “regexp-opt”, a recursive loading loop results. A quick check reveals I get the same error with both of these command lines: emacs --no-window-system --quick --eval '(setq utf-8-compose-scripts t)' --load "mule-util" emacs --no-window-system --quick --eval '(setq utf-8-compose-scripts t)' --load "regexp-opt" > How about "--load lao-util.el" instead? I get the same problem if I load “lao-util.el” instead of “lao-util”. -- Joe P.S. Unfortunately, doing (setq debug-on-error t) before (load "lao-util") does not trigger the debugger, which makes it harder to figure out just what is happening. ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [jbw@macs.hw.ac.uk: strange Emacs 22.1 failure due to utf-8-compose-scripts when --no-window-system used] 2007-07-19 4:33 ` Joe Wells @ 2007-07-19 18:08 ` Joe Wells 2007-07-20 1:16 ` Kenichi Handa 0 siblings, 1 reply; 10+ messages in thread From: Joe Wells @ 2007-07-19 18:08 UTC (permalink / raw) To: Kenichi Handa; +Cc: rms, emacs-devel Joe Wells <jbw@macs.hw.ac.uk> writes: > Kenichi Handa <handa@m17n.org> writes: > >> In article <86sl7lvijy.fsf@macs.hw.ac.uk>, Joe Wells <jbw@macs.hw.ac.uk> writes: >> >>> I have reverified the bug. I tested in a dummy account to make sure >>> none of my account settings affected things. I have also verified >>> that I get the bug when using the console (no X windows). >> >>> Here are some more details on my configuration. I am using >>> Ubuntu 6.06 LTS (“Dapper Drake”) with all packages fully updated. >>> Everything I am using is standard Ubuntu except for my kernel and >>> Emacs. I am using a custom Linux kernel version 2.6.17 (this version >>> was fairly current a year ago) with a few extra patches applied by my >>> hardware middleman. As I reported in my original report, I built >>> Emacs with these options: >> >>> export CFLAGS='-O0 -g3 -ggdb' >>> ./configure --prefix=$HOME/local2 --enable-debug --disable-nls --with-x-toolkit=gtk >> >>> I suppose that the “--disable-nls” or “--with-x-toolkit=gtk” options >>> might contribute to the bug. >> >> I configured Emacs 21.1 with the same options, but still >> can't reproduce the bug (my distribution is Debian). After >> starting Emacs, the *Messsage* buffer contains this: >> >> ("/home/handa/local2/bin/emacs" "--quick" "--eval" "(setq utf-8-compose-scripts\ t)" "--load" "lao-util") >> Loading encoded-kb...done >> For information about the GNU Project and its goals, type C-h C-p. >> Loading regexp-opt...done >> Loading thai-util... >> Loading mule-util...done >> Loading thai-util...done >> Loading devan-util... >> Loading ind-util...done >> Loading devan-util...done >> Loading mlm-util...done >> Loading tml-util...done > > Here is the *Messages* buffer for me which shows the error: > > ---------------------------------------------------------------------- > ("/home/jbw/local2/bin/emacs" "--quick" "--eval" "(setq utf-8-compose-scripts t)" "--load" "lao-util") > Loading encoded-kb...done > For information about the GNU Project and its goals, type C-h C-p. > Loading thai-util... [2 times] > Loading mule-util... > Loading lao-util... [2 times] > Loading regexp-opt... > Loading lao-util... [2 times] > Loading regexp-opt... > Loading lao-util... [2 times] > Loading regexp-opt... > Loading lao-util... > utf-8-post-read-conversion: Recursive load: "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc", "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc", "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" > ---------------------------------------------------------------------- > > There are several differences. Your *Messages* buffer shows > regexp-opt being loaded just once and before the other files. Mine > shows regexp-opt not being loaded until after several other files, and > it is loaded repeatedly as part of the recursive load loop. > > Mine shows thai-util being loaded _twice_, with the second time > apparently happening during the first time. > > Yours _never_ loads lao-util. > >> If you don't supply "--load lao-util", does your emacs work >> well? > > No, sooner or later something else causes it to be loaded. It seems > that any time an attempt is made to load “mule-util”, “lao-util”, or > “regexp-opt”, a recursive loading loop results. A quick check reveals > I get the same error with both of these command lines: > > emacs --no-window-system --quick --eval '(setq utf-8-compose-scripts t)' --load "mule-util" > > emacs --no-window-system --quick --eval '(setq utf-8-compose-scripts t)' --load "regexp-opt" > >> How about "--load lao-util.el" instead? > > I get the same problem if I load “lao-util.el” instead of “lao-util”. > > -- > Joe > > P.S. Unfortunately, doing (setq debug-on-error t) before (load > "lao-util") does not trigger the debugger, which makes it harder to > figure out just what is happening. Well, debug-on-error is not working (presumably because the debugger itself is failing for the same reason), but stack-trace-on-error does work! I've appended the full stack trace below. It seems that an additional ingredient is needed to trigger the bug: the path to Emacs's installed location must include a symbolic link. On my system, Emacs is installed under “/home/jbw/local2”, which is a symbolic link to “/mnt/extra-space-02/jbw/local”. Loading is canonicalizing paths using the function file-truename which invokes file-symlink-p which uses the macro DECODE_FILE which invokes code_convert_string_norecord using the value of default-file-name-coding-system which is mule-utf-8. The function code_convert_string_norecord makes an attempt to prevent character composition with the line “coding.composing = COMPOSITION_DISABLED;”, but this seems to be ignored (or be affecting a completely different code path for character composition). The function code_convert_string_norecord invokes decode_coding_string which invokes run_pre_post_conversion_on_str if the coding system has a post-read-conversion property. The coding system mule-utf-8 has as its value of its post-read-conversion property the function utf-8-post-read-conversion. The function run_pre_post_conversion_on_str then invokes utf-8-post-read-conversion, which attempts to run lao-compose-region. The function lao-compose-region is autoloaded from “lao-util.el”, and loading that file defines the initial value of a variable by invoking “regexp-opt” which is autoloaded from “regexp-opt.el”. There is some additional complication. See the stack trace below. What seems to be needed is some way of telling the post-read-conversion function to do all of its usual work except for any work for character composition. Joe ---------------------------------------------------------------------- lao-compose-region(30 1) utf-8-post-read-conversion(29) file-symlink-p("/home/jbw/local2") file-truename("/home/jbw/local2" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/debug.elc") debug(error (error "Recursive load" "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc" "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc" "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc")) lao-compose-region(30 1) utf-8-post-read-conversion(29) file-symlink-p("/home/jbw/local2") file-truename("/home/jbw/local2" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc") regexp-opt(("ngh" "kh" "qh" "ng" "th" "dh" "hp" "fh" "ph" "gn" "hh" "nh" "mh" "lh" "yh" "wh" "hl" "hy" "hn" "hm" "k" "j" "s" "x" "y" "d" "t" "n" "b" "p" "f" "m" "l" "r" "v" "w" "O" "h")) byte-code("\306\307\310\311\b\"!\312\307\310\311 \"!\313\307\310\311 \"!\312\307\310\311\v\"!\314\307\310\311\f\"!\315\307\310\311\r\"!\260\f\207" [lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist lao-transcription-punctuation-alist "\\(" regexp-opt mapcar car "\\)\\(" "\\)?\\(\\(" "\\)?\\(" "\\)?\\)?\\|"] 15) (defconst lao-transcription-pattern (byte-code "\306\307\310\311\b\"!\312\307\310\311 \"!\313\307\310\311 \"!\312\307\310\311\v\"!\314\307\310\311\f\"!\315\307\310\311\r\"!\260\f\207" [lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist lao-transcription-punctuation-alist "\\(" regexp-opt mapcar car "\\)\\(" "\\)?\\(\\(" "\\)?\\(" "\\)?\\)?\\|"] 15) ("/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" . 10639)) lao-compose-region(30 1) utf-8-post-read-conversion(29) file-symlink-p("/home/jbw/local2") file-truename("/home/jbw/local2" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp/language" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc") lao-compose-region(30 1) utf-8-post-read-conversion(29) file-symlink-p("/home/jbw/local2") file-truename("/home/jbw/local2" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc") regexp-opt(("ngh" "kh" "qh" "ng" "th" "dh" "hp" "fh" "ph" "gn" "hh" "nh" "mh" "lh" "yh" "wh" "hl" "hy" "hn" "hm" "k" "j" "s" "x" "y" "d" "t" "n" "b" "p" "f" "m" "l" "r" "v" "w" "O" "h")) byte-code("\306\307\310\311\b\"!\312\307\310\311 \"!\313\307\310\311 \"!\312\307\310\311\v\"!\314\307\310\311\f\"!\315\307\310\311\r\"!\260\f\207" [lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist lao-transcription-punctuation-alist "\\(" regexp-opt mapcar car "\\)\\(" "\\)?\\(\\(" "\\)?\\(" "\\)?\\)?\\|"] 15) (defconst lao-transcription-pattern (byte-code "\306\307\310\311\b\"!\312\307\310\311 \"!\313\307\310\311 \"!\312\307\310\311\v\"!\314\307\310\311\f\"!\315\307\310\311\r\"!\260\f\207" [lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist lao-transcription-punctuation-alist "\\(" regexp-opt mapcar car "\\)\\(" "\\)?\\(\\(" "\\)?\\(" "\\)?\\)?\\|"] 15) ("/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" . 10639)) lao-compose-region(30 1) utf-8-post-read-conversion(29) file-symlink-p("/home/jbw/local2") file-truename("/home/jbw/local2" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp/language" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc") lao-compose-region(30 1) utf-8-post-read-conversion(29) file-symlink-p("/home/jbw/local2") file-truename("/home/jbw/local2" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc") load("regexp-opt") eval((load "regexp-opt")) eval-last-sexp-1(nil) eval-last-sexp(nil) call-interactively(eval-last-sexp) ---------------------------------------------------------------------- ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [jbw@macs.hw.ac.uk: strange Emacs 22.1 failure due to utf-8-compose-scripts when --no-window-system used] 2007-07-19 18:08 ` Joe Wells @ 2007-07-20 1:16 ` Kenichi Handa 2007-07-20 2:04 ` Kenichi Handa 0 siblings, 1 reply; 10+ messages in thread From: Kenichi Handa @ 2007-07-20 1:16 UTC (permalink / raw) To: Joe Wells; +Cc: rms, emacs-devel Thank you investigating this problem. I now can reproduce the bug, and I think I found a solution. Please wait for a while. I'll let you know when it is fixed. --- Kenichi Handa handa@m17n.org In article <86d4youuzq.fsf@macs.hw.ac.uk>, Joe Wells <jbw@macs.hw.ac.uk> writes: > Joe Wells <jbw@macs.hw.ac.uk> writes: > > Kenichi Handa <handa@m17n.org> writes: > > >>> In article <86sl7lvijy.fsf@macs.hw.ac.uk>, Joe Wells <jbw@macs.hw.ac.uk> writes: >>> >>>> I have reverified the bug. I tested in a dummy account to make sure >>>> none of my account settings affected things. I have also verified >>>> that I get the bug when using the console (no X windows). >>> >>>> Here are some more details on my configuration. I am using >>>> Ubuntu 6.06 LTS (âDapper Drakeâ) with all packages fully updated. >>>> Everything I am using is standard Ubuntu except for my kernel and >>>> Emacs. I am using a custom Linux kernel version 2.6.17 (this version >>>> was fairly current a year ago) with a few extra patches applied by my >>>> hardware middleman. As I reported in my original report, I built >>>> Emacs with these options: >>> >>>> export CFLAGS='-O0 -g3 -ggdb' >>>> ./configure --prefix=$HOME/local2 --enable-debug --disable-nls --with-x-toolkit=gtk >>> >>>> I suppose that the â--disable-nlsâ or â--with-x-toolkit=gtkâ options >>>> might contribute to the bug. >>> >>> I configured Emacs 21.1 with the same options, but still >>> can't reproduce the bug (my distribution is Debian). After >>> starting Emacs, the *Messsage* buffer contains this: >>> >>> ("/home/handa/local2/bin/emacs" "--quick" "--eval" "(setq utf-8-compose-scripts\ t)" "--load" "lao-util") >>> Loading encoded-kb...done >>> For information about the GNU Project and its goals, type C-h C-p. >>> Loading regexp-opt...done >>> Loading thai-util... >>> Loading mule-util...done >>> Loading thai-util...done >>> Loading devan-util... >>> Loading ind-util...done >>> Loading devan-util...done >>> Loading mlm-util...done >>> Loading tml-util...done > > > > Here is the *Messages* buffer for me which shows the error: > > > > ---------------------------------------------------------------------- > > ("/home/jbw/local2/bin/emacs" "--quick" "--eval" "(setq utf-8-compose-scripts t)" "--load" "lao-util") > > Loading encoded-kb...done > > For information about the GNU Project and its goals, type C-h C-p. > > Loading thai-util... [2 times] > > Loading mule-util... > > Loading lao-util... [2 times] > > Loading regexp-opt... > > Loading lao-util... [2 times] > > Loading regexp-opt... > > Loading lao-util... [2 times] > > Loading regexp-opt... > > Loading lao-util... > > utf-8-post-read-conversion: Recursive load: "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc", "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc", "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc", "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" > > ---------------------------------------------------------------------- > > > > There are several differences. Your *Messages* buffer shows > > regexp-opt being loaded just once and before the other files. Mine > > shows regexp-opt not being loaded until after several other files, and > > it is loaded repeatedly as part of the recursive load loop. > > > > Mine shows thai-util being loaded _twice_, with the second time > > apparently happening during the first time. > > > > Yours _never_ loads lao-util. > > >>> If you don't supply "--load lao-util", does your emacs work >>> well? > > > > No, sooner or later something else causes it to be loaded. It seems > > that any time an attempt is made to load âmule-utilâ, âlao-utilâ, or > > âregexp-optâ, a recursive loading loop results. A quick check reveals > > I get the same error with both of these command lines: > > > > emacs --no-window-system --quick --eval '(setq utf-8-compose-scripts t)' --load "mule-util" > > > > emacs --no-window-system --quick --eval '(setq utf-8-compose-scripts t)' --load "regexp-opt" > > >>> How about "--load lao-util.el" instead? > > > > I get the same problem if I load âlao-util.elâ instead of âlao-utilâ. > > > > -- > > Joe > > > > P.S. Unfortunately, doing (setq debug-on-error t) before (load > > "lao-util") does not trigger the debugger, which makes it harder to > > figure out just what is happening. > Well, debug-on-error is not working (presumably because the debugger > itself is failing for the same reason), but stack-trace-on-error does > work! I've appended the full stack trace below. > It seems that an additional ingredient is needed to trigger the bug: > the path to Emacs's installed location must include a symbolic link. > On my system, Emacs is installed under â/home/jbw/local2â, which is a > symbolic link to â/mnt/extra-space-02/jbw/localâ. > Loading is canonicalizing paths using the function file-truename which > invokes file-symlink-p which uses the macro DECODE_FILE which invokes > code_convert_string_norecord using the value of > default-file-name-coding-system which is mule-utf-8. The function > code_convert_string_norecord makes an attempt to prevent character > composition with the line âcoding.composing = COMPOSITION_DISABLED;â, > but this seems to be ignored (or be affecting a completely different > code path for character composition). The function > code_convert_string_norecord invokes decode_coding_string which > invokes run_pre_post_conversion_on_str if the coding system has a > post-read-conversion property. The coding system mule-utf-8 has as > its value of its post-read-conversion property the function > utf-8-post-read-conversion. The function > run_pre_post_conversion_on_str then invokes > utf-8-post-read-conversion, which attempts to run lao-compose-region. > The function lao-compose-region is autoloaded from âlao-util.elâ, and > loading that file defines the initial value of a variable by invoking > âregexp-optâ which is autoloaded from âregexp-opt.elâ. There is some > additional complication. See the stack trace below. > What seems to be needed is some way of telling the > post-read-conversion function to do all of its usual work except for > any work for character composition. > Joe > ---------------------------------------------------------------------- > lao-compose-region(30 1) > utf-8-post-read-conversion(29) > file-symlink-p("/home/jbw/local2") > file-truename("/home/jbw/local2" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/debug.elc") > debug(error (error "Recursive load" "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc" "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc" "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" "/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" "/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc")) > lao-compose-region(30 1) > utf-8-post-read-conversion(29) > file-symlink-p("/home/jbw/local2") > file-truename("/home/jbw/local2" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc") > regexp-opt(("ngh" "kh" "qh" "ng" "th" "dh" "hp" "fh" "ph" "gn" "hh" "nh" "mh" "lh" "yh" "wh" "hl" "hy" "hn" "hm" "k" "j" "s" "x" "y" "d" "t" "n" "b" "p" "f" "m" "l" "r" "v" "w" "O" "h")) > byte-code("\306\307\310\311\b\"!\312\307\310\311 \"!\313\307\310\311 > \"!\312\307\310\311\v\"!\314\307\310\311\f\"!\315\307\310\311\r\"!\260\f\207" [lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist lao-transcription-punctuation-alist "\\(" regexp-opt mapcar car "\\)\\(" "\\)?\\(\\(" "\\)?\\(" "\\)?\\)?\\|"] 15) > (defconst lao-transcription-pattern (byte-code "\306\307\310\311\b\"!\312\307\310\311 \"!\313\307\310\311 > \"!\312\307\310\311\v\"!\314\307\310\311\f\"!\315\307\310\311\r\"!\260\f\207" [lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist lao-transcription-punctuation-alist "\\(" regexp-opt mapcar car "\\)\\(" "\\)?\\(\\(" "\\)?\\(" "\\)?\\)?\\|"] 15) ("/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" . 10639)) > lao-compose-region(30 1) > utf-8-post-read-conversion(29) > file-symlink-p("/home/jbw/local2") > file-truename("/home/jbw/local2" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp/language" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc") > lao-compose-region(30 1) > utf-8-post-read-conversion(29) > file-symlink-p("/home/jbw/local2") > file-truename("/home/jbw/local2" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc") > regexp-opt(("ngh" "kh" "qh" "ng" "th" "dh" "hp" "fh" "ph" "gn" "hh" "nh" "mh" "lh" "yh" "wh" "hl" "hy" "hn" "hm" "k" "j" "s" "x" "y" "d" "t" "n" "b" "p" "f" "m" "l" "r" "v" "w" "O" "h")) > byte-code("\306\307\310\311\b\"!\312\307\310\311 \"!\313\307\310\311 > \"!\312\307\310\311\v\"!\314\307\310\311\f\"!\315\307\310\311\r\"!\260\f\207" [lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist lao-transcription-punctuation-alist "\\(" regexp-opt mapcar car "\\)\\(" "\\)?\\(\\(" "\\)?\\(" "\\)?\\)?\\|"] 15) > (defconst lao-transcription-pattern (byte-code "\306\307\310\311\b\"!\312\307\310\311 \"!\313\307\310\311 > \"!\312\307\310\311\v\"!\314\307\310\311\f\"!\315\307\310\311\r\"!\260\f\207" [lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist lao-transcription-punctuation-alist "\\(" regexp-opt mapcar car "\\)\\(" "\\)?\\(\\(" "\\)?\\(" "\\)?\\)?\\|"] 15) ("/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc" . 10639)) > lao-compose-region(30 1) > utf-8-post-read-conversion(29) > file-symlink-p("/home/jbw/local2") > file-truename("/home/jbw/local2" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp/language" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp/language/lao-util.elc") > lao-compose-region(30 1) > utf-8-post-read-conversion(29) > file-symlink-p("/home/jbw/local2") > file-truename("/home/jbw/local2" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp" (91) ((("/home/jbw/" . "/home/jbw/") ("/home/" . "/home/")))) > file-truename("/home/jbw/local2/share/emacs/22.1/lisp/emacs-lisp/regexp-opt.elc") > load("regexp-opt") > eval((load "regexp-opt")) > eval-last-sexp-1(nil) > eval-last-sexp(nil) > call-interactively(eval-last-sexp) > ---------------------------------------------------------------------- ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [jbw@macs.hw.ac.uk: strange Emacs 22.1 failure due to utf-8-compose-scripts when --no-window-system used] 2007-07-20 1:16 ` Kenichi Handa @ 2007-07-20 2:04 ` Kenichi Handa 0 siblings, 0 replies; 10+ messages in thread From: Kenichi Handa @ 2007-07-20 2:04 UTC (permalink / raw) To: Kenichi Handa; +Cc: jbw, rms, emacs-devel In article <E1IBh6T-0004uO-Bv@etlken.m17n.org>, Kenichi Handa <handa@m17n.org> writes: > Thank you investigating this problem. I now can reproduce > the bug, and I think I found a solution. Please wait for a > while. I'll let you know when it is fixed. I've just installed the attached change. Could you try it? --- Kenichi Handa handa@m17n.org Index: utf-8.el =================================================================== RCS file: /cvsroot/emacs/emacs/lisp/international/utf-8.el,v retrieving revision 1.54 diff -u -r1.54 utf-8.el --- utf-8.el 24 Feb 2007 01:25:37 -0000 1.54 +++ utf-8.el 20 Jul 2007 01:51:33 -0000 @@ -991,16 +991,20 @@ (set-buffer-multibyte nil))) (when (and utf-8-compose-scripts (> length 1)) - ;; These currently have definitions which cover the relevant - ;; unicodes. We could avoid loading thai-util &c by checking - ;; whether the region contains any characters with the appropriate - ;; categories. There aren't yet Unicode-based rules for Tibetan. - (diacritic-compose-region (point-max) (point-min)) - (thai-compose-region (point-max) (point-min)) - (lao-compose-region (point-max) (point-min)) - (devanagari-compose-region (point-max) (point-min)) - (malayalam-compose-region (point-max) (point-min)) - (tamil-compose-region (point-max) (point-min))) + ;; This let-binding avoids recursive auto-loading. And, we + ;; anyway don't have to run the following code while + ;; auto-loading. + (let ((utf-8-compose-scripts nil)) + ;; These currently have definitions which cover the relevant + ;; unicodes. We could avoid loading thai-util &c by checking + ;; whether the region contains any characters with the appropriate + ;; categories. There aren't yet Unicode-based rules for Tibetan. + (diacritic-compose-region (point-max) (point-min)) + (thai-compose-region (point-max) (point-min)) + (lao-compose-region (point-max) (point-min)) + (devanagari-compose-region (point-max) (point-min)) + (malayalam-compose-region (point-max) (point-min)) + (tamil-compose-region (point-max) (point-min)))) (- (point-max) (point-min))))) (defun utf-8-pre-write-conversion (beg end) ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2007-07-20 2:04 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <E1IA7Ik-0008WD-5P@fencepost.gnu.org> 2007-07-16 14:41 ` [jbw@macs.hw.ac.uk: strange Emacs 22.1 failure due to utf-8-compose-scripts when --no-window-system used] Kenichi Handa 2007-07-16 15:35 ` Joe Wells 2007-07-17 4:35 ` Kenichi Handa 2007-07-17 10:27 ` Joe Wells 2007-07-18 15:27 ` Joe Wells 2007-07-19 2:36 ` Kenichi Handa 2007-07-19 4:33 ` Joe Wells 2007-07-19 18:08 ` Joe Wells 2007-07-20 1:16 ` Kenichi Handa 2007-07-20 2:04 ` Kenichi Handa
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).