You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/app-editors/xemacs/files/xemacs-21.5.34-module-autol...

116 lines
4.9 KiB

diff -u b/lisp/update-elc-2.el b/lisp/update-elc-2.el
--- b/lisp/update-elc-2.el Mon Jun 27 22:14:53 2022 +0900
+++ b/lisp/update-elc-2.el Thu Jun 30 16:36:19 2022 +0100
@@ -144,12 +144,12 @@
(load (expand-file-name "auto-autoloads" lisp-directory))
(when (featurep 'mule)
(load (expand-file-name "mule/auto-autoloads" lisp-directory)))
+ (when (featurep 'modules)
+ (load (expand-file-name "auto-autoloads" module-directory)))
;; We remove all the bad .elcs before any byte-compilation, because
;; there may be dependencies between one .el and another (even across
;; directories), and we don't want to load an out-of-date .elc while
;; byte-compiling a file.
- (when (featurep 'modules)
- (load (expand-file-name "auto-autoloads" module-directory)))
(message "Removing old or spurious .elcs in directory tree `%s'..." dir)
(do-update-elc-2 dir nil nil)
(message "Removing old or spurious .elcs in directory tree `%s'...done"
unchanged:
--- a/src/Makefile.in.in Mon Jun 27 13:31:39 2022 +0100
+++ b/src/Makefile.in.in Mon Jun 27 22:14:53 2022 +0900
@@ -95,7 +95,12 @@
SHELL=/bin/sh
RM = rm -f
-LISP = $(SRC)/../lisp
+## Earlier versions had $(SRC)/../lisp here, but currently ../lisp is a
+## link to $(SRC)/../lisp in out-of-source builds. $(SRC)/../lisp breaks
+## the modules build because the autoloads end up in $(SRCMODULES), but
+## update-elc-2.el looks for them in $(BLDMODULES).
+LISP = ../lisp
+
ETC = $(SRC)/../etc
SRCMODULES = $(SRC)/../modules
LIB_SRC = ../lib-src
@@ -944,10 +949,14 @@
-$(RM) $(RAW_EXE) $(DUMP_TARGET) $(DUMP_TARGET).dmp $(LIB_SRC)/DOC
## Remove the generated load files here; they cause lots of problems
## when they don't work right.
+## Some older versions tried to put module load files in the SRC tree,
+## but that breaks module builds, which expect them in the BLD tree,
+## and that's where they belong anyway. Clean both.
clean: mostlyclean versionclean
-$(RM) libextcli* $(LISP)/auto-autoloads.el* $(LISP)/custom-load.el* \
$(LISP)/mule/auto-autoloads.el* $(LISP)/mule/custom-load.el* \
- $(SRCMODULES)/auto-autoloads.el* $(SRCMODULES)/custom-load.el*
+ $(SRCMODULES)/auto-autoloads.el* $(SRCMODULES)/custom-load.el* \
+ $(BLDMODULES)/auto-autoloads.el* $(BLDMODULES)/custom-load.el*
## This is used in making a distribution.
## Do not use it on development directories!
distclean-noconfig: clean
only in patch2:
unchanged:
--- a/lisp/update-elc.el
+++ b/lisp/update-elc.el
@@ -87,8 +87,8 @@
(defvar source-lisp-mule (expand-file-name "mule" source-lisp))
(defvar source-directory (expand-file-name ".." source-lisp))
-(defconst module-directory (expand-file-name "modules" source-directory))
-
+(defvar source-modules (expand-file-name "../modules" (file-truename source-lisp)))
+(defconst module-directory (expand-file-name "modules" build-directory))
(defvar aa-lisp (expand-file-name "auto-autoloads.el" source-lisp))
(defvar aac-lisp (expand-file-name "auto-autoloads.elc" source-lisp))
(defvar aa-lisp-mule (expand-file-name "auto-autoloads.el" source-lisp-mule))
@@ -280,15 +280,13 @@ If any of these files are changed, we need to redump.")
;; Check for the module autoloads separately, given the need to run
;; directory-files on subdirectories.
- (let ((autoload-file
- (expand-file-name "auto-autoloads.el" module-directory)))
- (mapc
- #'(lambda (full-dir)
- (mapc #'(lambda (full-arg)
- (when (file-newer-than-file-p full-arg autoload-file)
- (setq need-to-rebuild-module-autoloads t)))
- (directory-files full-dir t "\\.c$" nil t)))
- (directory-files module-directory t nil t 'subdirs)))
+ (mapc
+ #'(lambda (full-dir)
+ (mapc #'(lambda (full-arg)
+ (when (file-newer-than-file-p full-arg aa-modules)
+ (setq need-to-rebuild-module-autoloads t)))
+ (directory-files full-dir t "\\.c$" nil t)))
+ (directory-files source-modules t nil t 'subdirs))
(if dump-target-out-of-date-wrt-dump-files
(condition-case nil
@@ -346,9 +344,22 @@ If any of these files are changed, we need to redump.")
(if need-to-rebuild-mule-autoloads
(list "-f" "batch-update-directory-autoloads"
"mule" source-lisp-mule))
- (if need-to-rebuild-module-autoloads
- (list "-f" "batch-update-directory-autoloads"
- "auto" module-directory))
+ (if need-to-rebuild-module-autoloads
+ (list "-eval"
+ (concat
+ "(update-autoload-files '("
+ (mapconcat #'prin1-to-string
+ (mapcan
+ #'(lambda (full-dir)
+ (unless (member*
+ (file-name-nondirectory full-dir)
+ '("." "..") :test #'equal)
+ (directory-files full-dir
+ t "\\.c$" nil t)))
+ (directory-files source-modules
+ t nil t 'subdirs))
+ " ")
+ ") \"modules\" " (prin1-to-string aa-modules) ")")))
(if need-to-recompile-autoloads
(list "-f" "batch-byte-compile-one-file"
aa-lisp))