Mercurial > hg > xemacs-beta
diff lisp/loadup.el @ 5206:39d74978fd32
Keep around file info for dumped functions and variables without docstrings.
src/ChangeLog addition:
2010-04-17 Aidan Kehoe <kehoea@parhasard.net>
* doc.c (Fdocumentation):
If we have a zero length doc string in DOC, as may happen for
undocumented compiled function objects which nonetheless have file
information stored, return nil.
(Fsnarf_documentation):
DOC info existing for compiled functions without docstrings is
perfectly legitimate, now the file is also used to store file names.
* bytecode.c (set_compiled_function_documentation):
Allow this function to set the documentation successfully for
compiled function objects that don't currently have documentation;
most relevant for functions without docstrings which have file
information stored in DOC.
lib-src/ChangeLog addition:
2010-04-17 Aidan Kehoe <kehoea@parhasard.net>
* make-docfile.c (scan_lisp_file):
Even if a function doesn't have a doc string, store its file name
in DOC.
lisp/ChangeLog addition:
2010-04-17 Aidan Kehoe <kehoea@parhasard.net>
* loadup.el (load-history): Be a bit more discriminate in the
entries we remove from load-history, only removing those where the
information is entirely available from DOC.
Fixes problems finding the files that dumped undocumented
variables were loaded from, reported by Didier Verna.
* loadhist.el (symbol-file): Correct a regexp here, I had
forgotten to double a backslash.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 17 Apr 2010 10:40:03 +0100 |
parents | bedf3747a6d7 |
children | 5efbd1253905 |
line wrap: on
line diff
--- a/lisp/loadup.el Thu Apr 15 20:14:08 2010 -0500 +++ b/lisp/loadup.el Sat Apr 17 10:40:03 2010 +0100 @@ -220,10 +220,22 @@ (load "site-init" t)) ;; Add information from this file to the load history. Delete information -;; for those files in preloaded-file-list; the symbol file information can -;; be taken from DOC, and #'unload-feature makes very little sense for -;; dumped functionality. -(setq load-history (cons (nreverse current-load-list) (last load-history)) +;; that is available from DOC for those files in preloaded-file-list; in +;; practice, this boils down to #'provide and #'require calls, and variables +;; without documentation. Yes, this is a bit ugly. +(setq load-history (cons (nreverse current-load-list) + (delete* + nil + (mapc #'(lambda (element) + (remassq 'defun element) + (delete-if + #'(lambda (elt) + (and + (symbolp elt) + (get elt 'variable-documentation))) + element)) + load-history) + :key #'cdr)) ;; Clear current-load-list; this (and adding information to ;; load-history) is normally done in lread.c after reading the ;; entirety of a file, something which never happens for loadup.el.