GNU bug report logs - #65516
30.0.50; Edebug behavior of signaling errors in &or

Previous Next

Package: emacs;

Reported by: Gerd Möllmann <gerd.moellmann <at> gmail.com>

Date: Fri, 25 Aug 2023 06:29:02 UTC

Severity: normal

Found in version 30.0.50

Full log


View this message in rfc822 format

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: Gerd Möllmann <gerd.moellmann <at> gmail.com>, 65516 <at> debbugs.gnu.org
Subject: bug#65516: 30.0.50; Edebug behavior of signaling errors in &or
Date: Sun, 27 Aug 2023 23:26:34 -0400
Michael Heerdegen [2023-08-28 00:58:31] wrote:
> Stefan Monnier <monnier <at> iro.umontreal.ca> writes:
>> Hmm... actually, looking at `def-form` again it seems it doesn't use
>> `&define` nor `(edebug-)gate`.
> Dunno if this helps, I'm understanding it only half, but AFAIU,
> `def-form` falls back to `edebug-form' which looks at &define and uses
> `edebug-gate' indirectly when calling `edebug-list-form'.

Hmm... Could be, indeed.  In any case, this "gate" business is
quite messy.

I'd be tempted to start removing uses of it, bit by bit, to try and see
what breaks.  And if needed, maybe add a new replacement for it that
would be better defined (I'm imagining a kind of "scoped gate", which
could look like `[&gate-in ... [&gate-lock ...SPECS...] ...]` such
that if `...SPECS...` fails to match, we propagate this failure
immediately up to the `gate-in`).

This way

    [&gate-in [&or ["foo" &gate-lock ...]
                   ["foo" "bar"]]]

would never fallback to ["foo" "bar"] whereas

    [&or [&gate-in ["foo" &gate-lock ...]]
         ["foo" "bar"]]]

would fallback to ["foo" "bar"] if "..." fails to match.


        Stefan





This bug report was last modified 1 year and 351 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.