From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Rob Browning Newsgroups: gmane.emacs.devel Subject: Re: Should lisp/Makefile.in custom-deps be using EMACS or emacs? Date: Tue, 23 Jul 2002 12:10:26 -0500 Sender: emacs-devel-admin@gnu.org Message-ID: <87vg76qsjh.fsf@raven.i.defaultvalue.org> References: <87k7o86ycp.fsf@raven.i.defaultvalue.org> <200207091852.g69Iq3A13934@aztec.santafe.edu> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: main.gmane.org 1027444317 24218 127.0.0.1 (23 Jul 2002 17:11:57 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 23 Jul 2002 17:11:57 +0000 (UTC) Cc: emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17X3CW-0006IV-00 for ; Tue, 23 Jul 2002 19:11:56 +0200 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17X3Qv-0001T8-00 for ; Tue, 23 Jul 2002 19:26:49 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17X3C6-00044x-00; Tue, 23 Jul 2002 13:11:30 -0400 Original-Received: from dsl-209-87-109-2.constant.com ([209.87.109.2] helo=defaultvalue.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17X3B5-00042J-00; Tue, 23 Jul 2002 13:10:27 -0400 Original-Received: from raven.i.defaultvalue.org (raven.i.defaultvalue.org [192.168.1.7]) by defaultvalue.org (Postfix) with ESMTP id DE9A3A06E; Tue, 23 Jul 2002 12:10:26 -0500 (CDT) Original-Received: by raven.i.defaultvalue.org (Postfix, from userid 1000) id 6B5311870; Tue, 23 Jul 2002 12:10:26 -0500 (CDT) Original-To: rms@gnu.org Original-Lines: 93 User-Agent: Gnus/5.090006 (Oort Gnus v0.06) Emacs/21.2 (i386-pc-linux-gnu) Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:5993 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:5993 Richard Stallman 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=3D$(lisp); $(setwins); \ echo Directories: $$wins; \ $(EMACS) $(EMACSOPT) --execute '(message "LOAD-PATH: %s\n" load-path)' After that I ran "./configure --prefix=3D/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 "=3D=3D Section cus-dep.log =3D=3D" -- 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 =3D EMACSLOADPATH=3D$(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 =3D=3D Section cus-dep.log BEGIN =3D=3D wd=3D/opt/testemacs21/emacs-21.2/lisp; subdirs=3D`find $wd -type d -print`;= for file in $subdirs; do case $file in */Old | */RCS | */CVS | */CVS/* | *= /=3D* ) ;; *) wins=3D"$wins $file" ;; esac; done; \ echo Directories: $wins; \ ../src/emacs -batch --no-site-file --multibyte --execute '(message "LOAD-PA= TH: %s\n" load-path)' Directories: /opt/testemacs21/emacs-21.2/lisp /opt/testemacs21/emacs-21.2/l= isp/net /opt/testemacs21/emacs-21.2/lisp/gnus /opt/testemacs21/emacs-21.2/l= isp/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/tes= temacs21/emacs-21.2/lisp/eshell /opt/testemacs21/emacs-21.2/lisp/toolbar /o= pt/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-lis= p/calc /usr/share/emacs/21.2/site-lisp/debbugs-el /usr/share/emacs/21.2/sit= e-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/2= 1.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/s= hare/emacs/21.2/site-lisp/preview-latex /usr/share/emacs/21.2/site-lisp/psg= ml /usr/share/emacs/21.2/site-lisp/python2.1-elisp /usr/share/emacs/21.2/si= te-lisp/sawfish /usr/share/emacs/21.2/site-lisp/semantic /usr/share/emacs/2= 1.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/sha= re/emacs/21.2/lisp/progmodes /usr/share/emacs/21.2/lisp/play /usr/share/ema= cs/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/in= ternational /usr/share/emacs/21.2/lisp/gnus /usr/share/emacs/21.2/lisp/eshe= ll /usr/share/emacs/21.2/lisp/emulation /usr/share/emacs/21.2/lisp/emacs-li= sp /usr/share/emacs/21.2/lisp/calendar /opt/testemacs21/emacs-21.2/lisp /op= t/testemacs21/emacs-21.2/lisp/toolbar /opt/testemacs21/emacs-21.2/lisp/text= modes /opt/testemacs21/emacs-21.2/lisp/progmodes /opt/testemacs21/emacs-21.= 2/lisp/play /opt/testemacs21/emacs-21.2/lisp/obsolete /opt/testemacs21/emac= s-21.2/lisp/net /opt/testemacs21/emacs-21.2/lisp/mail /opt/testemacs21/emac= s-21.2/lisp/language /opt/testemacs21/emacs-21.2/lisp/international /opt/te= stemacs21/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/ema= cs-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/s= ite-lisp) wd=3D/opt/testemacs21/emacs-21.2/lisp; subdirs=3D`find $wd -type d -print`;= for file in $subdirs; do case $file in */Old | */RCS | */CVS | */CVS/* | *= /=3D* ) ;; *) wins=3D"$wins $file" ;; esac; done; \ echo Directories: $wins; \ ../src/emacs -batch --no-site-file --multibyte -l cus-dep -f custom-make-de= pendencies $wins Directories: /opt/testemacs21/emacs-21.2/lisp /opt/testemacs21/emacs-21.2/l= isp/net /opt/testemacs21/emacs-21.2/lisp/gnus /opt/testemacs21/emacs-21.2/l= isp/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/tes= temacs21/emacs-21.2/lisp/eshell /opt/testemacs21/emacs-21.2/lisp/toolbar /o= pt/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 =3D=3D Section cus-dep.log END =3D=3D --=20 Rob Browning rlb @defaultvalue.org, @linuxdevel.com, and @debian.org Previously @cs.utexas.edu GPG=3D1C58 8B2C FB5E 3F64 EA5C 64AE 78FE E5FE F0CB A0AD