Commit 448a0170 authored by Miles Bader's avatar Miles Bader
Browse files

(symbol-file-load-history-loaded)

(load-symbol-file-load-history, symbol-file): Moved from `help.el'.
parent 14a3dff7
......@@ -797,6 +797,45 @@ other hooks, such as major mode hooks, can do the job."
(if append
(append (symbol-value list-var) (list element))
(cons element (symbol-value list-var))))))
;;; Load history
(defvar symbol-file-load-history-loaded nil
"Non-nil means we have loaded the file `fns-VERSION.el' in `exec-directory'.
That file records the part of `load-history' for preloaded files,
which is cleared out before dumping to make Emacs smaller.")
(defun load-symbol-file-load-history ()
"Load the file `fns-VERSION.el' in `exec-directory' if not already done.
That file records the part of `load-history' for preloaded files,
which is cleared out before dumping to make Emacs smaller."
(unless symbol-file-load-history-loaded
(load (expand-file-name
;; fns-XX.YY.ZZ.el does not work on DOS filesystem.
(if (eq system-type 'ms-dos)
"fns.el"
(format "fns-%s.el" emacs-version))
exec-directory)
;; The file name fns-%s.el already has a .el extension.
nil nil t)
(setq symbol-file-load-history-loaded t)))
(defun symbol-file (function)
"Return the input source from which FUNCTION was loaded.
The value is normally a string that was passed to `load':
either an absolute file name, or a library name
\(with no directory name and no `.el' or `.elc' at the end).
It can also be nil, if the definition is not associated with any file."
(load-symbol-file-load-history)
(let ((files load-history)
file functions)
(while files
(if (memq function (cdr (car files)))
(setq file (car (car files)) files nil))
(setq files (cdr files)))
file))
;;;; Specifying things to do after certain files are loaded.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment