>>>>> Eli Zaretskii writes: >>>>> From: Ivan Shmakov Date: Thu, 03 Apr 2014 06:35:09 +0000 […] > This far things are fine, although I'd like to know what kind of > autoload caused Emacs to load some Lisp file here, and what was that > file (the value of 'file' in frame 14 or of 'string' in frame 13 > should tell you that). As I read it, the file is time-date.el, and it’s loaded for the seconds-to-time function. […] >> #79 0x000000000051d5f9 in Fload (file=14735265, >> noerror=noerror@entry=11491490, nomessage=nomessage@entry=11491490, >> nosuffix=nosuffix@entry=11491490, must_suffix=, >> must_suffix@entry=11491490) at ../../src/lread.c:1305 >> #80 0x0000000000475bb5 in uniprop_table (prop=) >> at ../../src/chartab.c:1340 >> #81 0x00000000004760d0 in bidi_initialize () at ../../src/bidi.c:772 […] > This part I don't understand. It says that bidi_initialize called > uniprop_table, as it should, but then uniprop_table called Fload to > load the file uni-bidi.el. JFTR, as per the GDB transcripts MIMEd, Fload () is called to load uni-mirrored.el. The respective code is as follows. emacs-2014 $ nl -ba < src/bidi.c … 771 772 bidi_mirror_table = uniprop_table (intern ("mirroring")); 773 if (NILP (bidi_mirror_table)) 774 emacs_abort (); 775 staticpro (&bidi_mirror_table); 776 … emacs-2014 $ […] > This code runs at "temacs -l loadup dump" time, so the result is that > uni-bidi.el gets loaded and dumped into the Emacs binary. Does the same apply to uni-mirrored.el? Is there an easy way to list the Unicode tables contained within the resulting binary? > Therefore, the call to uniprop_table from bidi_initialize should have > found that the table is already loaded, and refrain from trying to > load it. > (The rest is clear: once uniprop_table tries to load uni-bidi.el, it > announces the fact that it loads that file, because that's the effect > of a non-nil value of force-load-messages, but displaying a message > again requires the initialization of the bidi iterator, so we again > re-enter bidi_initialize, which again calls uniprop_table, etc.) ACK. BTW, is it normal that display_string () is called with an empty ‘string’ argument here, and in turn passes an empty (Lisp) ‘string’ to reseat_to_string ()? > Can you figure out how come uni-bidi.el is not preloaded in your > Emacs? Is something wrong with your characters.el, for example? Or > maybe the uni-*.el files are missing, in particular uni-bidi.el? The uni-*.el files are as follows: emacs-2014 $ find -name uni-\*.el -exec ls -gGlt -- {} + -rw-r--r-- 1 9483 Jan 31 14:47 ./lisp/international/uni-mirrored.el -rw-r--r-- 1 6541 Jan 31 14:47 ./lisp/international/uni-titlecase.el -rw-r--r-- 1 2442 Jan 31 14:47 ./lisp/international/uni-comment.el -rw-r--r-- 1 6501 Jan 31 14:47 ./lisp/international/uni-lowercase.el -rw-r--r-- 1 19816 Jan 31 14:47 ./lisp/international/uni-old-name.el -rw-r--r-- 1 6537 Jan 31 14:47 ./lisp/international/uni-uppercase.el -rw-r--r-- 1 8349 Jan 31 14:47 ./lisp/international/uni-bidi.el -rw-r--r-- 1 2826 Jan 31 14:47 ./lisp/international/uni-decimal.el -rw-r--r-- 1 29388 Jan 31 14:47 ./lisp/international/uni-decomposition.el -rw-r--r-- 1 3144 Jan 31 14:47 ./lisp/international/uni-digit.el -rw-r--r-- 1 4662 Jan 31 14:47 ./lisp/international/uni-numeric.el -rw-r--r-- 1 13187 Jan 31 14:47 ./lisp/international/uni-category.el -rw-r--r-- 1 6462 Jan 31 14:47 ./lisp/international/uni-combining.el -rw-r--r-- 1 162388 Jan 31 14:47 ./lisp/international/uni-name.el -rw-r--r-- 1 4335 Jan 13 21:39 ./lisp/leim/quail/uni-input.el emacs-2014 $ Obviously, they come from an earlier build (sans uni-input.el), but as neither unidata-gen.el nor UnicodeData.txt have changed since earlier in January, it shouldn’t be necessary to update them. (Unless there were some data format change, that is.) The characters.el appears to be up to date: emacs-2014 $ git status -- lisp/international/characters.el On branch master Your branch is up-to-date with 'origin/master'. nothing to commit, working directory clean emacs-2014 $ -- FSF associate member #7257