GNU bug report logs - #47368
28.0.50; map-elt returns nil without "deprecated" TESTFN

Previous Next

Package: emacs;

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

Date: Wed, 24 Mar 2021 22:54:02 UTC

Severity: normal

Tags: patch

Found in versions 28.0.50, 27.1

Fixed in version 28.1

Done: "Basil L. Contovounesios" <contovob <at> tcd.ie>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
To: Michael Heerdegen <michael_heerdegen <at> web.de>
Cc: dalanicolai <dalanicolai <at> gmail.com>, 47368 <at> debbugs.gnu.org
Subject: bug#47368: 28.0.50; map-elt returns nil without "deprecated" TESTFN
Date: Fri, 26 Mar 2021 18:58:44 +0000
Michael Heerdegen <michael_heerdegen <at> web.de> writes:

> "Basil L. Contovounesios" <contovob <at> tcd.ie> writes:
>
>> dalanicolai <dalanicolai <at> gmail.com> writes:
>>
>> > The docstring of the map-elt function from the map.el package (version
>> > 3.0) mentions that TESTFN is deprecated because "its default depends on
>> > the MAP argument". However when I try e.g.
>> >
>> > (map-elt '(("A1" . 3)) "A1")
>> >
>> > it returns nil.
>>
>> This is expected, as alist keys are tested with eq by default.
>>
>> That's what the docstring is trying to warn about: alists default to
>> testing with eq, but can also use eql, equal, or anything else.
>
> Is it that obvious?  We have `assoc' and `assq' built-in - to me it's
> not obvious that "alist keys are tested with eq by default".  It's the
> default for `alist-get', ok, which is used by the implementation, but
> not everybody will know that.  I would add a sentence about that.

There used to be such a sentence until the argument was deprecated.
I agree that whatever we decide on should be made clear.

-- 
Basil




This bug report was last modified 3 years and 329 days ago.

Previous Next


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