GNU bug report logs -
#49944
parse-partial-sexp fails to signal an error when (> START LIMIT).
Previous Next
Reported by: Alan Mackenzie <acm <at> muc.de>
Date: Sun, 8 Aug 2021 18:02:01 UTC
Severity: normal
Fixed in version 28.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
Message #17 received at 49944 <at> debbugs.gnu.org (full text, mbox):
Hello, Lars.
On Mon, Aug 09, 2021 at 14:42:21 +0200, Lars Ingebrigtsen wrote:
> Alan Mackenzie <acm <at> muc.de> writes:
> > parse-partial-sexp doesn't work on a region. It works with a
> > starting position and ending position, which are not
> > interchangeable.
> Well... they are interchangeable now, as they are in many functions
> in Emacs.
I can't see any use whatsoever for reversing START and LIMIT. Can you?
I would be extremely surprised if any hacker had _ever_ intentionally
used this "facility".
We definitely have a bug here. The documentation in the elisp manual
says that the scanning is done "starting at START". You're saying it's
perfectly OK to start scanning at "LIMIT"? This violates the doc.
In other words, you're sort of saying that it's the documentation at
fault, not the function.
> > It's obvious to me that Emacs should throw an error in these
> > circumstances. You seem to be disagreeing, or at least to be
> > unsure.
> Making this signal an error wouldn't be backwards-compatible, so I
> think that's a no go.
Fixing _any_ bug leads to "backwards-incompatibility", that is, if one
is determined to regard buggy behaviour as something to be preserved.
This whole discussion feels a bit surrealistic. Is it not obvious that
(parse-partial-sexp 19 18) ought to throw an error?
> --
> (domestic pets only, the antidote for overdose, milk.)
> bloggy blog: http://lars.ingebrigtsen.no
--
Alan Mackenzie (Nuremberg, Germany).
This bug report was last modified 3 years and 272 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.