[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);