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

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

bug#28254: 26.0.50; SRFI-2 and-let*


From: Mark Oteiza
Subject: bug#28254: 26.0.50; SRFI-2 and-let*
Date: Fri, 8 Sep 2017 20:33:55 -0400
User-agent: Mutt/1.9.0 (2017-09-02)

On 04/09/17 at 11:55pm, Mark Oteiza wrote:
On 03/09/17 at 09:13pm, Mark Oteiza wrote:
On 02/09/17 at 02:41pm, Noam Postavsky wrote:
On Sat, Sep 2, 2017 at 9:36 AM, Mark Oteiza <mvoteiza@udel.edu> wrote:
This single tuple special case is troublesome IMO:

(if-let* (x) "dogs" "cats") => "cats"
(if-let* (x (y 2)) "dogs" "cats") => (void-function y)
(if-let* (x (y 1) (z 2)) "dogs" "cats") => "cats"

I'm curious if this was brought up in the old discussion when this was
implemented.

FWIW, this was brought up in the original thread.
https://lists.gnu.org/archive/html/emacs-devel/2014-08/msg00228.html

IMO the original suggestion of having if-let and when-let be exclusively
single binding, while the starred versions excluding the single binding
special case would be more sane.

P.S. I just realized I didn't copy the tuple part of if-let* into
and-let* in the patch I just sent, and therefore missed the problem this
special case causes in tests.

This is a patch implementing the above: if-let and when-let only take
single tuple, while {if,when,and}-let* lose the single tuple special
case.

Any comments?





reply via email to

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