Subject: bug#62447: 30.0.50; xref default behaviour changed after a desktop-read

From: Eli Zaretskii <[email-masked]>
Date: Sun, 26 Mar 2023 07:25:17 +0300

> Cc: [email-masked]
> From: Juri Linkov <[email-masked]>
> Date: Sat, 25 Mar 2023 21:25:13 +0200
> 
> > I'm using desktop-save-mode and since sometimes when I do a M-. on
> > function call in a C buffer, Emacs says:
> > user-error: No definitions found for: scroll_command
> >
> > If I start without desktop-save-mode on, this works as usual: Emacs asks
> > me if I want to read the TAGS table.
> >
> > So it may be that some mode loaded by some file opening mess up with
> > xref default behaviour... I don't know where to start to track this
> > down.
> 
> I guess this is because the default value of `desktop-globals-to-save'
> contains:
> 
>     tags-file-name
>     tags-table-list
> 
> and the global values for these variables make no sense.

Why not?  How is TAGS different from any other file visited by Emacs,
with respect to desktop-save-mode?

> They should have project-local values, but project-local values are
> not saved to the desktop file, only global and buffer-local values.

We don't force our users to use project.el in order to have some
file-visiting buffers to be saved in the desktop file.  E.g., I don't
use project.el, but I do use TAGS all the time, in particular with
Emacs.  Emacs supports lists of TAGS tables since time immemoriam, to
let users use M-. and friends with more than a single program.