From 4174409c53d85a0def138f92d3e71901380c907a Mon Sep 17 00:00:00 2001 From: Nicolas Petton Date: Fri, 22 Mar 2019 10:06:42 +0100 Subject: [PATCH] Fix the error message when modifying maps in-place (Bug#34941) * lisp/emacs-lisp/map.el (map-not-inplace): Fix the message of the error. (map-put!): When signaling map-no-inplace error, output the map that cannot be updated inplace. --- lisp/emacs-lisp/map.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lisp/emacs-lisp/map.el b/lisp/emacs-lisp/map.el index f4fff334b9e..9a86736fba1 100644 --- a/lisp/emacs-lisp/map.el +++ b/lisp/emacs-lisp/map.el @@ -96,7 +96,7 @@ Returns the result of evaluating the form associated with MAP-VAR's type." (t (error "Unsupported map type `%S': %S" (type-of ,map-var) ,map-var))))) -(define-error 'map-not-inplace "Cannot modify map in-place: %S") +(define-error 'map-not-inplace "Cannot modify map in-place") (defsubst map--plist-p (list) (and (consp list) (not (listp (car list))))) @@ -393,7 +393,7 @@ If you want to insert an element without modifying MAP, use `map-insert'." (let ((oldmap map)) (setf (alist-get key map key nil (or testfn #'equal)) value) (unless (eq oldmap map) - (signal 'map-not-inplace (list map))))) + (signal 'map-not-inplace (list oldmap))))) :hash-table (puthash key value map) ;; FIXME: If `key' is too large, should we signal `map-not-inplace' ;; and let `map-insert' grow the array? -- 2.39.5