GNU bug report logs -
#57915
29.0.50; Misleading warning about use of quote in clause of cl-case
Previous Next
Reported by: Jonas Bernoulli <jonas <at> bernoul.li>
Date: Sun, 18 Sep 2022 19:36:02 UTC
Severity: normal
Tags: moreinfo
Found in version 29.0.50
Fixed in version 29.1
Done: Lars Ingebrigtsen <larsi <at> gnus.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Jonas Bernoulli <jonas <at> bernoul.li> writes:
> I inherited some code like this:
>
> (cl-case foo
> ((quote) ...)
> ((funcall) ...))
>
> While I probably would not have written it like this, I think it
> makes sense, since (quote ...) looks like ... is being quoted. Using
> ((quote) ...) make it clear to the human reader that that is not what is
> happening. Unfortunately the byte-compiler now provides this misleading
> warning:
>
> Warning: Case (quote) will match ‘quote’. If that’s intended,
> write (nil quote) instead. Otherwise, don’t quote ‘nil’.
[...]
> Could this special case, (quote), be handled differently? I understand
> we want to catch, pcase-inspired clauses like 'x. I am not sure we can
> tell the difference between (quote), (quote nil) and 'nil, but it seems
> to me, that if that is not the case, we should avoid the invalid
> recommendation at the cost of not warning about the other, likely
> unintended uses.
Yeah, since there isn't really any other way to express this (or is
there?), we should probably not warn about this construction.
I've added Philipp to the CCs; perhaps he has some comments.
This bug report was last modified 2 years and 304 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.