Michael Heerdegen writes: > Sho Takemori 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. Now that I have a second look at it, I don't see why `map-put' (and `map-delete' for that matter) are macros. I'll see if I can replace them with functions and have all the tests green. Nico