[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Emacs-diffs] master 4612b2a 1/2: Implement and-let*
From: |
Mark Oteiza |
Subject: |
Re: [Emacs-diffs] master 4612b2a 1/2: Implement and-let* |
Date: |
Tue, 12 Sep 2017 13:29:58 -0400 |
User-agent: |
Mutt/1.9.0 (2017-09-02) |
On 12/09/17 at 01:21pm, Stefan Monnier wrote:
> > (internal--build-binding-value-form): Extend to account for
> > solitary symbols and (EXPR) items in binding varlist.
>
> We're forced to accept those forms in `let` and `let*` for historical
> reasons, but why do we want to also accept them in newer constructs?
Solitary symbols are expanded as x -> (x (and PREV x)), so it's not the
historical behavior. (EXPR) means EXPR is an s-expression, which
doesn't make sense in let or let*, e.g.:
(let (x)
(and-let* (((null x))) "it's null"))