unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Inadequate coding in hack-elisp-shorthands
@ 2021-09-30 20:35 Alan Mackenzie
  2021-10-01  5:51 ` Eli Zaretskii
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Mackenzie @ 2021-09-30 20:35 UTC (permalink / raw)
  To: emacs-devel

Hello, Emacs.

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.

I would suggest that these errors be corrected.  I would also suggest
that the entire code and documentation for this new facility be
carefully reviewed by somebody who isn't the original author.

-- 
Alan Mackenzie (Nuremberg, Germany).



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Inadequate coding in hack-elisp-shorthands
  2021-09-30 20:35 Inadequate coding in hack-elisp-shorthands Alan Mackenzie
@ 2021-10-01  5:51 ` Eli Zaretskii
  2021-10-01 17:03   ` Alan Mackenzie
  0 siblings, 1 reply; 5+ messages in thread
From: Eli Zaretskii @ 2021-10-01  5:51 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: emacs-devel

> Date: Thu, 30 Sep 2021 20:35:17 +0000
> From: Alan Mackenzie <acm@muc.de>
> 
> 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.
> 
> I would suggest that these errors be corrected.  I would also suggest
> that the entire code and documentation for this new facility be
> carefully reviewed by somebody who isn't the original author.

Thanks, but why isn't this a full-blown bug report, submitted to
debbugs?



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Inadequate coding in hack-elisp-shorthands
  2021-10-01  5:51 ` Eli Zaretskii
@ 2021-10-01 17:03   ` Alan Mackenzie
  2021-10-01 21:32     ` João Távora
  0 siblings, 1 reply; 5+ messages in thread
From: Alan Mackenzie @ 2021-10-01 17:03 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Hello, Eli.

On Fri, Oct 01, 2021 at 08:51:18 +0300, Eli Zaretskii wrote:
> > Date: Thu, 30 Sep 2021 20:35:17 +0000
> > From: Alan Mackenzie <acm@muc.de>

> > 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.

> > I would suggest that these errors be corrected.  I would also suggest
> > that the entire code and documentation for this new facility be
> > carefully reviewed by somebody who isn't the original author.

> Thanks, but why isn't this a full-blown bug report, submitted to
> debbugs?

The last sentence - I was hoping to recruit somebody (somebody more
enthusiastic about the feature than me) to do the reviewing, and this is
more likely on emacs-devel than debbugs.

But I'll resubmit it as a bug this evening.

-- 
Alan Mackenzie (Nuremberg, Germany).



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Inadequate coding in hack-elisp-shorthands
  2021-10-01 17:03   ` Alan Mackenzie
@ 2021-10-01 21:32     ` João Távora
  2021-10-02  0:53       ` João Távora
  0 siblings, 1 reply; 5+ messages in thread
From: João Távora @ 2021-10-01 21:32 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: Eli Zaretskii, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 709 bytes --]

On Fri, Oct 1, 2021, 18:04 Alan Mackenzie <acm@muc.de> wrote:

The last sentence - I was hoping to recruit somebody (somebody more
> enthusiastic about the feature than me) to do the reviewing, and this is
> more likely on emacs-devel than debbugs.
>

FYI this code was presented to all the head maintainers of Emacs, and
reviewed by Richard, as carefully as we could arrange, I suppose. I was
recently explicitly asked to rush it for Emacs 28.

But I'll fix these real bugs, which are completely secondary (but
nevertheless bugs).  Anyway, you might want to look at lread.c. That's
where the real juice of the feature lives and where any bugs would be more
interesting.

Thanks,
João

>

[-- Attachment #2: Type: text/html, Size: 1336 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Inadequate coding in hack-elisp-shorthands
  2021-10-01 21:32     ` João Távora
@ 2021-10-02  0:53       ` João Távora
  0 siblings, 0 replies; 5+ messages in thread
From: João Távora @ 2021-10-02  0:53 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: Eli Zaretskii, emacs-devel

João Távora <joaotavora@gmail.com> writes:

> But I'll fix these real bugs, which are completely secondary (but
> nevertheless bugs).

Now done in emacs-28.  See bug#50946 for details.



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-10-02  0:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-30 20:35 Inadequate coding in hack-elisp-shorthands Alan Mackenzie
2021-10-01  5:51 ` Eli Zaretskii
2021-10-01 17:03   ` Alan Mackenzie
2021-10-01 21:32     ` João Távora
2021-10-02  0:53       ` João Távora

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).