bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#45619: 28.0.50; pcase-let on MacOS doesn't work


From: Stefan Monnier
Subject: bug#45619: 28.0.50; pcase-let on MacOS doesn't work
Date: Sat, 12 Feb 2022 12:10:23 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Lars Ingebrigtsen [2022-02-12 17:30:54] wrote:
> Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> Hmm... I doubt it's fixed in all cases.
> Here's a more self-contained example:
>
> ;;;  -*- lexical-binding: t -*-
>
> (defvar foo 1)
>
> (defun zot ()
>   (pcase-let ((`(,foo) '(2)))
>     (bar)))
>
> (defun bar ()
>   (message "%s" foo))
>
> M-: (zot) messages "2".

I don't think a single example can represent all cases.  Try:

    (defun zot ()
      (pcase-let (((or `(,foo) foo) '(2)))
        (progn (bar))))

>> I still think pcase should emit a warning when asked to bind
>> a dynamically scoped variable.
> If pcase-let currently does work fine for dynamic variables then it's
> likely that people are depending on it, and it's too late to change...

I don't mean to change the generated code, but to discourage such uses
since they may break when the code is modified in apparently-minor ways.
Hence a warning.


        Stefan






reply via email to

[Prev in Thread] Current Thread [Next in Thread]