GNU bug report logs -
#50946
Emacs-28: Inadequate coding in hack-elisp-shorthands
Previous Next
Reported by: Alan Mackenzie <acm <at> muc.de>
Date: Fri, 1 Oct 2021 17:12:02 UTC
Severity: normal
Done: João Távora <joaotavora <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
> Date: Sat, 2 Oct 2021 20:07:26 +0000
> Cc: joaotavora <at> gmail.com, 50946 <at> debbugs.gnu.org
> From: Alan Mackenzie <acm <at> muc.de>
>
> > > > > not going back at least 3000 characters
>
> > > > That is now fixed, right?
>
> > > No, it's not. In certain edge cases, it will go back fewer than 3000
> > > characters.
>
> > Does the patch below solve this?
>
> I think it does, yes. Thanks!
Now installed.
> > > > > I worry, to a lesser degree, it is not entirely clear whether setting
> > > > > the elisp-shorthands variable in the first line of a short file should
> > > > > be valid or not. I don't think the current hack-elisp-shorthands is
> > > > > careful enough about this.
>
> > > > Why does it matter?
>
> Otherwise we could have the scenario where somebody sets elisp-shorthands
> in the first line of a file, finds it works, then types more into the
> file, saves the buffer, then finds when she visits the file again that it
> no longer works. This, I think, would be a Bad Thing.
I'm not sure. If the user doesn't obey the rules, the user gets
amply punished.
> > > Because the first line definition should either be valid or not valid.
> > > Currently it works for a sufficiently small file, but not for a normal
> > > sized file. This, I think, is a bug.
>
> > No, I don't think it's a bug, at least not a bug specific to
> > shorthands. That's how file-local variables work in general.
>
> No, not quite. For normal file-local variables, having one set in the
> first line works regardless of the length of the file. It wouldn't for
> elisp-shorthands, where it would only work for short files.
I don't think I follow. can you show an example of a problematic
file, so that we are sure we are talking about the same issue?
> > > Have you checked that things work if the first byte in your temporary
> > > buffer isn't at the start of a character?
>
> > I don't see why this matters, can you explain?
>
> It might matter, I simply don't know. I rarely type characters into
> Emacs which are longer than a single byte in UTF8. I don't know whether
> insert-file-contents does the Right Thing when there's half a character
> at point-min, then insert-file-contents inserts the other half of the
> character before it.
The character read in separate parts will indeed be incorrect, but how
does this affect searching for the local-variables section? I don't
think it does, because there are only ASCII characters in the header
of that section.
> I don't know to what extent normal Emacs functions
> work when there are invalid "characters" at point-min or point-max.
They aren't invalid characters, they are raw 8-bit bytes. Emacs
search functions can cope with them without a problem.
This bug report was last modified 3 years and 235 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.