You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
But if you do C-M-x on the defun, you will get location info.
Also, if you eval-buffertwice, you'll also get location info. So presumably it's the eval-after-load that doesn't bother with carrying around location, which makes sense.
Weird thing: If I remove the :defer t, I don't get location info from helpful, but when I afterwards try plain C-h f, it shows the location, and then doing helpful-function after that shows the location.
The text was updated successfully, but these errors were encountered:
OK, so I think this is due to load-history. We call find-function-noselect, which calls find-function-library and that inspects load-history with symbol-file.
When you run eval-buffer on a file foo.el, load-history will contain:
However, it looks like load-history is only updated once eval-buffer is finished. Since you're running helpful-function in the same file, eval-buffer isn't finished and load-history doesn't contain foo.el.
M-x eval-buffer and then M-x helpful-function my-foo shows the position as expected.
That solves the example you've given, but I imagine you're not actually running helpful-function from the same file as you've written use-package. How did you originally encounter this issue?
Well, another way to make it happen is to C-M-x one statement at a time in the buffer. Then my-foo defined inside the use-package will not have a location, while if it's defined outside use-package it'll have a location. I think that may be how I originally encountered it, writing use-package statements and doing C-M-x on them (though I have a feeling I've seen it too often for that to be the only situation).
(originally at https://www.reddit.com/r/emacs/comments/6x2pnx/helpful_adding_contextual_help_to_emacs/dmddom3/ )
I'm not sure if this is a bug or just something that's impossible to do, but there's no location info on
my-foo
when you doemacs -Q
andeval-buffer
on the below file:But if you do C-M-x on the defun, you will get location info.
Also, if you
eval-buffer
twice, you'll also get location info. So presumably it's theeval-after-load
that doesn't bother with carrying around location, which makes sense.Weird thing: If I remove the
:defer t
, I don't get location info from helpful, but when I afterwards try plain C-h f, it shows the location, and then doing helpful-function after that shows the location.The text was updated successfully, but these errors were encountered: