emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

problems with vc-arch.el during byte-compilation


From: Miles Bader
Subject: problems with vc-arch.el during byte-compilation
Date: Thu, 03 Jun 2004 06:12:57 +0900

If you remember, some users were having problems where the initial
byte-compilation of the .el files was failing in a checkout made using
tla (arch).

There seemed to be two problems:

  (1) vc-arch.el[c] was  somehow getting loaded during byte-compilation

  (2) vc-arch would sometimes cause a crash, I suppose trying to figure
      out info about where a file was.  This only seemed to happen in
      certain cases, e.g., one user reported that it depended on the
      length of the source directory name.

I used gdb to figure out why vc-arch was getting loaded, and it looks
[see appended gdb session output] like it's because
`lisp/eshell/esh-module.el' is calling `find-file-noselect' while being
compiled (!), and this causes the vc machinery to run.

I guess that the `fault' lies with eshell, and that it should do
something to suppress the various file-visiting hooks when it does this
odd thing; does anyone think that something more general should be
changed (e.g., changing file-visiting behavior when using the -batch
option)?
 
I still haven't figured out why vc-arch is failing though.

BTW, I notice that ~/.abbrev_defs is getting loaded also -- surely this
should be suppressed when the -batch or -q options are specified?

Thanks,

-Miles


GDB session:

   (gdb) info breakpoint 4
    4   breakpoint     keep y   0x0819ca41 in Fload
                                          at 
/usr/local/src/emacs/src/lread.c:675
   (gdb) command 4
   print file
   xstring
   end
   (gdb) run
   ....
   Breakpoint 4, Fload (file=136666451, noerror=138506257, nomessage=138506257,
       nosuffix=-1, must_suffix=138506257) at 
/usr/local/src/emacs/src/lread.c:675
   675       int count = SPECPDL_INDEX ();
   $461 = 136666451
   $462 = (struct Lisp_String *) 0x8255d50
   "vc-arch"
   (gdb) xback
   "load"
   "progn"
   "if"
   "let"
   "vc-arch-registered"
   "apply"
   "vc-call-backend"
   0x82d005c PVEC_COMPILED
   "mapcar"
   "byte-code"
   "vc-registered"
   "vc-backend"
   "vc-find-file-hook"
   "run-hooks"
   "after-find-file"
   "find-file-noselect-1"
   "find-file-noselect"
   "set-buffer"
   "save-current-buffer"
   "with-current-buffer"
   "eshell-load-defgroups"
   "let*"
   "progn"
   "if"
   "when"
   "progn"
   "eval-when-compile"
   "eval-buffer"
   "load-with-code-conversion"
   "require"
   "byte-code"
   "require"
   "eval-buffer"
   "load-with-code-conversion"
   "require"
   "byte-code"
   "eval"
   "byte-compile-eval"
   "list"
   0x85cab15 Lisp type 5
   "macroexpand"
   "byte-compile-file-form"
   0x862556c PVEC_COMPILED
   "funcall"
   "byte-compile-from-buffer"
   "byte-compile-file"
   "batch-byte-compile-file"
   "batch-byte-compile"
   "command-line-1"
   "command-line"
   "normal-top-level"


-- 
`The suburb is an obsolete and contradictory form of human settlement'




reply via email to

[Prev in Thread] Current Thread [Next in Thread]