Jens-Ulrik Petersen <petersen(a)kurims.kyoto-u.ac.jp> writes:
Actually it only does/did this for the recorded names of compiled
functions, but you're right and I will fix this in the next version.
The calls to (compiled-function-annotation symbol) need to be replaced
with (symbol-file symbol), or to be backwards compatible do an fboundp
test on `compiled-function-annotation' before calling it and using
`symbol-file' otherwise.
There will be a 20.5 (Vinnie is back! :-) so backwards compatibility
is definitely still a hot issue.
However in XEmacs-21-beta with all function definitions now recorded
in `load-history' the current version of that code is probably already
redundant?
I don't think so. You'll still need to strip extensions.
ME> (The real problem is that evaluating a defadvice form (via
ME> eval-expression or similar) for a compiled file changes the
ME> return value of (compiled-function-annotation def) to
ME> "loadup.el".)
It does?
Yes. As well anything evaluated in *scratch*, etc.
I am aware of problems of using `find-function' with adviced
functions. It is mentioned in the to-do list: however I don't
have a good solution for this. Again maybe this problem has also
been solved in XEmacs-21-beta by `load-history'?
Unfortunately, no. I advise `save-buffers-kill-emacs' in .emacs:
(symbol-file 'save-buffers-kill-emacs)
=> "~/.emacs"