unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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).