From a822acffe2a370ed1726db92aad64b5287582a73 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 7 Jun 2013 12:26:02 +0300 Subject: [PATCH] Fix "make TAGS" on MS-Windows. lisp/Makefile.in (TAGS TAGS-LISP): Pass the (long) list of *.el files through xargs, to avoid failure due to MS-Windows limitations on command-line length. src/Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files. (ctagsfiles3): New variable, includes only *.m files. (TAGS): Use an explicit language name in the regular expressions, to avoid transformation of '/SOMETHING' by MSYS to 'c:\MSYS\SOMETHING'. --- lisp/ChangeLog | 6 ++++++ lisp/Makefile.in | 5 +++-- src/ChangeLog | 8 ++++++++ src/Makefile.in | 11 +++++++---- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 898bf2615fa..50e4647b438 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2013-06-07 Eli Zaretskii + + * Makefile.in (TAGS TAGS-LISP): Pass the (long) list of *.el files + through xargs, to avoid failure due to MS-Windows limitations on + command-line length. + 2013-06-06 Glenn Morris * font-lock.el (lisp-font-lock-keywords-2): diff --git a/lisp/Makefile.in b/lisp/Makefile.in index 4884213daeb..61449b66c9b 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -209,8 +209,9 @@ update-authors: $(emacs) -l authors -f batch-update-authors $(top_srcdir)/etc/AUTHORS $(top_srcdir) TAGS TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) - els=`echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \ - ${ETAGS} -o $@ $$els + rm -f $@; touch $@; \ + echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,," | \ + 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 diff --git a/src/ChangeLog b/src/ChangeLog index c104b23c75e..646f1d43f43 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2013-06-07 Eli Zaretskii + + * Makefile.in (ctagsfiles1, ctagsfiles2): Don't include *.m files. + (ctagsfiles3): New variable, includes only *.m files. + (TAGS): Use an explicit language name in the regular expressions, + to avoid transformation of '/SOMETHING' by MSYS to + 'c:\MSYS\SOMETHING'. + 2013-06-07 Richard Copley (tiny change) * epaths.in: Fix commentary to PATH_SITELOADSEARCH. diff --git a/src/Makefile.in b/src/Makefile.in index 9d7857e4ca2..90083eb910f 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -588,13 +588,16 @@ extraclean: distclean ## Arrange to make a tags table TAGS-LISP for ../lisp, ## plus TAGS for the C files, which includes ../lisp/TAGS by reference. -ctagsfiles1 = [xyzXYZ]*.[hcm] -ctagsfiles2 = [a-wA-W]*.[hcm] +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 \ - --regex='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ - $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE) + --regex='{c}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ + $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2) $(S_FILE) \ + --regex='{objc}/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \ + $(srcdir)/$(ctagsfiles3) frc: TAGS-LISP: frc $(MAKE) -f $(lispdir)/Makefile TAGS-LISP ETAGS=../lib-src/etags -- 2.39.5