GNU bug report logs - #70155
29.3; Several Emacs Lisp list functions accept non-list arguments

Previous Next

Package: emacs;

Reported by: <tpeplt <at> gmail.com>

Date: Tue, 2 Apr 2024 23:16:02 UTC

Severity: wishlist

Tags: wontfix

Found in version 29.3

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


Message #20 received at 70155 <at> debbugs.gnu.org (full text, mbox):

From: Drew Adams <drew.adams <at> oracle.com>
To: Mattias EngdegÄrd <mattias.engdegard <at> gmail.com>, Eli
 Zaretskii <eliz <at> gnu.org>
Cc: "tpeplt <at> gmail.com" <tpeplt <at> gmail.com>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>,
 "70155 <at> debbugs.gnu.org" <70155 <at> debbugs.gnu.org>
Subject: RE: [External] : bug#70155: 29.3; Several Emacs Lisp list functions
 accept non-list arguments
Date: Sat, 27 Apr 2024 15:01:11 +0000
I don't speak about the other functions
mentioned.  Fix just `last', and then we
can see what else might need to be looked
at - maybe nothing.  The _regression_ is
the change in `last' behavior.

Elisp's `last' behaved perfectly well, and
the same way as in all other Lisps, until
the regression was introduced, in Emacs 24.

This is a BUG, and it goes against 70 years
of Lisp's `last' function.

> (Of course if you ask me, I'd prefer it if lists were guaranteed to be
> proper, immutable, with the empty list an object distinct from the
> symbol nil and the false boolean value. Maybe next year.)

I see.  Then if you ask me, you don't want
Lisp.  You want something else.

Of course, you can get what you want with
Lisp.  Just don't hijack longstanding Lisp
constructs to do so.  Instead, define new
constructs and don't touch longstanding,
basic Lisp functions and other constructs.

Please restore `last' to its normal, sane,
longstanding behavior.

This bug report was last modified 83 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.