Subject: bug#50946: Emacs-28: Inadequate coding in hack-elisp-shorthands

From: João Távora <[email-masked]>
Date: Fri, 1 Oct 2021 22:15:03 +0100

Ok, no problem.

I'm afraid I'm the original author though. Frankly, what a pityful
request...

João

On Fri, Oct 1, 2021, 18:53 Eli Zaretskii <[email-masked]> wrote:

> > Date: Fri, 1 Oct 2021 17:10:57 +0000
> > From: Alan Mackenzie <[email-masked]>
> >
> > In emacs -Q in the emacs-28 branch, create the following two line file,
> > foobar.el, and try to load it:
> >
> > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> > (defvar foo-baz "foobar-baz")
> > FOOBARELISP-SHORTHANDS: (("foo" . "foobar")))
> > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> >
> > This will throw an error, but that isn't important.
> >
> > What is important is that the symbol foobar-baz is created by the
> > elisp-shorthands facility.
> >
> > This shouldn't happen since:
> > 1/- There is no Local Variables section.
> > 2/- There is no variable elisp-shorthands in that non-existent section.
> >
> > The following errors are evident in hack-elisp-shorthands:
> > 1/- The code doesn't check for a correctly formatted Local Variables
> >   section.
> > 2/- The code, even if it did check, would only check the last 3000 bytes
> >   in the file.  The section can occur anywhere in the last 3000
> >   CHARACTERS.
> > 3/- The code doesn't do a case-sensitive search for "elisp-shorthands".
> > 4/- The code doesn't check for "elisp-shorthands" being a complete
> >   symbol.
> > 5/- The code doesn't even check that "elisp-shorthands" is in a comment.
>
> Thanks.
>
> João, could you please look into this?
>