emacs-devel
[Top][All Lists]
Advanced

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

Re: Should lisp/Makefile.in custom-deps be using EMACS or emacs?


From: Rob Browning
Subject: Re: Should lisp/Makefile.in custom-deps be using EMACS or emacs?
Date: Tue, 23 Jul 2002 12:10:26 -0500
User-agent: Gnus/5.090006 (Oort Gnus v0.06) Emacs/21.2 (i386-pc-linux-gnu)

Richard Stallman <address@hidden> writes:

>     >From an strace it looked like this arrangement was causing my
>     /usr/share/... custom-deps.el to shadow the newer one in ./lisp
>
> The information you omitted with that "..." is crucial information.
> Precisely what directory was that file in?  And what exactly was the
> value of load-path?

OK, more detailed information -- I unpacked a fresh copy of 21.2 as
/opt/testemacs21/emacs-21.2 along with leim, then I edited
lisp/Makefile.am to include this extra statement in the custom-deps
target:

        wd=$(lisp); $(setwins); \
        echo Directories: $$wins; \
        $(EMACS) $(EMACSOPT) --execute '(message "LOAD-PATH: %s\n" load-path)'

After that I ran "./configure --prefix=/usr" followed "make".  When
the build was finished, I cd'ed to lisp, edited cus-dep.el to include
a (message "MODIFIED CUS-DEP\n") statement at the top so I could tell
when it was being loaded, removed cus-dep.elc, and ran "make
custom-deps".  The resulting output is included below in "== Section
cus-dep.log ==" -- note that the "MODIFIED CUS-DEP" message does not
appear, and note that the "LOAD-PATH: ..." message includes
/usr/share/emacs/21.2/lisp before the /opt/testemacs21/emacs-21.2/lisp
source directory.

However, if I change --prefix to /foo/bar, then the "MODIFIED CUS-DEP"
message from ./cus-dep.el shows up in the output.  What's a bit
strange is that if I run strace -f, I can't see emacs loading the
/usr/share copy of cus-dep.el.

> Indeed, for an uninstalled Emacs the files in your source tree
> should take precedence over installed files.  Only the site-lisp
> directories should take precedence over your source tree.  If that
> is working properly, the problem won't happen.  So we need to see if
> it is not properly set up.

That's what I'd expected, so I'd wondered if maybe it was the
distinction between $(EMACS) and $(emacs) that made the difference
here.  lisp/Makefile.in's custom-deps target uses $(EMACS), but
earlier in the Makefile we have this which seemed to suggst that might
not be right:

  # The actual Emacs command run in the targets below.
  emacs = EMACSLOADPATH=$(lisp) $(EMACS) $(EMACSOPT)

and since $(lisp) is the source tree lisp dir, $(emacs) prefers the
source tree's lisp directory.

Let me know if you need any more information.

Thanks

== Section cus-dep.log BEGIN ==
wd=/opt/testemacs21/emacs-21.2/lisp; subdirs=`find $wd -type d -print`; for 
file in $subdirs; do case $file in */Old | */RCS | */CVS | */CVS/* | */=* ) ;; 
*) wins="$wins $file" ;; esac; done; \
echo Directories: $wins; \
../src/emacs -batch --no-site-file --multibyte --execute '(message "LOAD-PATH: 
%s\n" load-path)'
Directories: /opt/testemacs21/emacs-21.2/lisp 
/opt/testemacs21/emacs-21.2/lisp/net /opt/testemacs21/emacs-21.2/lisp/gnus 
/opt/testemacs21/emacs-21.2/lisp/mail /opt/testemacs21/emacs-21.2/lisp/play 
/opt/testemacs21/emacs-21.2/lisp/term 
/opt/testemacs21/emacs-21.2/lisp/emulation 
/opt/testemacs21/emacs-21.2/lisp/international 
/opt/testemacs21/emacs-21.2/lisp/calendar 
/opt/testemacs21/emacs-21.2/lisp/eshell 
/opt/testemacs21/emacs-21.2/lisp/toolbar 
/opt/testemacs21/emacs-21.2/lisp/emacs-lisp 
/opt/testemacs21/emacs-21.2/lisp/textmodes 
/opt/testemacs21/emacs-21.2/lisp/progmodes 
/opt/testemacs21/emacs-21.2/lisp/language 
/opt/testemacs21/emacs-21.2/lisp/obsolete
LOAD-PATH: (/usr/share/emacs/21.2/site-lisp 
/usr/share/emacs/21.2/site-lisp/auctex /usr/share/emacs/21.2/site-lisp/bbdb 
/usr/share/emacs/21.2/site-lisp/calc /usr/share/emacs/21.2/site-lisp/debbugs-el 
/usr/share/emacs/21.2/site-lisp/dpkg-dev-el 
/usr/share/emacs/21.2/site-lisp/elib /usr/share/emacs/21.2/site-lisp/gcl 
/usr/share/emacs/21.2/site-lisp/gettext /usr/share/emacs/21.2/site-lisp/gnuserv 
/usr/share/emacs/21.2/site-lisp/mailcrypt 
/usr/share/emacs/21.2/site-lisp/pcl-cvs /usr/share/emacs/21.2/site-lisp/post-el 
/usr/share/emacs/21.2/site-lisp/preview-latex 
/usr/share/emacs/21.2/site-lisp/psgml 
/usr/share/emacs/21.2/site-lisp/python2.1-elisp 
/usr/share/emacs/21.2/site-lisp/sawfish 
/usr/share/emacs/21.2/site-lisp/semantic 
/usr/share/emacs/21.2/site-lisp/speedbar /usr/share/emacs/21.2/site-lisp/url 
/usr/share/emacs/21.2/site-lisp/w3-el /usr/share/emacs/21.2/site-lisp/whizzytex 
/usr/share/emacs/site-lisp /usr/share/emacs/21.2/leim 
/usr/share/emacs/21.2/lisp /usr/share/emacs/21.2/lisp/toolbar 
/usr/share/emacs/21.2/lisp/textmodes /usr/share/emacs/21.2/lisp/progmodes 
/usr/share/emacs/21.2/lisp/play /usr/share/emacs/21.2/lisp/obsolete 
/usr/share/emacs/21.2/lisp/net /usr/share/emacs/21.2/lisp/mail 
/usr/share/emacs/21.2/lisp/language /usr/share/emacs/21.2/lisp/international 
/usr/share/emacs/21.2/lisp/gnus /usr/share/emacs/21.2/lisp/eshell 
/usr/share/emacs/21.2/lisp/emulation /usr/share/emacs/21.2/lisp/emacs-lisp 
/usr/share/emacs/21.2/lisp/calendar /opt/testemacs21/emacs-21.2/lisp 
/opt/testemacs21/emacs-21.2/lisp/toolbar 
/opt/testemacs21/emacs-21.2/lisp/textmodes 
/opt/testemacs21/emacs-21.2/lisp/progmodes 
/opt/testemacs21/emacs-21.2/lisp/play /opt/testemacs21/emacs-21.2/lisp/obsolete 
/opt/testemacs21/emacs-21.2/lisp/net /opt/testemacs21/emacs-21.2/lisp/mail 
/opt/testemacs21/emacs-21.2/lisp/language 
/opt/testemacs21/emacs-21.2/lisp/international 
/opt/testemacs21/emacs-21.2/lisp/gnus /opt/testemacs21/emacs-21.2/lisp/eshell 
/opt/testemacs21/emacs-21.2/lisp/emulation 
/opt/testemacs21/emacs-21.2/lisp/emacs-lisp 
/opt/testemacs21/emacs-21.2/lisp/calendar /opt/testemacs21/emacs-21.2/lisp/calc 
/opt/testemacs21/emacs-21.2/leim /opt/testemacs21/emacs-21.2/site-lisp)

wd=/opt/testemacs21/emacs-21.2/lisp; subdirs=`find $wd -type d -print`; for 
file in $subdirs; do case $file in */Old | */RCS | */CVS | */CVS/* | */=* ) ;; 
*) wins="$wins $file" ;; esac; done; \
echo Directories: $wins; \
../src/emacs -batch --no-site-file --multibyte -l cus-dep -f 
custom-make-dependencies $wins
Directories: /opt/testemacs21/emacs-21.2/lisp 
/opt/testemacs21/emacs-21.2/lisp/net /opt/testemacs21/emacs-21.2/lisp/gnus 
/opt/testemacs21/emacs-21.2/lisp/mail /opt/testemacs21/emacs-21.2/lisp/play 
/opt/testemacs21/emacs-21.2/lisp/term 
/opt/testemacs21/emacs-21.2/lisp/emulation 
/opt/testemacs21/emacs-21.2/lisp/international 
/opt/testemacs21/emacs-21.2/lisp/calendar 
/opt/testemacs21/emacs-21.2/lisp/eshell 
/opt/testemacs21/emacs-21.2/lisp/toolbar 
/opt/testemacs21/emacs-21.2/lisp/emacs-lisp 
/opt/testemacs21/emacs-21.2/lisp/textmodes 
/opt/testemacs21/emacs-21.2/lisp/progmodes 
/opt/testemacs21/emacs-21.2/lisp/language 
/opt/testemacs21/emacs-21.2/lisp/obsolete
Directory /opt/testemacs21/emacs-21.2/lisp
Directory /opt/testemacs21/emacs-21.2/lisp/net
Directory /opt/testemacs21/emacs-21.2/lisp/gnus
Directory /opt/testemacs21/emacs-21.2/lisp/mail
Directory /opt/testemacs21/emacs-21.2/lisp/play
Directory /opt/testemacs21/emacs-21.2/lisp/term
Directory /opt/testemacs21/emacs-21.2/lisp/emulation
Directory /opt/testemacs21/emacs-21.2/lisp/international
Directory /opt/testemacs21/emacs-21.2/lisp/calendar
Directory /opt/testemacs21/emacs-21.2/lisp/eshell
Directory /opt/testemacs21/emacs-21.2/lisp/toolbar
Directory /opt/testemacs21/emacs-21.2/lisp/emacs-lisp
Directory /opt/testemacs21/emacs-21.2/lisp/textmodes
Directory /opt/testemacs21/emacs-21.2/lisp/progmodes
Directory /opt/testemacs21/emacs-21.2/lisp/language
Directory /opt/testemacs21/emacs-21.2/lisp/obsolete
Generating cus-load.el...
Saving file /opt/testemacs21/emacs-21.2/lisp/cus-load.el...
Wrote /opt/testemacs21/emacs-21.2/lisp/cus-load.el
Generating cus-load.el...done
== Section cus-dep.log END ==

-- 
Rob Browning
rlb @defaultvalue.org, @linuxdevel.com, and @debian.org
Previously @cs.utexas.edu
GPG=1C58 8B2C FB5E 3F64 EA5C  64AE 78FE E5FE F0CB A0AD



reply via email to

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