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


Message #14 received at 16567 <at> debbugs.gnu.org (full text, mbox):

From: Daimrod <daimrod <at> gmail.com>
To: Helmut Eller <eller.helmut <at> gmail.com>
Cc: 16567 <at> debbugs.gnu.org
Subject: Re: bug#16567: 24.3.50;
 pcase should signal an error if no case matches
Date: Mon, 27 Jan 2014 13:23:30 +0100
Helmut Eller <eller.helmut <at> gmail.com> writes:

> On Mon, Jan 27 2014, Daimrod wrote:
>
>> Helmut Eller <eller.helmut <at> gmail.com> writes:
>>
>>> 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.
>>
>> Wouldn't a `epcase' (as in `cl-ecase') be more appropriate for this
>> use-case?
>
> My gut feeling is that in 80% of all situations ECASE is more or just as
> appropriate as CASE.  Or put differently it's very uncommon that CASE is
> preferable to ECASE.  Therefore I think pcase should singal an error by
> default.
>
> The nice thing about a epcase would be the symmetry/analogy to
> ECASE/ETYPECASE.  But that seems like a minor advantage.

It also has the advantage of not breaking existing code that relies on
its current behavior, though I agree that most of the time I use ECASE
instead of CASE.

> Helmut

-- 
Daimrod/Greg




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

Previous Next


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