]> git.eshelyaron.com Git - emacs.git/commit
Don't store docstrings of preloaded .el files in etc/DOC
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 31 Dec 2021 04:17:45 +0000 (23:17 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 31 Dec 2021 04:17:45 +0000 (23:17 -0500)
commit59732a83c8875c8986d2221600d559a24d8309cc
tree610c6c18c51aad2fd04f54074a59bdd3354cd53e
parent337005af0bf21244cabdc0b2a2c11d0095ecd0fa
Don't store docstrings of preloaded .el files in etc/DOC

Since the location of those files changes between build time and
installation time, this requires to tweak the file name used in those
(#$ . NNN) references during the dump so they don't hardcode the build
directory.  We do it in the same way as was already done for those
same file names in `load-history`, except we convert them back to
absolute file names more lazily (i.e. when fetching the actual
docstring rather than at startup), which requires remembering the
`lisp-dir` computed at startup in the new `lisp-directory` variable.

* src/Makefile.in ($(etc)/DOC): Don't scan Lisp files any more.

* src/lread.c (Fload): Use relative file names for `load-file-name`
when preloading for the dump, like we already did for `current-load-list`.
(read_list): Don't zero-out dynamic docstring references during the
preload since they won't be filled later by Snarf-documentation any more.
(read1): Remove the hash-hack for doc references that were zeroed.

* lisp/startup.el (lisp-directory): New variable.
(command-line): Set it.

* src/doc.c (get_doc_string): Use `lisp-directory` for dynamic
docstring references using relative file names.
(syms_of_doc): Add `Qlisp_directory`.

* lib-src/make-docfile.c (scan_file): Don't handle `.el` or `.elc`
files any more.
(IS_SLASH): Remove macro, not used any more.
(skip_white, read_lisp_symbol, search_lisp_doc_at_eol)
(scan_lisp_file): Remove functions, not used any more.

* doc/lispref/loading.texi (Library Search): Mention `lisp-directory`.
doc/lispref/loading.texi
etc/NEWS
lib-src/make-docfile.c
lisp/emacs-lisp/bytecomp.el
lisp/startup.el
src/Makefile.in
src/doc.c
src/lread.c