Subject: bug#37527: [PATCH] Install C source code for for debugging help

From: Paul Eggert <[email-masked]>
Date: Thu, 3 Oct 2019 14:50:01 -0700

On 10/3/19 6:38 AM, Michael Albinus wrote:
> +     (setq source-directory "/path/to/emacs-26.1")

On Fedora at least, the debug packages you mention do not contain all 
the Emacs source code; they contain only the source useful for C-level 
debugging. So the advice should recommend setting 
find-function-C-source-directory, not source-directory. For example, on 
Fedora 30 right now, one could put this this into ~/.config/init.el:

   (setq find-function-C-source-directory
         "/usr/src/debug/emacs-26.2-1.fc30.x86_64/src")

and you could give that as an example. Please also mention that one will 
need to change init.el each time Fedora issues bugfixes and updates the 
"-1", or comes out with a new release and updates the "fc30", and that 
if you share your home directory with some system running some other 
distro or a different Fedora release then you'll need to have 
more-complicated code in init.el.

It's possible that some distros ship all the Emacs source in their debug 
packages, in which case the advice should say so and should say what to 
do in that case too.

> On Red Hat-based systems, the corresponding command is
> 'dnf debuginfo-install emacs', with target directory /usr/src/debug.

That command is intended for installing the emacs-debuginfo package, 
which differs from the emacs-debugsource package that Emacs needs here. 
The command installs emacs-debugsource only as a weak dependency and 
settings in dnf.conf can prevent the command from installing 
emacs-debugsource at all. It would be helpful to warn about this 
possibility.

Also, on Fedora at least, the debugsource packages are regularly 
out-of-sync with the main packages distributed by the Fedora servers, so 
the suggested approach is unreliable when Emacs is patched. This is 
worth mentioning as well.

I hope this email helps to explain further why patching INSTALL is 
merely a stopgap, and why we need a better solution in the next Emacs 
release.