From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.bugs Subject: bug#34708: alist-get has unclear documentation Date: Tue, 12 Mar 2019 14:12:31 +0100 Message-ID: <87a7i01bk0.fsf@web.de> References: <87wolhr5k6.fsf@web.de> <87y35xdu4w.fsf@web.de> <87mumcdu7f.fsf@web.de> <875zsyhakx.fsf@ericabrahamsen.net> <87fts2h9we.fsf@web.de> <871s3mh85d.fsf@ericabrahamsen.net> <874l8iebyz.fsf@web.de> <878sxui7bo.fsf@ericabrahamsen.net> <87va0xcxco.fsf@web.de> <87h8chey12.fsf@ericabrahamsen.net> <60367f47-c0b0-45b4-8ccf-169044400a75@default> <8736ntmsy3.fsf@web.de> <3af3b645-84e0-4208-be48-810e8cd2cfa8@default> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="268568"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) Cc: Eric Abrahamsen , 34708@debbugs.gnu.org To: Drew Adams Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Tue Mar 12 14:13:16 2019 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1h3hDW-0017hS-Np for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Mar 2019 14:13:14 +0100 Original-Received: from localhost ([127.0.0.1]:52279 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h3hDV-0006m1-OV for geb-bug-gnu-emacs@m.gmane.org; Tue, 12 Mar 2019 09:13:13 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:51517) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1h3hDM-0006lj-D7 for bug-gnu-emacs@gnu.org; Tue, 12 Mar 2019 09:13:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1h3hDL-0006A3-JH for bug-gnu-emacs@gnu.org; Tue, 12 Mar 2019 09:13:04 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:54536) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1h3hDK-00069T-Cy for bug-gnu-emacs@gnu.org; Tue, 12 Mar 2019 09:13:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1h3hDK-0005ko-7V for bug-gnu-emacs@gnu.org; Tue, 12 Mar 2019 09:13:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 12 Mar 2019 13:13:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 34708 X-GNU-PR-Package: emacs Original-Received: via spool by 34708-submit@debbugs.gnu.org id=B34708.155239637522106 (code B ref 34708); Tue, 12 Mar 2019 13:13:02 +0000 Original-Received: (at 34708) by debbugs.gnu.org; 12 Mar 2019 13:12:55 +0000 Original-Received: from localhost ([127.0.0.1]:39847 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h3hDD-0005kU-In for submit@debbugs.gnu.org; Tue, 12 Mar 2019 09:12:55 -0400 Original-Received: from mout.web.de ([212.227.17.11]:43941) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1h3hD9-0005kB-Vj for 34708@debbugs.gnu.org; Tue, 12 Mar 2019 09:12:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1552396353; bh=u/aMudwJ3MLHFK15Qsfj08JJ0Kk+RIUkgsO+oiJ1qh0=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=ZuzLRS3IZgwd0maU0xFEzosXM9HKZqDb17PdP5btNR268vJrdI1EPR95atjh0yAfu qJtzQhoJzlYHkdTxUncezASaZc0O8awAHpgtHUToHvUxzXkV0/0T2aJlEsnW0bPFcz tWahMghwaa2h3KkfdpjrWAx8WeycpUGVRs4bPR3Y= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Original-Received: from drachen.dragon ([88.67.111.211]) by smtp.web.de (mrweb102 [213.165.67.124]) with ESMTPSA (Nemesis) id 0MHp8z-1h4XDo0lsz-003cpq; Tue, 12 Mar 2019 14:12:33 +0100 In-Reply-To: <3af3b645-84e0-4208-be48-810e8cd2cfa8@default> (Drew Adams's message of "Mon, 11 Mar 2019 07:52:31 -0700 (PDT)") X-Provags-ID: V03:K1:jVbHMivigFhP4fjhUxiPKtekbLwIL8VLyBlmwU4zPw2MLKupa8O bt7tNU2zTRNbYzll6ODOzsUBOrY7qyi9kUegR1n4pLRIhtodap7763KdzziBDWUULVme6XX 3ulzN0+ujaMp+R6DAboE3PP2ZAh2lbxuyTuVIVWjOYzSgQxYwCcODzGFpf66SJB2l+rYf8H 85bIzrd7PB9YkfmE9hbNA== X-UI-Out-Filterresults: notjunk:1;V03:K0:+xd6eszIExs=:FSka/I4cGwJnD0DxShyfVb UFyF2suBCS9gCTyEt6GitChjz2SheWHFU9wD4oJI2t+zIHp7vc/AKYcOdg8WXyg2o+hc9wXfX Tsfneu8BD+0M0vesuQhhTZlh1MGJ4cwqQYxDFDQlk4LU8Pf2rA6LHY6AHCKZ1SWMrEBsyzu09 BLVwMj355MY45cpXio0oKN3TmdlQ870CCLmjReCFLNnX18CtllyQPSiv8tAYpGy2difssJ4Oj 2PM5VlyNAs25RJ/X1rSc9oWDL6KCZey1zTiolTND8JlWaiv6H4A3w2hsjwTxQfqywELxDoo5s RpydSF46kuIjuT3sr8E96lYsICTW14OWF6Z6wj3xQbwP3yL4uIaQgnbCq1KHulXI43md1EUb5 xSLmY9GaZfYLE5EBMmW/KLhRw3MBagpm9ps8UjWourx1eKXivOJR0REe6hEbbTvkSgmTI2JIS 49Q5BWAA4KRa9hqeFUeyu52aUyaIYrVmyeTuODejBEVj8DoLjBnYIni6Thid2/EQbSKvafMuv 4sOhyTzSWemvAPpHH/VVhD891OryoiduOyLM9bFsduQ7hghNVOB2lgMKo3tprteUPqwriFyqH ZP9+v5yLkkGomhb9ayR6/2l74XOBTU0rv3N2O7H0qAw1SPusKmp10rvMtG6WgQQaTSdRPiz/m oJKWvxuHKLHJrbnTNJQfGnpguHrw/f40B8dYIIhrx5InePRZdElLXA+CpLPCQPaaTXDSOcL1P 5fAqAMBWZ5fWKfpjcrHnVsQYtbO74lTIzSXKdn7OGmZSet295aiJoN9nmizx9w12/ITN+kuJ X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:156259 Archived-At: Drew Adams writes: > > (progn > > (setq my-alist '((a . 1) (b . 2))) > > (push (car my-alist) my-alist) > > ;; my-alist =3D=3D> (#1=3D(a . 1) #1# (b . 2)) > > (setf (alist-get 'a my-alist nil 'remove) nil)) > > ;; my-alist =3D=3D> ((b . 2)) > > > > This is because the code uses delq to delete a found cons, and delq > > removes all `eq' elements. > > > > Is it worth to document or change that? > > Sounds like an implementation/design artifact. If that will stay as > part of the design then yes, I'd say such behavior needs to be > documented. BTW with a different viewpoint, when you use (setcdr (assoc 'a my-alist) 17) on the above degenerated alist you also change _both_ of the 'a associations, so one could argue that the `alist-get' setter behaves correctly when removing both: there are not two 'a associations in MY-ALIST but the same one has just been added two times, so it's correct to remove both of them. Michael.