GNU bug report logs - #16567
24.3.50; pcase should signal an error if no case matches

Previous Next

Package: emacs;

Reported by: Helmut Eller <eller.helmut <at> gmail.com>

Date: Mon, 27 Jan 2014 09:24:01 UTC

Severity: wishlist

Found in version 24.3.50

Fixed in version 25.1

Done: Leo Liu <sdl.web <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Helmut Eller <eller.helmut <at> gmail.com>
To: Stefan Monnier <monnier <at> IRO.UMontreal.CA>
Cc: 16567 <at> debbugs.gnu.org
Subject: bug#16567: 24.3.50; pcase should signal an error if no case matches
Date: Mon, 08 Sep 2014 22:58:05 +0200
On Mon, Sep 08 2014, Stefan Monnier wrote:

>> pcase returns nil for this example:
>>  (pcase 3
>>    (1 1)
>>    (2 2))
>> it would be more useful if it would signal an error instead.  Manually
>> adding a "catch-all case" and inventing some error message is tedious
>> and it's also easy to forget.
>
> The "nil default" is also very handy at times and pcase has been in use
> for long enough that we can't really change this easily.

What could happen if you would change it?  Mostly some "no clause
matching" errors.  Arguably better than the current situation where
poeple forget the unintuitive default and receive no error message.

> But we could add a new pcase-exhaustive macro that does that.

Nobody wants to use such a long name.  The "nil default" would make more
sense in a pcase-if or pif macro.

Helmut




This bug report was last modified 10 years and 290 days ago.

Previous Next


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