Subject: bug#587: 23.0.60; To source or not to source (from help)

From: "Lennart Borgman (gmail)" <[email-masked]>
Date: Fri, 08 Aug 2008 14:20:00 +0200

martin rudalics wrote:
>  > I use the normal
>  >
>  >   make install INSTALL_DIR=...
> 
> I never use that.  Are the ".el" files copied as well in that case?
> 
>  >> 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.
> 
> Did you verify it?

I did not look at the details again since I did not have time to fix 
this. I notice that C-h v takes me to the Emacs install tree I am using 
and C-h f takes me to the CVS checkout tree where I compiled Emacs.

>  >> 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?
> 
> We'd have to do something similar for definitions in the C-sources too.
> Do I suppose correctly that the C-sources are not copied automatically
> when you explicitly specify the install directory?  I'm too lazy to look
> into this ...

I have seen no problems with the C sources. I always get to the CVS 
checkout tree from C-h v,f.

I did not even know they could be copied when you do make install. How 
do you do that?