------------------------------------------------------------ revno: 114924 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 16:49:54 -0700 message: * src/Makefile.in (bootstrap_exe): Use relative filename. (abs_builddir): Remove. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-02 19:41:33 +0000 +++ src/ChangeLog 2013-11-02 23:49:54 +0000 @@ -1,5 +1,8 @@ 2013-11-02 Glenn Morris + * Makefile.in (abs_builddir): Remove. + (bootstrap_exe): Use relative filename. + Use relative filenames in TAGS files. * Makefile.in (abs_srcdir): Remove it again. (.PHONY): Remove frc. === modified file 'src/Makefile.in' --- src/Makefile.in 2013-11-02 19:41:33 +0000 +++ src/Makefile.in 2013-11-02 23:49:54 +0000 @@ -31,7 +31,6 @@ # MinGW CPPFLAGS may use this. abs_top_srcdir=@abs_top_srcdir@ ntsource = $(srcdir)/../nt -abs_builddir = @abs_builddir@ VPATH = $(srcdir) CC = @CC@ WINDRES = @WINDRES@ @@ -60,7 +59,7 @@ # Configuration files for .o files to depend on. config_h = config.h $(srcdir)/conf_post.h -bootstrap_exe = $(abs_builddir)/bootstrap-emacs$(EXEEXT) +bootstrap_exe = ../src/bootstrap-emacs$(EXEEXT) ## ns-app if HAVE_NS, else empty. OTHER_FILES = @OTHER_FILES@ ------------------------------------------------------------ revno: 114923 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 16:39:49 -0700 message: * lisp/Makefile.in (abs_top_builddir): Remove diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-02 20:05:15 +0000 +++ lisp/ChangeLog 2013-11-02 23:39:49 +0000 @@ -1,6 +1,7 @@ 2013-11-02 Glenn Morris * Makefile.in (EMACS): Use a relative filename. + (abs_top_builddir): Remove. (custom-deps, finder-data, autoloads): Use --chdir. * Makefile.in (abs_lisp): Remove, replace by abs_srcdir. === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2013-11-02 20:12:59 +0000 +++ lisp/Makefile.in 2013-11-02 23:39:49 +0000 @@ -22,7 +22,6 @@ srcdir = @srcdir@ abs_srcdir = @abs_srcdir@ top_srcdir = @top_srcdir@ -abs_top_builddir = @abs_top_builddir@ lisp = $(srcdir) VPATH = $(srcdir) ------------------------------------------------------------ revno: 114922 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 16:37:59 -0700 message: Comment markup fix diff: === modified file 'lisp/startup.el' --- lisp/startup.el 2013-10-30 02:45:53 +0000 +++ lisp/startup.el 2013-11-02 23:37:59 +0000 @@ -2087,12 +2087,11 @@ ;; This approach loses for "-batch -L DIR --eval "(require foo)", ;; if foo is intended to be found in DIR. ;; - ;; ;; The directories listed in --directory/-L options will *appear* - ;; ;; at the front of `load-path' in the order they appear on the - ;; ;; command-line. We cannot do this by *placing* them at the front - ;; ;; in the order they appear, so we need this variable to hold them, - ;; ;; temporarily. - ;; extra-load-path + ;; The directories listed in --directory/-L options will *appear* + ;; at the front of `load-path' in the order they appear on the + ;; command-line. We cannot do this by *placing* them at the front + ;; in the order they appear, so we need this variable to hold them, + ;; temporarily. ;; ;; To DTRT we keep track of the splice point and modify `load-path' ;; straight away upon any --directory/-L option. ------------------------------------------------------------ revno: 114921 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 16:36:32 -0700 message: * doc/emacs/cmdargs.texi (Action Arguments): Clarify `-L' a bit. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2013-11-02 23:29:01 +0000 +++ doc/emacs/ChangeLog 2013-11-02 23:36:32 +0000 @@ -1,6 +1,6 @@ 2013-11-02 Glenn Morris - * cmdargs.texi (Action Arguments): Clarify that `-L' prepends. + * cmdargs.texi (Action Arguments): Clarify `-L' a bit. 2013-10-23 Glenn Morris === modified file 'doc/emacs/cmdargs.texi' --- doc/emacs/cmdargs.texi 2013-11-02 23:29:01 +0000 +++ doc/emacs/cmdargs.texi 2013-11-02 23:36:32 +0000 @@ -136,6 +136,9 @@ @itemx --directory=@var{dir} @opindex --directory Prepend directory @var{dir} to the variable @code{load-path}. +If you specify multiple @samp{-L} options, Emacs preserves the +relative order; i.e., using @samp{-L /foo -L /bar} results in +a @code{load-path} of the form @code{("/foo" "/bar" @dots{})}. @item -f @var{function} @opindex -f ------------------------------------------------------------ revno: 114920 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 16:29:01 -0700 message: * doc/emacs/cmdargs.texi (Action Arguments): Clarify that `-L' prepends diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2013-10-23 17:20:09 +0000 +++ doc/emacs/ChangeLog 2013-11-02 23:29:01 +0000 @@ -1,3 +1,7 @@ +2013-11-02 Glenn Morris + + * cmdargs.texi (Action Arguments): Clarify that `-L' prepends. + 2013-10-23 Glenn Morris * files.texi, glossary.texi, killing.texi, search.texi, sending.texi: === modified file 'doc/emacs/cmdargs.texi' --- doc/emacs/cmdargs.texi 2013-06-03 12:25:39 +0000 +++ doc/emacs/cmdargs.texi 2013-11-02 23:29:01 +0000 @@ -135,7 +135,7 @@ @opindex -L @itemx --directory=@var{dir} @opindex --directory -Add directory @var{dir} to the variable @code{load-path}. +Prepend directory @var{dir} to the variable @code{load-path}. @item -f @var{function} @opindex -f ------------------------------------------------------------ revno: 114919 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 13:54:08 -0700 message: test/automated: Use relative filename for emacs executable * Makefile.in (check): Depend on all. * test/automated/Makefile.in (abs_top_builddir): Remove variable. (EMACS): Use a relative file name. (lisp-compile): Remove (assume it's up-to-date). (compile-main): Do not run lisp-compile. (check): Use --chdir. diff: === modified file 'ChangeLog' --- ChangeLog 2013-10-31 21:39:10 +0000 +++ ChangeLog 2013-11-02 20:54:08 +0000 @@ -1,3 +1,7 @@ +2013-11-02 Glenn Morris + + * Makefile.in (check): Depend on all. + 2013-10-31 Glenn Morris * configure.ac: Use [!...] rather than [^...], for ksh. (Bug#15769) === modified file 'Makefile.in' --- Makefile.in 2013-10-30 06:40:15 +0000 +++ Makefile.in 2013-11-02 20:54:08 +0000 @@ -936,7 +936,7 @@ TAGS tags: lib lib-src src cd src; $(MAKE) $(MFLAGS) tags -check: +check: all @if test ! -d test/automated; then \ echo "You do not seem to have the test/ directory."; \ echo "Maybe you are using a release tarfile, rather than a repository checkout."; \ === modified file 'test/ChangeLog' --- test/ChangeLog 2013-11-02 20:32:22 +0000 +++ test/ChangeLog 2013-11-02 20:54:08 +0000 @@ -1,12 +1,15 @@ 2013-11-02 Glenn Morris * automated/Makefile.in (top_builddir, abs_test, abs_lispsrc, lisp) - (test, abs_top_srcdir): Remove variables. + (test, abs_top_srcdir, abs_top_builddir): Remove variables. (abs_srcdir): New, set by configure. + (EMACS): Use a relative file name. (emacs): Use abs_srcdir rather than abs_lispsrc, abs_test. - (lisp-compile): Use ../../lisp rather than $lisp. + (lisp-compile): Remove (assume it's up-to-date). + (compile-main): Do not run lisp-compile. (compile-main, compile-clean, compile-always, bootstrap-clean) (check): Use srcdir rather than $test. Check cd return value. + Use --chdir. (doit, compile, compile-always): Remove stuff copied from lisp/. (all, check, bootstrap-clean, distclean, maintainer-clean): PHONY. === modified file 'test/automated/Makefile.in' --- test/automated/Makefile.in 2013-11-02 20:32:22 +0000 +++ test/automated/Makefile.in 2013-11-02 20:54:08 +0000 @@ -21,16 +21,12 @@ srcdir = @srcdir@ abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ VPATH = $(srcdir) -# You can specify a different executable on the make command line, -# e.g. "make EMACS=../src/emacs ...". - -# We sometimes change directory before running Emacs (typically when -# building out-of-tree, we chdir to the source directory), so we need -# to use an absolute file name. -EMACS = ${abs_top_builddir}/src/emacs +# We never change directory before running Emacs, so a relative file +# name is fine, and makes life easier. If we need to change +# directory, we can use emacs --chdir. +EMACS = ../../src/emacs # Command line flags for Emacs. EMACSOPT = -batch --no-site-file --no-site-lisp @@ -62,17 +58,14 @@ @$(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $< -.PHONY: lisp-compile compile-targets compile-main compile-clean - -lisp-compile: - cd ../../lisp && $(MAKE) $(MFLAGS) compile EMACS="$(EMACS)" +.PHONY: compile-targets compile-main compile-clean # TARGETS is set dynamically in the recursive call from `compile-main'. compile-targets: $(TARGETS) # Compile all the Elisp files that need it. Beware: it approximates # `no-byte-compile', so watch out for false-positives! -compile-main: compile-clean lisp-compile +compile-main: compile-clean @(cd $(srcdir) && $(setwins); \ els=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.el |g'`; \ for el in $$els; do \ @@ -108,7 +101,7 @@ check: compile-main - @(cd $(srcdir) && $(setwins); \ + @thisdir=`pwd`; cd $(srcdir) && $(setwins); \ pattern=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.el |g'`; \ for el in $$pattern; do \ test -f $$el || continue; \ @@ -116,6 +109,7 @@ els="$$els $$el"; \ done; \ echo Testing $$els; \ - $(emacs) $$args -f ert-run-tests-batch-and-exit) + cd "$$thisdir"; \ + $(emacs) --chdir $(srcdir) $$args -f ert-run-tests-batch-and-exit # Makefile ends here. ------------------------------------------------------------ revno: 114918 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 13:32:22 -0700 message: test/automated/Makefile.in remove stuff unnecessarily copied from lisp * test/automated/Makefile.in (abs_top_srcdir): Remove variable. (emacs): Use abs_srcdir rather than abs_top_srcdir. (doit, compile, compile-always): Remove stuff copied from lisp/. (all, check, bootstrap-clean, distclean, maintainer-clean): Declare PHONY. Remove comments copied from lisp/. diff: === modified file 'test/ChangeLog' --- test/ChangeLog 2013-11-02 20:12:12 +0000 +++ test/ChangeLog 2013-11-02 20:32:22 +0000 @@ -1,14 +1,14 @@ 2013-11-02 Glenn Morris * automated/Makefile.in (top_builddir, abs_test, abs_lispsrc, lisp) - (test): Remove variables. + (test, abs_top_srcdir): Remove variables. (abs_srcdir): New, set by configure. - (emacs): Use abs_top_srcdir, abs_srcdir rather than abs_lispsrc, - abs_test. + (emacs): Use abs_srcdir rather than abs_lispsrc, abs_test. (lisp-compile): Use ../../lisp rather than $lisp. (compile-main, compile-clean, compile-always, bootstrap-clean) (check): Use srcdir rather than $test. Check cd return value. - (compile-always): Depend on bootstrap-clean. + (doit, compile, compile-always): Remove stuff copied from lisp/. + (all, check, bootstrap-clean, distclean, maintainer-clean): PHONY. 2013-10-31 Michael Albinus === modified file 'test/automated/Makefile.in' --- test/automated/Makefile.in 2013-11-02 20:12:12 +0000 +++ test/automated/Makefile.in 2013-11-02 20:32:22 +0000 @@ -21,7 +21,6 @@ srcdir = @srcdir@ abs_srcdir = @abs_srcdir@ -abs_top_srcdir = @abs_top_srcdir@ abs_top_builddir = @abs_top_builddir@ VPATH = $(srcdir) @@ -34,17 +33,13 @@ EMACS = ${abs_top_builddir}/src/emacs # Command line flags for Emacs. - EMACSOPT = -batch --no-site-file --no-site-lisp -# Extra flags to pass to the byte compiler +# Extra flags to pass to the byte compiler. BYTE_COMPILE_EXTRA_FLAGS = -# For example to not display the undefined function warnings you can use this: -# BYTE_COMPILE_EXTRA_FLAGS = --eval '(setq byte-compile-warnings (quote (not unresolved)))' -# The example above is just for developers, it should not be used by default. # The actual Emacs command run in the targets below. -emacs = EMACSLOADPATH="$(abs_top_srcdir)/lisp:$(abs_srcdir)" LC_ALL=C "$(EMACS)" $(EMACSOPT) +emacs = EMACSLOADPATH="$(abs_srcdir)/../../lisp:$(abs_srcdir)" LC_ALL=C "$(EMACS)" $(EMACSOPT) # Common command to find subdirectories setwins=subdirs=`find . -type d -print`; \ @@ -54,42 +49,24 @@ esac; \ done +.PHONY: all check + all: check -doit: - - -# Files MUST be compiled one by one. If we compile several files in a -# row (i.e., in the same instance of Emacs) we can't make sure that -# the compilation environment is clean. We also set the load-path of -# the Emacs used for compilation to the current directory and its -# subdirectories, to make sure require's and load's in the files being -# compiled find the right files. +# The compilation stuff is copied from lisp/Makefile - see comments there. .SUFFIXES: .elc .el -# An old-fashioned suffix rule, which, according to the GNU Make manual, -# cannot have prerequisites. .el.elc: @echo Compiling $< @$(emacs) $(BYTE_COMPILE_EXTRA_FLAGS) -f batch-byte-compile $< -.PHONY: lisp-compile compile-main compile compile-always + +.PHONY: lisp-compile compile-targets compile-main compile-clean lisp-compile: cd ../../lisp && $(MAKE) $(MFLAGS) compile EMACS="$(EMACS)" -# In `compile-main' we could directly do -# ... | xargs $(MAKE) $(MFLAGS) EMACS="$(EMACS)" -# and it works, but it generates a lot of messages like -# make[2]: « gnus/gnus-mlspl.elc » is up to date. -# so instead, we use "xargs echo" to split the list of file into manageable -# chunks and then use an intermediate `compile-targets' target so the -# actual targets (the .elc files) are not mentioned as targets on the -# make command line. - - -.PHONY: compile-targets # TARGETS is set dynamically in the recursive call from `compile-main'. compile-targets: $(TARGETS) @@ -107,7 +84,6 @@ $(MAKE) $(MFLAGS) compile-targets EMACS="$(EMACS)" TARGETS="$$chunk"; \ done -.PHONY: compile-clean # Erase left-over .elc files that do not have a corresponding .el file. compile-clean: @cd $(srcdir) && $(setwins); \ @@ -119,20 +95,8 @@ fi \ done -# Compile all Lisp files, but don't recompile those that are up to -# date. Some .el files don't get compiled because they set the -# local variable no-byte-compile. -# Calling make recursively because suffix rule cannot have prerequisites. -# Explicitly pass EMACS (sometimes ../src/bootstrap-emacs) to those -# sub-makes that run rules that use it, for the sake of some non-GNU makes. -compile: $(LOADDEFS) autoloads compile-first - $(MAKE) $(MFLAGS) compile-main EMACS="$(EMACS)" -# Compile all Lisp files. This is like `compile' but compiles files -# unconditionally. Some files don't actually get compiled because they -# set the local variable no-byte-compile. -compile-always: bootstrap-clean - $(MAKE) $(MFLAGS) compile EMACS="$(EMACS)" +.PHONY: bootstrap-clean distclean maintainer-clean bootstrap-clean: -cd $(srcdir) && rm -f *.elc */*.elc */*/*.elc */*/*/*.elc @@ -142,6 +106,7 @@ maintainer-clean: distclean bootstrap-clean + check: compile-main @(cd $(srcdir) && $(setwins); \ pattern=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.el |g'`; \ ------------------------------------------------------------ revno: 114917 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 13:30:13 -0700 message: * leim/Makefile.in (buildlisppath): Remove. (RUN_EMACS): Use abs_srcdir directly. diff: === modified file 'leim/ChangeLog' --- leim/ChangeLog 2013-10-24 02:29:29 +0000 +++ leim/ChangeLog 2013-11-02 20:30:13 +0000 @@ -1,3 +1,8 @@ +2013-11-02 Glenn Morris + + * Makefile.in (buildlisppath): Remove. + (RUN_EMACS): Use abs_srcdir directly. + 2013-10-24 Glenn Morris * Makefile.in (.el.elc, changed.tit, changed.misc, leim-list.el) === modified file 'leim/Makefile.in' --- leim/Makefile.in 2013-10-24 02:29:29 +0000 +++ leim/Makefile.in 2013-11-02 20:30:13 +0000 @@ -31,10 +31,8 @@ # byte-compile Emacs Lisp files, and generate the file leim-list.el. EMACS = ../src/emacs -buildlisppath=${abs_srcdir}/../lisp - # How to run Emacs. -RUN_EMACS = EMACSLOADPATH="$(buildlisppath)" LC_ALL=C \ +RUN_EMACS = EMACSLOADPATH="${abs_srcdir}/../lisp" LC_ALL=C \ "${EMACS}" -batch --no-site-file --no-site-lisp MKDIR_P = @MKDIR_P@ ------------------------------------------------------------ revno: 114916 committer: Eli Zaretskii branch nick: trunk timestamp: Sat 2013-11-02 22:12:59 +0200 message: Fix commentary in lisp/Makefile.in. diff: === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2013-11-02 20:05:15 +0000 +++ lisp/Makefile.in 2013-11-02 20:12:59 +0000 @@ -219,13 +219,11 @@ lisptagsfiles3 = $(srcdir)/*/*/*.el lisptagsfiles4 = $(srcdir)/*/*/*/*.el -## Apparently the echo | sed | xargs is to stop the command line -## getting too long on MS Windows. It will make no difference on -## POSIX systems, where the shell does the globbing right away, before -## passing the expanded arguments to echo. -## The POSIX way would be to use find in a similar way to compile-main. -## But maybe this is not even necessary any more now that this uses -## relative filenames. +## The echo | sed | xargs is to stop the command line getting too long +## on MS Windows, when the MSYS Bash passes it to a MinGW compiled +## etags. It might be better to use find in a similar way to +## compile-main. But maybe this is not even necessary any more now +## that this uses relative filenames. TAGS: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) rm -f $@ touch $@ ------------------------------------------------------------ revno: 114915 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 13:12:12 -0700 message: * test/automated/Makefile.in (abs_srcdir): New, set by configure. diff: === modified file 'test/ChangeLog' --- test/ChangeLog 2013-11-02 19:56:54 +0000 +++ test/ChangeLog 2013-11-02 20:12:12 +0000 @@ -2,6 +2,7 @@ * automated/Makefile.in (top_builddir, abs_test, abs_lispsrc, lisp) (test): Remove variables. + (abs_srcdir): New, set by configure. (emacs): Use abs_top_srcdir, abs_srcdir rather than abs_lispsrc, abs_test. (lisp-compile): Use ../../lisp rather than $lisp. === modified file 'test/automated/Makefile.in' --- test/automated/Makefile.in 2013-11-02 19:56:54 +0000 +++ test/automated/Makefile.in 2013-11-02 20:12:12 +0000 @@ -20,6 +20,7 @@ SHELL = @SHELL@ srcdir = @srcdir@ +abs_srcdir = @abs_srcdir@ abs_top_srcdir = @abs_top_srcdir@ abs_top_builddir = @abs_top_builddir@ VPATH = $(srcdir) ------------------------------------------------------------ revno: 114914 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 13:05:15 -0700 message: * lisp/Makefile.in (EMACS): Use a relative filename. (custom-deps, finder-data, autoloads): Use --chdir. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-02 19:43:11 +0000 +++ lisp/ChangeLog 2013-11-02 20:05:15 +0000 @@ -1,5 +1,8 @@ 2013-11-02 Glenn Morris + * Makefile.in (EMACS): Use a relative filename. + (custom-deps, finder-data, autoloads): Use --chdir. + * Makefile.in (abs_lisp): Remove, replace by abs_srcdir. Use relative filenames in TAGS files. === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2013-11-02 19:43:11 +0000 +++ lisp/Makefile.in 2013-11-02 20:05:15 +0000 @@ -33,10 +33,10 @@ # You can specify a different executable on the make command line, # e.g. "make EMACS=../src/emacs ...". -# We sometimes change directory before running Emacs (typically when -# building out-of-tree, we chdir to the source directory), so we need -# to use an absolute file name. -EMACS = ${abs_top_builddir}/src/emacs +# We never change directory before running Emacs, so a relative file +# name is fine, and makes life easier. If we need to change +# directory, we can use emacs --chdir. +EMACS = ../src/emacs # Command line flags for Emacs. @@ -159,25 +159,26 @@ $(lisp)/cus-load.el: $(MAKE) $(MFLAGS) custom-deps custom-deps: doit - cd $(lisp) && $(setwins_almost); \ + thisdir=`pwd`; cd $(lisp) && $(setwins_almost); cd "$$thisdir"; \ echo Directories: $$wins; \ - $(emacs) -l cus-dep -f custom-make-dependencies $$wins + $(emacs) --chdir $(lisp) -l cus-dep -f custom-make-dependencies $$wins $(lisp)/finder-inf.el: $(MAKE) $(MFLAGS) finder-data finder-data: doit - cd $(lisp) && $(setwins_almost); \ + thisdir=`pwd`; cd $(lisp) && $(setwins_almost); cd "$$thisdir"; \ echo Directories: $$wins; \ - $(emacs) -l finder -f finder-compile-keywords-make-dist $$wins + $(emacs) --chdir $(lisp) -l finder \ + -f finder-compile-keywords-make-dist $$wins # The chmod +w is to handle env var CVSREAD=1. # Use expand-file-name rather than $abs_scrdir so that Emacs does not # get confused when it compares file-names for equality. autoloads: $(LOADDEFS) doit cd $(lisp) && chmod +w $(AUTOGEN_VCS) - cd $(lisp) && $(setwins_almost); \ + thisdir=`pwd`; cd $(lisp) && $(setwins_almost); cd "$$thisdir"; \ echo Directories: $$wins; \ - $(emacs) -l autoload \ + $(emacs) --chdir $(lisp) -l autoload \ --eval '(setq autoload-builtin-package-versions t)' \ --eval '(setq generated-autoload-file (expand-file-name "loaddefs.el"))' \ -f batch-update-autoloads $$wins ------------------------------------------------------------ revno: 114913 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 12:56:54 -0700 message: * automated/Makefile.in (test): Remove variable. (compile-main, compile-clean, compile-always, bootstrap-clean) (check): Use srcdir rather than $test. Check cd return value. (compile-always): Depend on bootstrap-clean. diff: === modified file 'test/ChangeLog' --- test/ChangeLog 2013-11-02 19:50:41 +0000 +++ test/ChangeLog 2013-11-02 19:56:54 +0000 @@ -1,10 +1,13 @@ 2013-11-02 Glenn Morris - * automated/Makefile.in (top_builddir, abs_test, abs_lispsrc, lisp): - Remove variables. + * automated/Makefile.in (top_builddir, abs_test, abs_lispsrc, lisp) + (test): Remove variables. (emacs): Use abs_top_srcdir, abs_srcdir rather than abs_lispsrc, abs_test. (lisp-compile): Use ../../lisp rather than $lisp. + (compile-main, compile-clean, compile-always, bootstrap-clean) + (check): Use srcdir rather than $test. Check cd return value. + (compile-always): Depend on bootstrap-clean. 2013-10-31 Michael Albinus === modified file 'test/automated/Makefile.in' --- test/automated/Makefile.in 2013-11-02 19:50:41 +0000 +++ test/automated/Makefile.in 2013-11-02 19:56:54 +0000 @@ -22,7 +22,6 @@ srcdir = @srcdir@ abs_top_srcdir = @abs_top_srcdir@ abs_top_builddir = @abs_top_builddir@ -test = $(srcdir) VPATH = $(srcdir) # You can specify a different executable on the make command line, @@ -96,7 +95,7 @@ # Compile all the Elisp files that need it. Beware: it approximates # `no-byte-compile', so watch out for false-positives! compile-main: compile-clean lisp-compile - @(cd $(test); $(setwins); \ + @(cd $(srcdir) && $(setwins); \ els=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.el |g'`; \ for el in $$els; do \ test -f $$el || continue; \ @@ -110,7 +109,7 @@ .PHONY: compile-clean # Erase left-over .elc files that do not have a corresponding .el file. compile-clean: - @cd $(test); $(setwins); \ + @cd $(srcdir) && $(setwins); \ elcs=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.elc |g'`; \ for el in $$(echo $$elcs | sed -e 's/\.elc/\.el/g'); do \ if test -f "$$el" -o \! -f "$${el}c"; then :; else \ @@ -131,20 +130,19 @@ # Compile all Lisp files. This is like `compile' but compiles files # unconditionally. Some files don't actually get compiled because they # set the local variable no-byte-compile. -compile-always: doit - cd $(test); rm -f *.elc */*.elc */*/*.elc */*/*/*.elc +compile-always: bootstrap-clean $(MAKE) $(MFLAGS) compile EMACS="$(EMACS)" bootstrap-clean: - cd $(test); rm -f *.elc */*.elc */*/*.elc */*/*/*.elc + -cd $(srcdir) && rm -f *.elc */*.elc */*/*.elc */*/*/*.elc distclean: - -rm -f ./Makefile + rm -f Makefile maintainer-clean: distclean bootstrap-clean check: compile-main - @(cd $(test); $(setwins); \ + @(cd $(srcdir) && $(setwins); \ pattern=`echo "$$wins " | sed -e 's|/\./|/|g' -e 's|/\. | |g' -e 's| |/*.el |g'`; \ for el in $$pattern; do \ test -f $$el || continue; \ ------------------------------------------------------------ revno: 114912 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 12:50:41 -0700 message: Minor simplifications for test/automated/Makefile * test/automated/Makefile.in (top_builddir, abs_test, abs_lispsrc, lisp): Remove variables. (emacs): Use abs_top_srcdir, abs_srcdir rather than abs_lispsrc, abs_test. (lisp-compile): Use ../../lisp rather than $lisp. diff: === modified file 'test/ChangeLog' --- test/ChangeLog 2013-10-31 13:31:22 +0000 +++ test/ChangeLog 2013-11-02 19:50:41 +0000 @@ -1,3 +1,11 @@ +2013-11-02 Glenn Morris + + * automated/Makefile.in (top_builddir, abs_test, abs_lispsrc, lisp): + Remove variables. + (emacs): Use abs_top_srcdir, abs_srcdir rather than abs_lispsrc, + abs_test. + (lisp-compile): Use ../../lisp rather than $lisp. + 2013-10-31 Michael Albinus * automated/ert-tests.el (ert-test-stats-set-test-and-result): === modified file 'test/automated/Makefile.in' --- test/automated/Makefile.in 2013-10-23 06:22:54 +0000 +++ test/automated/Makefile.in 2013-11-02 19:50:41 +0000 @@ -21,13 +21,9 @@ srcdir = @srcdir@ abs_top_srcdir = @abs_top_srcdir@ -top_builddir = @top_builddir@ abs_top_builddir = @abs_top_builddir@ test = $(srcdir) -abs_test = $(abs_srcdir) VPATH = $(srcdir) -abs_lispsrc = $(abs_top_srcdir)/lisp -lisp = $(top_builddir)/lisp # You can specify a different executable on the make command line, # e.g. "make EMACS=../src/emacs ...". @@ -48,7 +44,7 @@ # The example above is just for developers, it should not be used by default. # The actual Emacs command run in the targets below. -emacs = EMACSLOADPATH="$(abs_lispsrc):$(abs_test)" LC_ALL=C "$(EMACS)" $(EMACSOPT) +emacs = EMACSLOADPATH="$(abs_top_srcdir)/lisp:$(abs_srcdir)" LC_ALL=C "$(EMACS)" $(EMACSOPT) # Common command to find subdirectories setwins=subdirs=`find . -type d -print`; \ @@ -81,7 +77,7 @@ .PHONY: lisp-compile compile-main compile compile-always lisp-compile: - cd "$(lisp)"; $(MAKE) $(MFLAGS) compile EMACS="$(EMACS)" + cd ../../lisp && $(MAKE) $(MFLAGS) compile EMACS="$(EMACS)" # In `compile-main' we could directly do # ... | xargs $(MAKE) $(MFLAGS) EMACS="$(EMACS)" ------------------------------------------------------------ revno: 114911 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 12:43:11 -0700 message: * lisp/Makefile.in (abs_lisp): Remove, replace by abs_srcdir diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-02 19:41:33 +0000 +++ lisp/ChangeLog 2013-11-02 19:43:11 +0000 @@ -1,5 +1,7 @@ 2013-11-02 Glenn Morris + * Makefile.in (abs_lisp): Remove, replace by abs_srcdir. + Use relative filenames in TAGS files. * Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3) (lisptagsfiles4, TAGS): Use relative file names. === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2013-11-02 19:41:33 +0000 +++ lisp/Makefile.in 2013-11-02 19:43:11 +0000 @@ -23,7 +23,6 @@ abs_srcdir = @abs_srcdir@ top_srcdir = @top_srcdir@ abs_top_builddir = @abs_top_builddir@ -abs_lisp = $(abs_srcdir) lisp = $(srcdir) VPATH = $(srcdir) @@ -109,7 +108,7 @@ # The actual Emacs command run in the targets below. -emacs = EMACSLOADPATH="$(abs_lisp)" LC_ALL=C "$(EMACS)" $(EMACSOPT) +emacs = EMACSLOADPATH="$(abs_srcdir)" LC_ALL=C "$(EMACS)" $(EMACSOPT) # Common command to find subdirectories setwins=subdirs=`find . -type d -print`; \ @@ -172,7 +171,7 @@ $(emacs) -l finder -f finder-compile-keywords-make-dist $$wins # The chmod +w is to handle env var CVSREAD=1. -# Use expand-file-name rather than $abs_lisp so that Emacs does not +# Use expand-file-name rather than $abs_scrdir so that Emacs does not # get confused when it compares file-names for equality. autoloads: $(LOADDEFS) doit cd $(lisp) && chmod +w $(AUTOGEN_VCS) ------------------------------------------------------------ revno: 114910 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 12:41:33 -0700 message: Use relative filenames in TAGS files. * src/Makefile.in (abs_srcdir): Remove it again. (.PHONY): Remove frc. (maintainer-clean): No more TAGS-LISP file. (TAGS): Pass relative file names to etags. (../lisp/TAGS): Rename from TAGS-LISP. Work in ../lisp. * lisp/Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3) (lisptagsfiles4, TAGS): Use relative file names. (TAGS-LISP): Remove. (maintainer-clean): No more TAGS-LISP file. * lwlib/Makefile.in (abs_srcdir): Remove it again. (ctagsfiles, TAGS): Use relative filenames. * .bzrignore: Remove TAGS-LISP. diff: === modified file '.bzrignore' --- .bzrignore 2013-10-04 14:27:11 +0000 +++ .bzrignore 2013-11-02 19:41:33 +0000 @@ -43,7 +43,6 @@ stamp_BLD subdirs.el TAGS -TAGS-LISP cxxdefs.h # Intermediate files when making pdf versions of the manuals. doc/**/*.aux === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-02 19:18:50 +0000 +++ lisp/ChangeLog 2013-11-02 19:41:33 +0000 @@ -1,5 +1,11 @@ 2013-11-02 Glenn Morris + Use relative filenames in TAGS files. + * Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3) + (lisptagsfiles4, TAGS): Use relative file names. + (TAGS-LISP): Remove. + (maintainer-clean): No more TAGS-LISP file. + * Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3) (lisptagsfiles4): Use absolute filenames again. (TAGS, TAGS-LISP): Not everything needs to run in one line. === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2013-11-02 19:18:50 +0000 +++ lisp/Makefile.in 2013-11-02 19:41:33 +0000 @@ -214,25 +214,25 @@ ETAGS = ../lib-src/etags -## NB We use absolute filenames because ../src/Makefile calls this via -## make -f ../lisp/Makefile. -## FIXME? Can etags work ok with relative filenames? -lisptagsfiles1 = $(abs_srcdir)/*.el -lisptagsfiles2 = $(abs_srcdir)/*/*.el -lisptagsfiles3 = $(abs_srcdir)/*/*/*.el -lisptagsfiles4 = $(abs_srcdir)/*/*/*/*.el +lisptagsfiles1 = $(srcdir)/*.el +lisptagsfiles2 = $(srcdir)/*/*.el +lisptagsfiles3 = $(srcdir)/*/*/*.el +lisptagsfiles4 = $(srcdir)/*/*/*/*.el ## Apparently the echo | sed | xargs is to stop the command line ## getting too long on MS Windows. It will make no difference on ## POSIX systems, where the shell does the globbing right away, before ## passing the expanded arguments to echo. -TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) +## The POSIX way would be to use find in a similar way to compile-main. +## But maybe this is not even necessary any more now that this uses +## relative filenames. +TAGS: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) rm -f $@ touch $@ echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | \ - sed -e 's,$(abs_srcdir)/[^ ]*loaddefs[^ ]*,,g' \ - -e 's,$(abs_srcdir)/ldefs-boot[^ ]*,,' \ - -e 's,$(abs_srcdir)/[^ ]*esh-groups.el[^ ]*,,' | \ + sed -e 's,$(srcdir)/[^ ]*loaddefs[^ ]*,,g' \ + -e 's,$(srcdir)/ldefs-boot[^ ]*,,' \ + -e 's,$(srcdir)/[^ ]*esh-groups.el[^ ]*,,' | \ xargs $(XARGS_LIMIT) "$(ETAGS)" -a -o $@ @@ -458,7 +458,7 @@ -rm -f ./Makefile $(lisp)/loaddefs.el~ maintainer-clean: distclean bootstrap-clean - rm -f TAGS TAGS-LISP + rm -f TAGS .PHONY: check-declare === modified file 'lwlib/ChangeLog' --- lwlib/ChangeLog 2013-11-02 19:18:50 +0000 +++ lwlib/ChangeLog 2013-11-02 19:41:33 +0000 @@ -1,5 +1,9 @@ 2013-11-02 Glenn Morris + Use relative filenames in TAGS files. + * Makefile.in (abs_srcdir): Remove it again. + (ctagsfiles, TAGS): Use relative filenames. + * Makefile.in (abs_srcdir): New, set by configure. (ETAGS, ctagsfiles): New variables. (TAGS): Use ETAGS, ctagsfiles. Use absolute filenames again. === modified file 'lwlib/Makefile.in' --- lwlib/Makefile.in 2013-11-02 19:18:50 +0000 +++ lwlib/Makefile.in 2013-11-02 19:41:33 +0000 @@ -23,7 +23,6 @@ # and set up to be configured by ../configure. srcdir=@srcdir@ -abs_srcdir=@abs_srcdir@ # MinGW CPPFLAGS may use this. abs_top_srcdir=@abs_top_srcdir@ VPATH=@srcdir@ @@ -104,12 +103,10 @@ ETAGS = ../lib-src/etags -## FIXME? Does etags need to use absolute filenames? -## See comments in lisp/Makefile.in, src/Makefile.in. -ctagsfiles= *.[ch] +ctagsfiles= $(srcdir)/*.[ch] -TAGS: $(srcdir)/$(ctagsfiles) - "$(ETAGS)" "$(abs_srcdir)"/$(ctagsfiles) +TAGS: $(ctagsfiles) + "$(ETAGS)" $(ctagsfiles) tags: TAGS .PHONY: tags === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-02 19:23:45 +0000 +++ src/ChangeLog 2013-11-02 19:41:33 +0000 @@ -1,5 +1,12 @@ 2013-11-02 Glenn Morris + Use relative filenames in TAGS files. + * Makefile.in (abs_srcdir): Remove it again. + (.PHONY): Remove frc. + (maintainer-clean): No more TAGS-LISP file. + (TAGS): Pass relative file names to etags. + (../lisp/TAGS): Rename from TAGS-LISP. Work in ../lisp. + * Makefile.in (abs_srcdir): New, set by configure. (lispdir): Remove. (maintainer-clean): Remove pointless echo. That should be in the === modified file 'src/Makefile.in' --- src/Makefile.in 2013-11-02 19:23:45 +0000 +++ src/Makefile.in 2013-11-02 19:41:33 +0000 @@ -1,7 +1,7 @@ ### @configure_input@ -# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2013 Free Software -# Foundation, Inc. +# Copyright (C) 1985, 1987-1988, 1993-1995, 1999-2013 +# Free Software Foundation, Inc. # This file is part of GNU Emacs. @@ -28,7 +28,6 @@ # Here are the things that we expect ../configure to edit. # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. srcdir = @srcdir@ -abs_srcdir = @abs_srcdir@ # MinGW CPPFLAGS may use this. abs_top_srcdir=@abs_top_srcdir@ ntsource = $(srcdir)/../nt @@ -557,7 +556,7 @@ cd ../nextstep && $(MAKE) $(MFLAGS) all .PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean -.PHONY: versionclean extraclean frc +.PHONY: versionclean extraclean mostlyclean: rm -f temacs$(EXEEXT) core *.core \#* *.o libXMenu11.a liblw.a @@ -585,7 +584,7 @@ rm -f Makefile maintainer-clean: distclean - rm -f TAGS TAGS-LISP + rm -f TAGS versionclean: -rm -f emacs$(EXEEXT) emacs-*.*.*$(EXEEXT) ../etc/DOC* extraclean: distclean @@ -598,28 +597,27 @@ ctagsfiles2 = [a-wA-W]*.[hc] ctagsfiles3 = [a-zA-Z]*.m -## FIXME? Do we really need to use absolute filenames here? +## FIXME? In out-of-tree builds, should TAGS be generated in srcdir? ## This does not need to depend on ../lisp and ../lwlib TAGS files, ## because etags "--include" only includes a pointer to the file, ## rather than the file contents. TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(srcdir)/$(ctagsfiles3) - "$(ETAGS)" --include=TAGS-LISP --include=$(lwlibdir)/TAGS \ + "$(ETAGS)" --include=../lisp/TAGS --include=$(lwlibdir)/TAGS \ --regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ - "$(abs_srcdir)"/$(ctagsfiles1) "$(abs_srcdir)"/$(ctagsfiles2) \ + $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) \ --regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ - "$(abs_srcdir)"/$(ctagsfiles3) + $(srcdir)/$(ctagsfiles3) ## Arrange to make tags tables for ../lisp and ../lwlib, ## which the above TAGS file for the C files includes by reference. -frc: -TAGS-LISP: frc - $(MAKE) -f ../lisp/Makefile TAGS-LISP ETAGS="$(ETAGS)" +../lisp/TAGS: + cd ../lisp && $(MAKE) TAGS ETAGS="$(ETAGS)" $(lwlibdir)/TAGS: cd $(lwlibdir) && $(MAKE) TAGS ETAGS="$(ETAGS)" -tags: TAGS TAGS-LISP $(lwlibdir)/TAGS +tags: TAGS ../lisp/TAGS $(lwlibdir)/TAGS .PHONY: tags ------------------------------------------------------------ revno: 114909 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 12:23:45 -0700 message: * src/Makefile.in (lispdir): Remove. (TAGS-LISP): Replace lispdir with its expansion. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-02 19:18:50 +0000 +++ src/ChangeLog 2013-11-02 19:23:45 +0000 @@ -1,11 +1,14 @@ 2013-11-02 Glenn Morris * Makefile.in (abs_srcdir): New, set by configure. + (lispdir): Remove. (maintainer-clean): Remove pointless echo. That should be in the top-level Makefile, if anywhere. Delete TAGS-LISP. (extraclean): No s/ and m/ directories for some time. - (TAGS): Remove no-longer-defined S_FILE. + (TAGS): Also depend on ctagsfiles3. + Remove no-longer-defined S_FILE. Pass absolute filenames to etags once more. + (TAGS-LISP): Replace lispdir with its expansion. (TAGS-LISP, $(lwlibdir)/TAGS): Correctly pass ETAGS to sub-makes. ($(lwlibdir)/TAGS): Remove useless subshell, check cd return value. === modified file 'src/Makefile.in' --- src/Makefile.in 2013-11-02 19:18:50 +0000 +++ src/Makefile.in 2013-11-02 19:23:45 +0000 @@ -57,7 +57,6 @@ leimdir = ../leim oldXMenudir = ../oldXMenu lwlibdir = ../lwlib -lispdir = ../lisp # Configuration files for .o files to depend on. config_h = config.h $(srcdir)/conf_post.h @@ -615,7 +614,7 @@ ## which the above TAGS file for the C files includes by reference. frc: TAGS-LISP: frc - $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS="$(ETAGS)" + $(MAKE) -f ../lisp/Makefile TAGS-LISP ETAGS="$(ETAGS)" $(lwlibdir)/TAGS: cd $(lwlibdir) && $(MAKE) TAGS ETAGS="$(ETAGS)" ------------------------------------------------------------ revno: 114908 committer: Glenn Morris branch nick: trunk timestamp: Sat 2013-11-02 12:18:50 -0700 message: Small Makefile cleanup mainly related to tags file generation * src/Makefile.in (abs_srcdir): New, set by configure. (maintainer-clean): Remove pointless echo. That should be in the top-level Makefile, if anywhere. Delete TAGS-LISP. (extraclean): No s/ and m/ directories for some time. (TAGS): Remove no-longer-defined S_FILE. Pass absolute filenames to etags once more. (TAGS-LISP, $(lwlibdir)/TAGS): Correctly pass ETAGS to sub-makes. ($(lwlibdir)/TAGS): Remove useless subshell, check cd return value. * lisp/Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3) (lisptagsfiles4): Use absolute filenames again. (TAGS, TAGS-LISP): Not everything needs to run in one line. Remove all *loaddefs files, not just the first. Remove esh-groups. (maintainer-clean): Delete TAGS, TAGS-LISP. * lwlib/Makefile.in (abs_srcdir): New, set by configure. (ETAGS, ctagsfiles): New variables. (TAGS): Use ETAGS, ctagsfiles. Use absolute filenames again. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-02 14:58:38 +0000 +++ lisp/ChangeLog 2013-11-02 19:18:50 +0000 @@ -1,3 +1,11 @@ +2013-11-02 Glenn Morris + + * Makefile.in (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3) + (lisptagsfiles4): Use absolute filenames again. + (TAGS, TAGS-LISP): Not everything needs to run in one line. + Remove all *loaddefs files, not just the first. Remove esh-groups. + (maintainer-clean): Delete TAGS, TAGS-LISP. + 2013-11-02 Bozhidar Batsov * emacs-lisp/package.el (package-version-join): Recognize === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2013-11-01 17:26:29 +0000 +++ lisp/Makefile.in 2013-11-02 19:18:50 +0000 @@ -49,12 +49,6 @@ # BYTE_COMPILE_EXTRA_FLAGS = --eval '(setq byte-compile-warnings (quote (not unresolved)))' # The example above is just for developers, it should not be used by default. -lisptagsfiles1 = $(lisp)/*.el -lisptagsfiles2 = $(lisp)/*/*.el -lisptagsfiles3 = $(lisp)/*/*/*.el -lisptagsfiles4 = $(lisp)/*/*/*/*.el -ETAGS = ../lib-src/etags - # Automatically generated autoload files, apart from lisp/loaddefs.el. # Note this includes only those files that need special rules to # build; ie it does not need to include things created via @@ -217,10 +211,30 @@ update-authors: $(emacs) -l authors -f batch-update-authors $(top_srcdir)/etc/AUTHORS $(top_srcdir) + +ETAGS = ../lib-src/etags + +## NB We use absolute filenames because ../src/Makefile calls this via +## make -f ../lisp/Makefile. +## FIXME? Can etags work ok with relative filenames? +lisptagsfiles1 = $(abs_srcdir)/*.el +lisptagsfiles2 = $(abs_srcdir)/*/*.el +lisptagsfiles3 = $(abs_srcdir)/*/*/*.el +lisptagsfiles4 = $(abs_srcdir)/*/*/*/*.el + +## Apparently the echo | sed | xargs is to stop the command line +## getting too long on MS Windows. It will make no difference on +## POSIX systems, where the shell does the globbing right away, before +## passing the expanded arguments to echo. TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) - rm -f $@; touch $@; \ - echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,," | \ - xargs $(XARGS_LIMIT) ${ETAGS} -a -o $@ + rm -f $@ + touch $@ + echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | \ + sed -e 's,$(abs_srcdir)/[^ ]*loaddefs[^ ]*,,g' \ + -e 's,$(abs_srcdir)/ldefs-boot[^ ]*,,' \ + -e 's,$(abs_srcdir)/[^ ]*esh-groups.el[^ ]*,,' | \ + xargs $(XARGS_LIMIT) "$(ETAGS)" -a -o $@ + # The src/Makefile.in has its own set of dependencies and when they decide # that one Lisp file needs to be re-compiled, we had better recompile it as @@ -444,6 +458,7 @@ -rm -f ./Makefile $(lisp)/loaddefs.el~ maintainer-clean: distclean bootstrap-clean + rm -f TAGS TAGS-LISP .PHONY: check-declare === modified file 'lwlib/ChangeLog' --- lwlib/ChangeLog 2013-10-24 02:15:16 +0000 +++ lwlib/ChangeLog 2013-11-02 19:18:50 +0000 @@ -1,3 +1,9 @@ +2013-11-02 Glenn Morris + + * Makefile.in (abs_srcdir): New, set by configure. + (ETAGS, ctagsfiles): New variables. + (TAGS): Use ETAGS, ctagsfiles. Use absolute filenames again. + 2013-10-24 Glenn Morris * Makefile.in (abs_top_srcdir): New, set by configure. === modified file 'lwlib/Makefile.in' --- lwlib/Makefile.in 2013-10-24 04:05:54 +0000 +++ lwlib/Makefile.in 2013-11-02 19:18:50 +0000 @@ -23,6 +23,7 @@ # and set up to be configured by ../configure. srcdir=@srcdir@ +abs_srcdir=@abs_srcdir@ # MinGW CPPFLAGS may use this. abs_top_srcdir=@abs_top_srcdir@ VPATH=@srcdir@ @@ -100,7 +101,17 @@ maintainer-clean: distclean rm -f TAGS -TAGS: - ../lib-src/etags $(srcdir)/*.[ch] + +ETAGS = ../lib-src/etags + +## FIXME? Does etags need to use absolute filenames? +## See comments in lisp/Makefile.in, src/Makefile.in. +ctagsfiles= *.[ch] + +TAGS: $(srcdir)/$(ctagsfiles) + "$(ETAGS)" "$(abs_srcdir)"/$(ctagsfiles) tags: TAGS .PHONY: tags + + +### Makefile.in ends here === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-02 13:14:55 +0000 +++ src/ChangeLog 2013-11-02 19:18:50 +0000 @@ -1,3 +1,14 @@ +2013-11-02 Glenn Morris + + * Makefile.in (abs_srcdir): New, set by configure. + (maintainer-clean): Remove pointless echo. That should be in the + top-level Makefile, if anywhere. Delete TAGS-LISP. + (extraclean): No s/ and m/ directories for some time. + (TAGS): Remove no-longer-defined S_FILE. + Pass absolute filenames to etags once more. + (TAGS-LISP, $(lwlibdir)/TAGS): Correctly pass ETAGS to sub-makes. + ($(lwlibdir)/TAGS): Remove useless subshell, check cd return value. + 2013-11-02 Jan Djärv * xfaces.c (check_lface_attrs, realize_default_face): Add === modified file 'src/Makefile.in' --- src/Makefile.in 2013-10-24 04:05:54 +0000 +++ src/Makefile.in 2013-11-02 19:18:50 +0000 @@ -28,6 +28,7 @@ # Here are the things that we expect ../configure to edit. # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH. srcdir = @srcdir@ +abs_srcdir = @abs_srcdir@ # MinGW CPPFLAGS may use this. abs_top_srcdir=@abs_top_srcdir@ ntsource = $(srcdir)/../nt @@ -580,38 +581,44 @@ if test -f "$(srcdir)/.gdbinit"; then rm -f ./.gdbinit.save; \ else mv ./.gdbinit.save ./.gdbinit; fi; \ fi -## This is used in making a distribution. -## Do not use it on development directories! + distclean: bootstrap-clean rm -f Makefile + maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f TAGS + rm -f TAGS TAGS-LISP versionclean: -rm -f emacs$(EXEEXT) emacs-*.*.*$(EXEEXT) ../etc/DOC* extraclean: distclean - -rm -f *~ \#* m/?*~ s/?*~ - -## Arrange to make a tags table TAGS-LISP for ../lisp, -## plus TAGS for the C files, which includes ../lisp/TAGS by reference. + -rm -f *~ \#* + + +ETAGS = ../lib-src/etags ctagsfiles1 = [xyzXYZ]*.[hc] ctagsfiles2 = [a-wA-W]*.[hc] ctagsfiles3 = [a-zA-Z]*.m -TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE) - ../lib-src/etags --include=TAGS-LISP --include=$(lwlibdir)/TAGS \ +## FIXME? Do we really need to use absolute filenames here? + +## This does not need to depend on ../lisp and ../lwlib TAGS files, +## because etags "--include" only includes a pointer to the file, +## rather than the file contents. +TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(srcdir)/$(ctagsfiles3) + "$(ETAGS)" --include=TAGS-LISP --include=$(lwlibdir)/TAGS \ --regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ - $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE) \ + "$(abs_srcdir)"/$(ctagsfiles1) "$(abs_srcdir)"/$(ctagsfiles2) \ --regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ - $(srcdir)/$(ctagsfiles3) + "$(abs_srcdir)"/$(ctagsfiles3) + +## Arrange to make tags tables for ../lisp and ../lwlib, +## which the above TAGS file for the C files includes by reference. frc: TAGS-LISP: frc - $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS=../lib-src/etags + $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS="$(ETAGS)" $(lwlibdir)/TAGS: - (cd $(lwlibdir); $(MAKE) -f $(lwlibdir)/Makefile tags ETAGS=../lib-src/etags) + cd $(lwlibdir) && $(MAKE) TAGS ETAGS="$(ETAGS)" tags: TAGS TAGS-LISP $(lwlibdir)/TAGS .PHONY: tags ------------------------------------------------------------ revno: 114907 committer: Bozhidar Batsov branch nick: trunk timestamp: Sat 2013-11-02 16:58:38 +0200 message: * lisp/ChangeLog: Fix a typo. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-02 10:55:22 +0000 +++ lisp/ChangeLog 2013-11-02 14:58:38 +0000 @@ -49,7 +49,7 @@ 2013-11-01 Tassilo Horn - Allow multiple bibliographies when BibLaTeX is used rathen than + Allow multiple bibliographies when BibLaTeX is used rather than BibTeX. * textmodes/reftex-parse.el (reftex-using-biblatex-p): New function. (reftex-locate-bibliography-files): Us it. ------------------------------------------------------------ revno: 114906 committer: Jan D. branch nick: trunk timestamp: Sat 2013-11-02 14:14:55 +0100 message: * xfaces.c (realize_default_face): Set DISTANT_FOREGROUND to unspecified_fg. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-02 07:58:54 +0000 +++ src/ChangeLog 2013-11-02 13:14:55 +0000 @@ -2,6 +2,7 @@ * xfaces.c (check_lface_attrs, realize_default_face): Add LFACE_DISTANT_FOREGROUND_INDEX (Bug#15788). + (realize_default_face): Set DISTANT_FOREGROUND to unspecified_fg. 2013-11-02 Paul Eggert === modified file 'src/xfaces.c' --- src/xfaces.c 2013-11-02 07:58:54 +0000 +++ src/xfaces.c 2013-11-02 13:14:55 +0000 @@ -5356,7 +5356,7 @@ } if (UNSPECIFIEDP (LFACE_DISTANT_FOREGROUND (lface))) - ASET (lface, LFACE_DISTANT_FOREGROUND_INDEX, Qnil); + ASET (lface, LFACE_DISTANT_FOREGROUND_INDEX, build_string (unspecified_fg)); if (UNSPECIFIEDP (LFACE_BACKGROUND (lface))) { ------------------------------------------------------------ revno: 114905 committer: Xue Fuqiao branch nick: trunk timestamp: Sat 2013-11-02 19:37:14 +0800 message: NEWS tweak diff: === modified file 'etc/NEWS' --- etc/NEWS 2013-11-01 15:47:10 +0000 +++ etc/NEWS 2013-11-02 11:37:14 +0000 @@ -789,8 +789,8 @@ specifies whether or not the terminal can display a wavy line. *** New face spec attribute :distant-foreground -specifies foreground to use if background is near the foreground that would -otherwise have been used. +specifies foreground to use if background color is near the foreground +color that would otherwise have been used. ** Image API === modified file 'lisp/htmlfontify.el' --- lisp/htmlfontify.el 2013-10-30 19:35:14 +0000 +++ lisp/htmlfontify.el 2013-11-02 11:37:14 +0000 @@ -2410,9 +2410,10 @@ (load file 'NOERROR nil nil) )) -;;;### (autoloads nil "hfy-cmap" "hfy-cmap.el" "df4e418d0d8749ead9d32bb2c7a5bd56") +;;;### (autoloads nil "hfy-cmap" "hfy-cmap.el" "9fc09983e774dd0938661615b457fb59") ;;; Generated autoloads from hfy-cmap.el (push (purecopy '(htmlfontify 0 20)) package--builtin-versions) + (autoload 'htmlfontify-load-rgb-file "hfy-cmap" "\ Load an X11 style rgb.txt FILE. Search `hfy-rgb-load-path' if FILE is not specified. ------------------------------------------------------------ revno: 114904 committer: Bozhidar Batsov branch nick: trunk timestamp: Sat 2013-11-02 12:55:22 +0200 message: * lisp/emacs-lisp/package.el (package-version-join): Recognize snapshot versions. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-02 09:48:11 +0000 +++ lisp/ChangeLog 2013-11-02 10:55:22 +0000 @@ -1,5 +1,10 @@ 2013-11-02 Bozhidar Batsov + * emacs-lisp/package.el (package-version-join): Recognize + snapshot versions. + +2013-11-02 Bozhidar Batsov + * subr.el (version-regexp-alist): Add support for snapshot versions. 2013-11-02 Dmitry Gutov === modified file 'lisp/emacs-lisp/package.el' --- lisp/emacs-lisp/package.el 2013-10-30 06:29:51 +0000 +++ lisp/emacs-lisp/package.el 2013-11-02 10:55:22 +0000 @@ -429,7 +429,7 @@ ((>= num 0) (push (int-to-string num) str-list) (push "." str-list)) - ((< num -3) + ((< num -4) (error "Invalid version list `%s'" vlist)) (t ;; pre, or beta, or alpha @@ -439,7 +439,8 @@ (error "Invalid version list `%s'" vlist))) (push (cond ((= num -1) "pre") ((= num -2) "beta") - ((= num -3) "alpha")) + ((= num -3) "alpha") + ((= num -4) "snapshot")) str-list)))) (if (equal "." (car str-list)) (pop str-list)) ------------------------------------------------------------ revno: 114903 committer: Bozhidar Batsov branch nick: trunk timestamp: Sat 2013-11-02 11:48:11 +0200 message: * subr.el (version-regexp-alist): Add support for snapshot versions. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-02 05:18:11 +0000 +++ lisp/ChangeLog 2013-11-02 09:48:11 +0000 @@ -1,3 +1,7 @@ +2013-11-02 Bozhidar Batsov + + * subr.el (version-regexp-alist): Add support for snapshot versions. + 2013-11-02 Dmitry Gutov * progmodes/ruby-mode.el (ruby-smie--rule-parent-skip-assign): New === modified file 'lisp/subr.el' --- lisp/subr.el 2013-10-30 02:14:16 +0000 +++ lisp/subr.el 2013-11-02 09:48:11 +0000 @@ -4478,11 +4478,12 @@ (defconst version-regexp-alist - '(("^[-_+ ]?alpha$" . -3) - ("^[-_+]$" . -3) ; treat "1.2.3-20050920" and "1.2-3" as alpha releases - ("^[-_+ ]cvs$" . -3) ; treat "1.2.3-CVS" as alpha release - ("^[-_+ ]?beta$" . -2) - ("^[-_+ ]?\\(pre\\|rcc\\)$" . -1)) + '(("^[-_+ ]?snapshot$" . -4) + ("^[-_+]$" . -4) ; treat "1.2.3-20050920" and "1.2-3" as snapshot releases + ("^[-_+ ]?\\(cvs\\|git\\|bzr\\)$" . -4) ; treat "1.2.3-CVS" as snapshot release + ("^[-_+ ]?alpha$" . -3) + ("^[-_+ ]?beta$" . -2) + ("^[-_+ ]?\\(pre\\|rcc\\)$" . -1)) "Specify association between non-numeric version and its priority. This association is used to handle version string like \"1.0pre2\", @@ -4490,6 +4491,8 @@ non-numeric part of a version string to an integer. For example: String Version Integer List Version + \"0.9snapshot\" (0 9 -4) + \"1.0-git\" (1 0 -4) \"1.0pre2\" (1 0 -1 2) \"1.0PRE2\" (1 0 -1 2) \"22.8beta3\" (22 8 -2 3) @@ -4546,6 +4549,8 @@ \"0.9alpha1\" (0 9 -3 1) \"0.9AlphA1\" (0 9 -3 1) \"0.9alpha\" (0 9 -3) + \"0.9snapshot\" (0 9 -4) + \"1.0-git\" (1 0 -4) See documentation for `version-separator' and `version-regexp-alist'." (or (and (stringp ver) (> (length ver) 0)) ------------------------------------------------------------ revno: 114902 fixes bug: http://debbugs.gnu.org/15788 committer: Jan D. branch nick: trunk timestamp: Sat 2013-11-02 08:58:54 +0100 message: * xfaces.c (check_lface_attrs, realize_default_face): Add LFACE_DISTANT_FOREGROUND_INDEX. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-02 02:11:37 +0000 +++ src/ChangeLog 2013-11-02 07:58:54 +0000 @@ -1,3 +1,8 @@ +2013-11-02 Jan Djärv + + * xfaces.c (check_lface_attrs, realize_default_face): Add + LFACE_DISTANT_FOREGROUND_INDEX (Bug#15788). + 2013-11-02 Paul Eggert * emacs.c (original_pwd): Remove global var by making it local. === modified file 'src/xfaces.c' --- src/xfaces.c 2013-11-01 15:47:10 +0000 +++ src/xfaces.c 2013-11-02 07:58:54 +0000 @@ -1805,6 +1805,9 @@ eassert (UNSPECIFIEDP (attrs[LFACE_FOREGROUND_INDEX]) || IGNORE_DEFFACE_P (attrs[LFACE_FOREGROUND_INDEX]) || STRINGP (attrs[LFACE_FOREGROUND_INDEX])); + eassert (UNSPECIFIEDP (attrs[LFACE_DISTANT_FOREGROUND_INDEX]) + || IGNORE_DEFFACE_P (attrs[LFACE_DISTANT_FOREGROUND_INDEX]) + || STRINGP (attrs[LFACE_DISTANT_FOREGROUND_INDEX])); eassert (UNSPECIFIEDP (attrs[LFACE_BACKGROUND_INDEX]) || IGNORE_DEFFACE_P (attrs[LFACE_BACKGROUND_INDEX]) || STRINGP (attrs[LFACE_BACKGROUND_INDEX])); @@ -5352,6 +5355,9 @@ emacs_abort (); } + if (UNSPECIFIEDP (LFACE_DISTANT_FOREGROUND (lface))) + ASET (lface, LFACE_DISTANT_FOREGROUND_INDEX, Qnil); + if (UNSPECIFIEDP (LFACE_BACKGROUND (lface))) { /* This function is called so early that colors are not yet