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

From: martin rudalics <[email-masked]>
Date: Fri, 08 Aug 2008 14:03:52 +0200

> 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?

 >> 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 ...

martin