GNU bug report logs - #23105
25.0.92; map-put does not change its argument MAP

Previous Next

Package: emacs;

Reported by: Sho Takemori <stakemorii <at> gmail.com>

Date: Thu, 24 Mar 2016 12:10:02 UTC

Severity: normal

Tags: fixed

Found in version 25.0.92

Fixed in version 25.1

Done: Nicolas Petton <nicolas <at> petton.fr>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Michael Heerdegen <michael_heerdegen <at> web.de>
To: Sho Takemori <stakemorii <at> gmail.com>
Cc: Nicolas Petton <nicolas <at> petton.fr>, 23105 <at> debbugs.gnu.org
Subject: bug#23105: 25.0.92; map-put does not change its argument MAP
Date: Thu, 24 Mar 2016 16:57:01 +0100
Sho Takemori <stakemorii <at> gmail.com> writes:

> By expanding map-put, I found that it returns a new list if "m" is a
> list and the key is not in "m".

Indeed, good catch.

The implementation of `map-put' is wrong: it binds the evaluated place
expression to a new symbol and uses that symbol as place to operate on.

The intention presumably was to avoid code duplication in the macro
expansion - which is good - but it fails to change the original place.


Michael.




This bug report was last modified 9 years and 62 days ago.

Previous Next


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