Subject: Re: bug#57915: 29.0.50; Misleading warning about use of quote in clause of cl-case

From: Philipp Stephani <[email-masked]>
Date: Mon, 19 Sep 2022 13:38:34 +0200

On Mon, 19 Sept 2022 at 10:32, Lars Ingebrigtsen <[email-masked]> wrote:
>
> Jonas Bernoulli <[email-masked]> 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.

Makes sense, fixed in commit a71de4b52d3de14349ded7d88c4cae6e2a9376ae.

-- 
Google Germany GmbH
Erika-Mann-Straße 33
80636 München

Geschäftsführer: Paul Manicle, Liana Sebastian
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg

Diese E-Mail ist vertraulich. Falls Sie diese fälschlicherweise
erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes
weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich
bitte wissen, dass die E-Mail an die falsche Person gesendet wurde.

This e-mail is confidential. If you received this communication by
mistake, please don’t forward it to anyone else, please erase all
copies and attachments, and please let me know that it has gone to the
wrong person.