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