Subject: 30.0.50; [BUG] unimplemented logic regarding read-symbol-shorthands
From: Ruijie Yu <[email-masked]>
To: [email-masked]
Date: Sat, 13 May 2023 13:27:06 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

--8<---------------cut here---------------start------------->8---
In GNU Emacs 30.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.37, cairo version 1.17.8) of 2023-05-06 built on ruijie
Repository revision: f261226d9be4630572df322b2c4f48713c9c2fce
Repository branch: makepkg
System Description: Arch Linux
--8<---------------cut here---------------end--------------->8---

Hello,

While trying out João's breadcrumb package, I noticed a few issues
regarding `read-symbol-shorthands'.  Searching this variable on debbugs
yields zero results, so I figured maybe I should at least let the
bugtracker know about them.

First, docstrings do not resolve shorthands at the moment.  [Not the
main point of this thread.  If we are interested in changing that
behavior, we can discuss it in a new thread.]

Second, autoload generation, at least the portion responsible for
`package-vc-install', does not seem to translate the shorthands.

What I did:

    ;; ~15-days-old master
    $ emacs -Q -nw

    M-x load-lib package-vc RET

    M-: (package-vc-install '(breadcrumb
        :url "https://github.com/joaotavora/breadcrumb"
        :rev "e508856a59d18a0d006e215497b5190b3b517791")) RET

    M-x find-lib breadcrumb-autoloads.el RET

Note these portions in breadcrumb.el:

--8<---------------cut here---------------start------------->8---
;;;###autoload
(defun bc-imenu-crumbs ()
  "Describe point inside the Imenu tree of current file."
  ...)

...

;; Local Variables:
;; read-symbol-shorthands: (("bc-" . "breadcrumb-"))
;; End:
--8<---------------cut here---------------end--------------->8---

What I noticed from the generated autoloads file,
breadcrumb-autoloads.el:

--8<---------------cut here---------------start------------->8---
;;; Generated autoloads from breadcrumb.el

(autoload 'bc-imenu-crumbs "breadcrumb" "\
Describe point inside the Imenu tree of current file.")
...
--8<---------------cut here---------------end--------------->8---

The first argument to `autoload' here should probably be translated to
the full name `breadcrumb-imenu-crumbs', and likewise elsewhere.

-- 
Best,

RY