Mercurial > hg > xemacs-beta
comparison 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 |
comparison
equal
deleted
inserted
replaced
5205:fcdb86afcb91 | 5206:39d74978fd32 |
---|---|
218 ;; See also "site-load" above. | 218 ;; See also "site-load" above. |
219 (when (stringp site-start-file) | 219 (when (stringp site-start-file) |
220 (load "site-init" t)) | 220 (load "site-init" t)) |
221 | 221 |
222 ;; Add information from this file to the load history. Delete information | 222 ;; Add information from this file to the load history. Delete information |
223 ;; for those files in preloaded-file-list; the symbol file information can | 223 ;; that is available from DOC for those files in preloaded-file-list; in |
224 ;; be taken from DOC, and #'unload-feature makes very little sense for | 224 ;; practice, this boils down to #'provide and #'require calls, and variables |
225 ;; dumped functionality. | 225 ;; without documentation. Yes, this is a bit ugly. |
226 (setq load-history (cons (nreverse current-load-list) (last load-history)) | 226 (setq load-history (cons (nreverse current-load-list) |
227 (delete* | |
228 nil | |
229 (mapc #'(lambda (element) | |
230 (remassq 'defun element) | |
231 (delete-if | |
232 #'(lambda (elt) | |
233 (and | |
234 (symbolp elt) | |
235 (get elt 'variable-documentation))) | |
236 element)) | |
237 load-history) | |
238 :key #'cdr)) | |
227 ;; Clear current-load-list; this (and adding information to | 239 ;; Clear current-load-list; this (and adding information to |
228 ;; load-history) is normally done in lread.c after reading the | 240 ;; load-history) is normally done in lread.c after reading the |
229 ;; entirety of a file, something which never happens for loadup.el. | 241 ;; entirety of a file, something which never happens for loadup.el. |
230 current-load-list nil) | 242 current-load-list nil) |
231 ;; Make the path to this file look a little nicer: | 243 ;; Make the path to this file look a little nicer: |