emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] fix/great-revert-bill d53c45a 4/5: Revert "Replace ldefs-b


From: Phillip Lord
Subject: [Emacs-diffs] fix/great-revert-bill d53c45a 4/5: Revert "Replace ldefs-boot with a much smaller file"
Date: Mon, 6 Mar 2017 10:31:44 -0500 (EST)

branch: fix/great-revert-bill
commit d53c45aaefc65f362b44999803860c224de19648
Author: Phillip Lord <address@hidden>
Commit: Phillip Lord <address@hidden>

    Revert "Replace ldefs-boot with a much smaller file"
    
    This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
---
 Makefile.in              | 19 +------------------
 admin/gitmerge.el        |  2 +-
 admin/make-tarball.txt   |  4 +++-
 admin/notes/copyright    |  6 +++---
 admin/update_autogen     | 19 +++++++++----------
 lisp/Makefile.in         |  6 +++---
 lisp/cus-dep.el          |  2 +-
 lisp/emacs-lisp/elint.el |  2 +-
 lisp/finder.el           |  4 ++--
 lisp/loadup.el           | 24 +++++++++++-------------
 msdos/mainmake.v2        |  2 +-
 src/Makefile.in          |  4 ----
 src/emacs.c              |  7 +------
 src/eval.c               | 22 ----------------------
 src/lisp.h               |  2 --
 15 files changed, 37 insertions(+), 88 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 2cc41fe..82fb91f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1120,9 +1120,7 @@ check-info: info
 #  * Run autogen.sh.
 #  * Rebuild Makefile, to update the build procedure itself.
 #  * Do the actual build.
-bootstrap: | bootstrap-clean bootstrap-build
-
-bootstrap-build:
+bootstrap: bootstrap-clean
        cd $(srcdir) && ./autogen.sh
        $(MAKE) MAKEFILE_NAME=force-Makefile force-Makefile
        $(MAKE) all
@@ -1185,18 +1183,3 @@ check-declare:
          exit 1; \
        fi
        $(MAKE) -C lisp $@
-
-## Generating ldefs-boot-auto.el requires a completely clean build so
-## that we can see which autoloads are actually called.  The build has
-## to complete because we use Emacs to clean the results up!  We use
-## loaddefs.el in place of ldefs-boot-auto, because if we are running
-## this there is the possibility that ldefs-boot-auto is not
-## sufficient for bootstrap.
-generate-ldefs-boot: all
-       echo "Generating Bootstrap ldefs"
-       cp lisp/loaddefs.el lisp/ldefs-boot-auto.el
-       $(MAKE) -j 1 bootstrap \
-       GENERATE_LDEFS_BOOT="generate-ldefs-boot" \
-       2>&1 | tee lisp/ldefs-boot-auto.temp
-       $(EMACS) -batch --load admin/ldefs-clean.el --funcall ldefs-clean
-       rm lisp/ldefs-boot-auto.temp
diff --git a/admin/gitmerge.el b/admin/gitmerge.el
index 00c20ba..c3981dd 100644
--- a/admin/gitmerge.el
+++ b/admin/gitmerge.el
@@ -292,7 +292,7 @@ Returns non-nil if conflicts remain."
             ))
           ;; Try to resolve the conflicts.
           (cond
-           ((member file '("configure" "lisp/ldefs-boot-auto.el"
+           ((member file '("configure" "lisp/ldefs-boot.el"
                            "lisp/emacs-lisp/cl-loaddefs.el"))
             ;; We are in the file's buffer, so names are relative.
             (call-process "git" nil t nil "checkout" "--"
diff --git a/admin/make-tarball.txt b/admin/make-tarball.txt
index 369d169..77486cc 100644
--- a/admin/make-tarball.txt
+++ b/admin/make-tarball.txt
@@ -84,7 +84,9 @@ General steps (for each step, check for possible errors):
      make -C etc/refcards
      make -C etc/refcards clean
 
-5.  Commit ChangeLog.N, etc/AUTHORS, lisp/ldefs-boot.el, and the
+5.  Copy lisp/loaddefs.el to lisp/ldefs-boot.el.
+
+    Commit ChangeLog.N, etc/AUTHORS, lisp/ldefs-boot.el, and the
     files changed by M-x set-version.
 
     If someone else made a commit between step 1 and now,
diff --git a/admin/notes/copyright b/admin/notes/copyright
index bc427d6..16144fb 100644
--- a/admin/notes/copyright
+++ b/admin/notes/copyright
@@ -45,9 +45,9 @@ available.
 
 The definition of triviality is a little vague, but a rule of thumb is
 that any file with less than 15 lines of actual content is trivial. If
-a file is auto-generated from another one in the repository, then it
-does not really matter about adding a copyright statement to the
-generated file.
+a file is auto-generated (eg ldefs-boot.el) from another one in the
+repository, then it does not really matter about adding a copyright
+statement to the generated file.
 
 Legal advice says that we could, if we wished, put a license notice
 even in trivial files, because copyright law in general looks at the
diff --git a/admin/update_autogen b/admin/update_autogen
index 32dfbec..91889b6 100755
--- a/admin/update_autogen
+++ b/admin/update_autogen
@@ -92,7 +92,7 @@ changelog_flag=
 
 ## Parameters.
 ldefs_in=lisp/loaddefs.el
-ldefs_boot=lisp/ldefs-boot.el
+ldefs_out=lisp/ldefs-boot.el
 changelog_n=$(sed -n 's/CHANGELOG_HISTORY_INDEX_MAX *= *//p' Makefile.in)
 changelog_files="ChangeLog.$changelog_n"
 sources="configure.ac lib/Makefile.am"
@@ -370,12 +370,19 @@ echo "Running lisp/ make..."
 
 make -C lisp "$@" autoloads EMACS=../src/bootstrap-emacs || die "make src 
error"
 
+
+## Ignore comment differences.
+[ ! "$lboot_flag" ] || \
+    diff -q -I '^;' $ldefs_in $ldefs_out || \
+    cp $ldefs_in $ldefs_out || die "cp ldefs_boot error"
+
+
 echo "Checking status of loaddef files..."
 
 ## It probably would be fine to just check+commit lisp/, since
 ## making autoloads should not effect any other files.  But better
 ## safe than sorry.
-modified=$(status $genfiles) || die
+modified=$(status $genfiles $ldefs_out) || die
 
 
 commit "loaddefs" $modified || die "commit error"
@@ -389,14 +396,6 @@ commit "loaddefs" $modified || die "commit error"
 }
 
 
-
-## Regenerate ldefs-boot if we are told to
-[ ! "$lboot_flag" ] || {
-   make generate-ldefs-boot || die
-   modified=$(status $ldefs_boot) || die
-   commit $ldefs_boot $modified || die "commit error"
-}
-
 exit 0
 
 ### update_autogen ends here
diff --git a/lisp/Makefile.in b/lisp/Makefile.in
index 91b0354..cbe7718 100644
--- a/lisp/Makefile.in
+++ b/lisp/Makefile.in
@@ -230,7 +230,7 @@ FORCE:
 
 tagsfiles = $(shell find ${srcdir} -name '*.el')
 tagsfiles := $(filter-out ${srcdir}/%loaddefs.el,${tagsfiles})
-tagsfiles := $(filter-out ${srcdir}/ldefs-boot%.el,${tagsfiles})
+tagsfiles := $(filter-out ${srcdir}/ldefs-boot.el,${tagsfiles})
 tagsfiles := $(filter-out ${srcdir}/eshell/esh-groups.el,${tagsfiles})
 
 ETAGS = ../lib-src/etags${EXEEXT}
@@ -283,7 +283,7 @@ $(THEFILE)c:
 
 .PHONY: compile-first compile-main compile compile-always
 
-compile-first: loaddefs.el $(COMPILE_FIRST)
+compile-first: $(COMPILE_FIRST)
 
 # In 'compile-main' we could directly do
 #    ... | xargs $(MAKE)
@@ -450,7 +450,7 @@ check-declare:
 check-defun-dups:
        sed -n -e '/^(defun /s/\(.\)(.*/\1/p' \
          $$(find . -name '*.el' -print | \
-         grep -Ev '(loaddefs|ldefs-boot*)\.el') | sort | uniq -d
+         grep -Ev '(loaddefs|ldefs-boot)\.el') | sort | uniq -d
 
 # Dependencies
 
diff --git a/lisp/cus-dep.el b/lisp/cus-dep.el
index 641bf4f..ecdda4e 100644
--- a/lisp/cus-dep.el
+++ b/lisp/cus-dep.el
@@ -33,7 +33,7 @@
 
 ;; See finder-no-scan-regexp in finder.el.
 (defvar custom-dependencies-no-scan-regexp "\\(^\\.#\\|\\(loaddefs\\|\
-ldefs-boot.*\\|cus-load\\|finder-inf\\|esh-groups\\|subdirs\\)\\.el$\\)"
+ldefs-boot\\|cus-load\\|finder-inf\\|esh-groups\\|subdirs\\)\\.el$\\)"
   "Regexp matching file names not to scan for `custom-make-dependencies'.")
 
 (require 'autoload)
diff --git a/lisp/emacs-lisp/elint.el b/lisp/emacs-lisp/elint.el
index a14bd0d..cce9553 100644
--- a/lisp/emacs-lisp/elint.el
+++ b/lisp/emacs-lisp/elint.el
@@ -105,7 +105,7 @@ are as follows, and suppress messages about the indicated 
features:
   :version "23.2"
   :group 'elint)
 
-(defcustom elint-directory-skip-re "\\(ldefs-boot.*\\|loaddefs\\)\\.el\\'"
+(defcustom elint-directory-skip-re "\\(ldefs-boot\\|loaddefs\\)\\.el\\'"
   "If nil, a regexp matching files to skip when linting a directory."
   :type '(choice (const :tag "Lint all files" nil)
                 (regexp :tag "Regexp to skip"))
diff --git a/lisp/finder.el b/lisp/finder.el
index 5b019b2..361572f 100644
--- a/lisp/finder.el
+++ b/lisp/finder.el
@@ -130,8 +130,8 @@ Keywords and package names both should be symbols.")
 ;; useful, and because in parallel builds of Emacs they may get
 ;; modified while we are trying to read them.
 ;; http://lists.gnu.org/archive/html/emacs-pretest-bug/2007-01/msg00469.html
-;; ldefs-boot-* are not auto-generated during build, but has nothing useful.
-(defvar finder-no-scan-regexp "\\(^\\.#\\|\\(loaddefs\\|ldefs-boot-.*\\|\
+;; ldefs-boot is not auto-generated, but has nothing useful.
+(defvar finder-no-scan-regexp "\\(^\\.#\\|\\(loaddefs\\|ldefs-boot\\|\
 cus-load\\|finder-inf\\|esh-groups\\|subdirs\\|leim-list\\)\\.el$\\)"
   "Regexp matching file names not to scan for keywords.")
 
diff --git a/lisp/loadup.el b/lisp/loadup.el
index 8780ea6..651bd0b 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -143,21 +143,19 @@
 (load "button")
 
 ;; We don't want to store loaddefs.el in the repository because it is
-;; a generated file; but it is required in order to compile the lisp
-;; files.  When bootstrapping, we cannot generate loaddefs.el until an
-;; emacs binary has been built.  We therefore support the build with
-;; two files, ldefs-boot-manual.el and ldefs-boot-auto.el, which
-;; contain the autoloads that are actually called during bootstrap.
-;; These do not need to be updated as often as the real loaddefs.el
-;; would.  Bootstrap should always work with ldefs-boot-manual.el.
-;; Therefore, Whenever a new autoload cookie gets added that is
-;; necessary during bootstrapping, ldefs-boot-auto.el should be
-;; updated using the "generate-ldefs-boot" make target.
-;; autogen/update_autogen can be used to periodically update
-;; ldefs-boot.
+;; a generated file; but it is required in order to compile the lisp files.
+;; When bootstrapping, we cannot generate loaddefs.el until an
+;; emacs binary has been built.  We therefore compromise and keep
+;; ldefs-boot.el in the repository.  This does not need to be updated
+;; as often as the real loaddefs.el would.  Bootstrap should always
+;; work with ldefs-boot.el.  Therefore, Whenever a new autoload cookie
+;; gets added that is necessary during bootstrapping, ldefs-boot.el
+;; should be updated by overwriting it with an up-to-date copy of
+;; loaddefs.el that is uncorrupted by local changes.
+;; autogen/update_autogen can be used to periodically update ldefs-boot.
 (condition-case nil (load "loaddefs.el")
   ;; In case loaddefs hasn't been generated yet.
-  (file-error (load "ldefs-boot-manual.el")))
+  (file-error (load "ldefs-boot.el")))
 
 (let ((new (make-hash-table :test 'equal)))
   ;; Now that loaddefs has populated definition-prefixes, purify its contents.
diff --git a/msdos/mainmake.v2 b/msdos/mainmake.v2
index ab9cfa3..dc2b0b6 100644
--- a/msdos/mainmake.v2
+++ b/msdos/mainmake.v2
@@ -156,7 +156,7 @@ TAGS tags:  lib-src FRC
        cd lib-src
        if exist etags.exe mv -f etags.exe ../bin
        cd ..
-       - find $(CURDIR)/lisp -iname "*.el" -a -! -( -iname "*loaddefs.el" -o 
-iname "ldefs-boot-auto.el" -) | ./bin/etags -o lisp/TAGS -
+       - find $(CURDIR)/lisp -iname "*.el" -a -! -( -iname "*loaddefs.el" -o 
-iname "ldefs-boot.el" -) | ./bin/etags -o lisp/TAGS -
        cd $(CURDIR)
        cd src
        ../bin/etags --include=../lisp/TAGS \
diff --git a/src/Makefile.in b/src/Makefile.in
index ab31983..1bc9a76 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -761,10 +761,6 @@ endif
        @: Compile some files earlier to speed up further compilation.
        $(MAKE) -C ../lisp compile-first EMACS="$(bootstrap_exe)"
 
-
-generate-ldefs-boot: bootstrap-emacs$(EXEEXT)
-       $(RUN_TEMACS) --batch $(BUILD_DETAILS) --load loadup bootstrap
-
 ifeq ($(AUTO_DEPEND),yes)
 -include $(ALLOBJS:%.o=${DEPDIR}/%.d)
 else
diff --git a/src/emacs.c b/src/emacs.c
index a72f181..1868961 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -129,8 +129,6 @@ Lisp_Object Vlibrary_cache;
    on subsequent starts.  */
 bool initialized;
 
-bool generating_ldefs_boot;
-
 #ifndef CANNOT_DUMP
 /* Set to true if this instance of Emacs might dump.  */
 # ifndef DOUG_LEA_MALLOC
@@ -686,10 +684,7 @@ main (int argc, char **argv)
   stack_bottom = &stack_bottom_variable;
 
   dumping = !initialized && (strcmp (argv[argc - 1], "dump") == 0
-                            || strcmp (argv[argc - 1], "bootstrap") == 0 );
-
-  generating_ldefs_boot = !!getenv ("GENERATE_LDEFS_BOOT");
-
+                            || strcmp (argv[argc - 1], "bootstrap") == 0);
 
   /* True if address randomization interferes with memory allocation.  */
 # ifdef __PPC64__
diff --git a/src/eval.c b/src/eval.c
index 9b36ee0..16d1cf8 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1976,28 +1976,6 @@ it defines a macro.  */)
   if (!CONSP (fundef) || !EQ (Qautoload, XCAR (fundef)))
     return fundef;
 
-  /* In the special case that we are generating ldefs-boot-auto.el,
-     then be noisy about the autoload. */
-  if( generating_ldefs_boot )
-    {
-      fprintf(stderr, "(autoload '");
-      Fprin1(funname,Qexternal_debugging_output);
-      fprintf(stderr, " ");
-      Fprin1(Fcar (Fcdr (fundef)),Qexternal_debugging_output);
-      fprintf(stderr, " nil nil ");
-
-      Lisp_Object kind = Fnth (make_number (4), fundef);
-      if (! (EQ (kind, Qt) || EQ (kind, Qmacro)))
-        {
-          fprintf(stderr, "nil");
-        }
-      else
-        {
-          fprintf(stderr, "t");
-        }
-      fprintf(stderr, ")\n");
-    }
-
   if (EQ (macro_only, Qmacro))
     {
       Lisp_Object kind = Fnth (make_number (4), fundef);
diff --git a/src/lisp.h b/src/lisp.h
index 6d0b528..5cbb461 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -580,8 +580,6 @@ extern bool might_dump;
    Used during startup to detect startup of dumped Emacs.  */
 extern bool initialized;
 
-extern bool generating_ldefs_boot;
-
 /* Defined in floatfns.c.  */
 extern double extract_float (Lisp_Object);
 



reply via email to

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