Subject: bug#79485: 31.0.50; Loaded files inherit read-symbol-shorthands

From: João Távora <[email-masked]>
Date: Mon, 22 Sep 2025 18:29:43 +0100

On Mon, Sep 22, 2025 at 6:04 PM David Rosenbaum <[email-masked]> wrote:
>
> > Also they were designed to abbreviate prefixes, not full symbol names,
so the db idea is probably not going to work. As far as I remember, these
things were well explained in the manual...
>
> Intended or not, shorthands are being used this way by packages authors.
For example, see cond-let and llama.

Are these packages even in Emacs?

> > By the way, I understand the problem easily now. The symbol 'dbus' has
the prefix 'db' and when the example file is read 'dbus' becomes
'cl-destructuring-bindus'. This happens at read-time well before evaluation
or byte-compilation.
>
> (require 'dbus) isn't in the example file though. It's in tramp-gvfs
which was precompiled when emacs was built. It is tramp-gvfs that is
required from the example file.

I see the problem and have reproduced it.  It's a bug.  And I don't
understand it.  The `tramp-gvfs` file should have been read long before the
shorthand was established in in the example file.