Here's the reply I meant to send to the tracker but sent to Eli only on accident: Shorthands are read at file read-time and specified exclusively as per-file variables. So I don't understand this about inheritance from load. 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... João On Mon, Sep 22, 2025, 07:41 Eli Zaretskii wrote: > > From: "David J. Rosenbaum" > > Date: Sun, 21 Sep 2025 16:58:06 -0700 > > > > Hello, > > > > I am using read-symbol-shorthands to alias db to > > cl-destructuring-bind. It works but causes problems when I load a file > > containing a symbol that starts with db. For example, one can use emacs > -Q > > with the following file. > > > > ================================================================ > > (require 'tramp-gvfs) > > > > ;; Local Variables: > > ;; read-symbol-shorthands: (("db" . "cl-destructuring-bind")) > > ;; End: > > ================================================================ > > > > To reproduce, save the above and load it with M-x load-file. This > > results in the following error. > > > > ================================================================ > > Loading /home/david/tmp/read-symbol-example.el (source)... > > byte-code: Cannot open load file: No such file or directory, > cl-destructuring-bindus > > ================================================================ > > > > The problem seems to be that tramp-gvfs requires dbus and db is being > > replaced with cl-destructuring-bind. IMO, loaded files should not inherit > > shorthands from files that require them since those shorthands are only > > valid for that particular file. > > Thanks, I hope João (CC'ed) will have some ideas or suggestions. >