When I upgrade packages in the M-x list-packages
menu, the docstrings and locations of the function definitions are invalid so that describe-function
gives an error and find-function
does not jump to the correct file. For example, running M-x describe-function
on slime yields a help buffer that shows the following:
slime is an interactive compiled Lisp function.
(slime &optional ARG1 ARG2)
Cannot open doc string file "/home/user/.emacs.d/elpa/slime-20150501.137/slime.elc"
[back]
Running M-x find-function
on slime yields the following (I have debug-on-error set to t):
Debugger entered--Lisp error: (error "Can't find library /home/user/.emacs.d/elpa/slime-20150501.137/slime.el")
signal(error ("Can't find library /home/user/.emacs.d/elpa/slime-20150501.137/slime.el"))
error("Can't find library %s" "/home/user/.emacs.d/elpa/slime-20150501.137/slime.el")
find-library-name("/home/user/.emacs.d/elpa/slime-20150501.137/slime.el")
find-function-search-for-symbol(slime nil "/home/user/.emacs.d/elpa/slime-20150501.137/slime.elc")
find-function-noselect(slime)
find-definition-noselect(slime nil)
find-function-do-it(slime nil switch-to-buffer)
find-function(slime)
call-interactively(find-function nil nil)
command-execute(find-function)
Is there a way to fix this that doesn't require restarting Emacs?