martin rudalics wrote:
> If you do C-h v and look at a variable and click on the library link
in
> the help buffer you will go to the file in your current Emacs tree. If
> you do C-h f to look at a function and do the same you will be taken
to
> the cvs checkout file instead.
I suspect you compiled Emacs in the checkout directory and then copied
the Emacs tree to another directory.
I use the normal
make install INSTALL_DIR=...
In this case the following might
happen: As for C-h f `describe-function-1' will execute
;; See if lisp files are present where they where installed from.
(if (not (eq file-name 'C-source))
(setq file-name (find-source-lisp-file file-name)))
which sets `file-name' to the ".el" file from the checkout directory
(because you did compile it there) and installs the corresponding
reference in the hyperlink.
As for C-h v `describe-variable' does _not_ care whether you compiled in
another directory and simply goes to the file supplied by `symbol-file'.
You could try inserting the snipped above in `describe-variable'
immediately before the line
(if file-name
and see whether it now jumps to the checkout directory instead.
Yes, I guess that is correct.
Personally, I'd prefer something like the following in both cases:
(unless (or (eq file-name 'C-source)
(file-exists-p file-name))
(setq file-name (find-source-lisp-file file-name)))
Thanks martin. I think a variable (or an option) for which elisp to go to
would be the best. Is there any reason not to have that?