Christoph Ludwig <cludwig@...> writes:
> On Fri, Jul 23, 2004 at 06:58:20PM +0200, drkm wrote:
>> > Yes. I get the following backtrace:
>> > load-with-code-conversion("/usr/share/emacs/site-lisp/auctex/auto/texinfo.el" "texinfo" nil t)
>> > require(texinfo)
>> IMHO, it's a bug by SuSE or AUC-TeX. When you require texinfo,
>> Emacs must load "[emacs]/lisp/textmodes/texinfo.elc". If I remember
>> well, you have something like this in your Emacs :
>> ;; AUC-TeX
>> (if (file-exists-p "/usr/share/emacs/site-lisp/auctex/...")
>> What appen if you replace these lines by :
>> ;; AUC-TeX
>> ;; (if (file-exists-p "/usr/share/emacs/site-lisp/auctex/...")
>> (if nil
>> and you create an empty file in "/usr/share/emacs/site-lisp/auctex/"
>> named ".nosearch" ?
> Thanks, that did the trick. For the first time, `make' didn't bail
> If I understand correctly the changes above effectively disable
> Auc-TeX and I could just as well erase the emacs-auctex package,
> couldn't I? Hm, that's not so good. I write a lot of stuff with LaTeX
> and I am quite used to Auc-TeX.
The problem is that when you want to use some code in ELisp, you
load the file where the definitions are written. Usually, you say
"(require 'feature)". So Emacs search a file called "feature" (or
"feature.el" or "feature.elc"), in a list of directories.
This list is `load-path'. Emacs search this list from the beginning
to the end. When you excecute Emacs, it initialize the `load-path'
with some "standard directories". So you can use all the code which
come with Emacs, without configure it, or explicitely load it, and
without load all this code at each run.
But you can add your own directories to the `load-path'. It is the
case in your site, either in "tex-site.el" or ".emacs". Or because
the AUC-TeX directory is in a standard Emacs directory (when you run
Emacs, it add its directories, but recurse on some dirs and adds their
subdirs unless they contains a ".nosearch" file).
The problem is that "texinfo.el" is a standard feature of Emacs. So
when you write "(require 'texinfo)", you want this file. But the
AUX-TeX directory contains a file called "texinfo.el" ...
So here, two possibilities. 1/ The "texinfo.el" from AUC-TeX is
totally different from which is coming with Emacs, then IMHO it's a
bug of the AUC-TeX package in regard of that version of Emacs. 2/ The
"texinfo.el" from AUC-TeX aims to replace which comming with Emacs, by
providing functions and variables of same name, but more powerfull.
In this case, it seems that this file don't require all the files it
would be. So it's also a bug of AUC-TeX.
>> IMHO, you can write a bug report to SuSE. But wait for other
>> opinions than mine :-)
> I don't mind submitting a bug report. But then I should probably
> understand what's the problem or I will most likely be told the
> problem is with cedet... :-/
> My guess is that Auc-TeX assumes that tex.el (that defines
> TeX-add-style-hook) is loaded before texinfo.el is read. And cedet
> loads texinfo.el without loading tex.el - is this assumption correct?
Yes, I suppose. But CEDET is innocent, because it wants to load an
other file, also called "texinfo.el". The guilty is AUC-TeX, because
it must write "(require 'tex)" in "texinfo.el" if the later require
the former ; and because you never give your files the same name than
standard Emacs packages.
An other workaround would be, before loading CEDET :
(load (concat data-directory "/../lisp/textmodes/texinfo.el"))
but this load unconditionally this file, each time you run Emacs.
Really, I think it's a bug of AUC-TeX. What do you think ?
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html