GNU bug report logs - #75170
add-to-alist: new function

Previous Next

Package: emacs;

Reported by: Roland Winkler <winkler <at> gnu.org>

Date: Sun, 29 Dec 2024 05:35:02 UTC

Severity: wishlist

Full log


View this message in rfc822 format

From: "Alfred M. Szmidt" <ams <at> gnu.org>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: winkler <at> gnu.org, monnier <at> gnu.org, 75170 <at> debbugs.gnu.org, stefankangas <at> gmail.com, eliz <at> gnu.org, acorallo <at> gnu.org
Subject: bug#75170: add-to-alist: new function
Date: Tue, 21 Jan 2025 08:09:29 -0500
   >>>>> On Tue, 21 Jan 2025 05:33:48 -0500, "Alfred M. Szmidt" <ams <at> gnu.org> said:

       Alfred>    "Alfred M. Szmidt" <ams <at> gnu.org> writes:

       >> map-put! does not work well with alists that are not 'proper':
       >> 
       ELISP> (setq x (list 1 '(2 . 3)))
       >> (1 (2 . 3))
       >> 
       >> Why should it work on alists at all?  map-put! assumes a map (where is
       >> this structure documented? I did not see anything in the Elisp
       >> manual), not an alist.  Invalid alists will also not work on functions
       >> that assume alists.

       Alfred>    According to M-x describe-package RET map RET:

       Alfred>    map.el provides generic map-manipulation functions that work on
       Alfred>    alists, plists, hash-tables, and arrays.  All functions are
       Alfred>    prefixed with "map-".

       Alfred> That seems like it cannot possibly work (or very complicated).  How do
       Alfred> you differetnate between a plist and alist?  Order in an alist is
       Alfred> important, but not in a plist.  Their syntax is exactly the same, how
       Alfred> can a insertion function work correctly for that?

   map.el assumes that a list that starts with an atom is a plist, and
   any other list is an alist. 


That is just wrong.

   alist-get and assoc obviously disagree.




This bug report was last modified 142 days ago.

Previous Next


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