OK. Thanks for the reply. 2016-03-26 0:14 GMT+09:00 Nicolas Petton : > Sho Takemori writes: > > > Thanks for the fix. But after the fix, if MAP is a list literal, then it > > raises an error. > > For example, this raises an error. > > (map-put '((a . 1)) 'a "value") > > > > This works. > > (map-put [0 1 2] 1 "value") > > > > It is an expected error? > > Yes, in the sense that the same error will be raised if you try to do it > with a setf on an alist: > > (setf (alist-get 'b '((a . 1))) 3) ;; => invalid-function (a . 1) > > (let ((alist '((a . 1)))) > (setf (alist-get 'b alist) 3)) ;; => works fine > > Note however that mutating literal lists is in general not a good idea, > as conses might be shared. > > Nico >