GNU bug report logs - #63103
30.0.50; nconc compiler optimization breaks user packages

Previous Next

Package: emacs;

Reported by: Maks <mvproton <at> gmail.com>

Date: Thu, 27 Apr 2023 04:17:04 UTC

Severity: normal

Merged with 63100, 63101

Found in version 30.0.50

Done: Mattias EngdegÄrd <mattiase <at> acm.org>

Bug is archived. No further changes may be made.

Full log


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

From: Daniel Mendler <mail <at> daniel-mendler.de>
To: Drew Adams <drew.adams <at> oracle.com>, Mattias EngdegÄrd
 <mattiase <at> acm.org>
Cc: Philip Kaludercic <philipk <at> posteo.net>,
 Stefan Monnier <monnier <at> iro.umontreal.ca>,
 "63103 <at> debbugs.gnu.org" <63103 <at> debbugs.gnu.org>
Subject: Re: [External] : bug#63103: 30.0.50; nconc compiler optimization
 breaks user packages
Date: Thu, 27 Apr 2023 16:02:22 +0200
On 4/27/23 15:54, Drew Adams wrote:
>> Well, my assumption didn't completely stand on its own. Given that the
>> last argument can be a non-list suggests that the last argument is not
>> inspected or mutated, but just overwrites the cdr of the second to last
>> argument. This then implies that the second to last argument could also
>> be an improper list. Given that CL and Elisp have behaved like this for
>> a long time, it seems better to preserve this property. I think it is
>> kind of nice that `nconc' can be used as a tool to turn a proper list
>> into an improper list and vice versa. It may be good to document this in
>> the `nconc' docstring and the Elisp manual.
> 
> +1.
> 
> You both agree that this behavior (1) shouldn't be
> lost and (2) should be documented.  That's exactly
> the position taken by Common Lisp.
> 
> Please document this behavior as part of the bug
> fix, if you haven't already.

Mattias already documented the behavior for dotted lists in the Elisp
manual and added a regression test. See commit
5ead8c5f69b0a69bac4641d5003ee422d6b67038.

Daniel




This bug report was last modified 2 years and 86 days ago.

Previous Next


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