GNU bug report logs - #76017
31.0.50; Which args can cl-nintersection and cl-nset-difference mutate?

Previous Next

Package: emacs;

Reported by: "Basil L. Contovounesios" <basil <at> contovou.net>

Date: Sun, 2 Feb 2025 17:49:02 UTC

Severity: minor

Found in version 31.0.50

Fixed in version 31.1

Done: "Basil L. Contovounesios" <basil <at> contovou.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Pip Cet <pipcet <at> protonmail.com>
To: Mattias EngdegÄrd <mattias.engdegard <at> gmail.com>
Cc: "Basil L. Contovounesios" <basil <at> contovou.net>, 76017 <at> debbugs.gnu.org, Stefan Monnier <monnier <at> iro.umontreal.ca>
Subject: bug#76017: 31.0.50; Which args can cl-nintersection and cl-nset-difference mutate?
Date: Fri, 14 Feb 2025 11:13:24 +0000
Mattias EngdegÄrd <mattias.engdegard <at> gmail.com> writes:

> 13 feb. 2025 kl. 19.13 skrev Basil L. Contovounesios <basil <at> contovou.net>:
>
>> I propose the attached.
>
> Thank you, this should be fine. I was clearly over-cautious in
> labelling the second arguments to those functions as destructive in
> mutates-arguments, and agree that there is no significant advantage to
> preserving the right to mutate it (which we never really had in the
> first place).

It seems to me the only possible advantage in the cl-nset-difference
case is you could sort (and possibly uniq) both lists in place and
traverse the sorted lists.  But that would require many changes to the
current Emacs code, and I don't think it's going to happen.  Similarly,
the "mutate the shorter list" thing for cl-intersection seems unlikely.

Maybe if feature/igc is merged, and becomes a common option, we can
formally make cl-nintersection an alias of cl-intersection, rather than
the currenet somewhat redundant wrapper.

As a followup, I would like to propose removing claims of cons cells
being reused "whenever possible", though: we reserve the right to
mutate one of the arguments, but we don't, so we shouldn't make such
claims.  (And what's "whenever possible" supposed to mean, anyway?  All
cons cells are equal!)

Pip





This bug report was last modified 95 days ago.

Previous Next


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