]> git.eshelyaron.com Git - emacs.git/commit
Speed up generation of loaddefs files
authorLars Ingebrigtsen <larsi@gnus.org>
Tue, 31 May 2022 16:08:33 +0000 (18:08 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Tue, 31 May 2022 16:08:33 +0000 (18:08 +0200)
commit1d4e90341782030cc7d8c29c639450b079587908
treec617e270a4216a4729a97ecbfdfee34aa172121c
parent41a2def162ee95db6a9ca7e904bbd7feee5e3ccf
Speed up generation of loaddefs files

* doc/lispref/loading.texi (Autoload, Autoload by Prefix): Refer
to loaddefs-generate instead of update-file-autoloads.

* lisp/Makefile.in (LOADDEFS): Remove, because all the loaddefs
files are created in one go now.
(COMPILE_FIRST): Add loaddefs-gen/radix-tree, and drop autoload.
($(lisp)/loaddefs.el): Use loaddefs-gen.
(MH_E_DIR, $(TRAMP_DIR)/tramp-loaddefs.el)
($(MH_E_DIR)/mh-loaddefs.el, $(CAL_DIR)/cal-loaddefs.el)
($(CAL_DIR)/diary-loaddefs.el, $(CAL_DIR)/hol-loaddefs.el): Remove.

* lisp/generic-x.el: Inhibit computing prefixes, because the
namespace here is all wonky.

* lisp/w32-fns.el (w32-batch-update-autoloads): Removed -- unused
function.

* lisp/calendar/holidays.el ("holiday-loaddefs"): Renamed from
hol-loaddefs to have a more regular name.

* lisp/cedet/ede/proj-elisp.el (ede-emacs-cedet-autogen-compiler):
Refer to loaddefs-gen instead of autoload.

* lisp/emacs-lisp/autoload.el (make-autoload, autoload-rubric)
(autoload-insert-section-header): Made into aliases of
loaddefs-gen functions.
(autoload--make-defs-autoload): Ditto.
(autoload-ignored-definitions, autoload-compute-prefixes): Moved
to loaddefs-gen.

* lisp/emacs-lisp/lisp-mode.el (lisp-mode-autoload-regexp): New
constant.
(lisp-fdefs, lisp-mode-variables, lisp-outline-level): Use it to
recognize all ;;;###autoload forms.

* lisp/emacs-lisp/loaddefs-gen.el: New file.

* lisp/emacs-lisp/package.el: Use loaddefs-generate instead of
make-directory-autoloads.

* test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-faulty-bzr-autoloads):
Use loaddefs instead of autoloads.
13 files changed:
doc/lispref/loading.texi
etc/NEWS
lisp/Makefile.in
lisp/calendar/holidays.el
lisp/cedet/ede/proj-elisp.el
lisp/emacs-lisp/autoload.el
lisp/emacs-lisp/lisp-mode.el
lisp/emacs-lisp/loaddefs-gen.el [new file with mode: 0644]
lisp/emacs-lisp/package.el
lisp/generic-x.el
lisp/ldefs-boot.el
lisp/w32-fns.el
test/lisp/vc/vc-bzr-tests.el