mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-02-08 20:58:58 +00:00
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.
This commit is contained in:
parent
09c220a5cf
commit
4174409c53
@ -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?
|
||||
|
Loading…
x
Reference in New Issue
Block a user