aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias EngdegÄrd2023-05-20 20:34:55 +0200
committerMattias EngdegÄrd2023-05-20 20:34:55 +0200
commitf8cdb9e05067fba5dee193ac604e75a67a7ff2c9 (patch)
treea923d5c7927cf2f4e8b0197b01f53636d3be51a2
parent88d1e9b436c8778c90b7a57a152aee8071ac77b9 (diff)
downloademacs-f8cdb9e05067fba5dee193ac604e75a67a7ff2c9.tar.gz
emacs-f8cdb9e05067fba5dee193ac604e75a67a7ff2c9.zip
Declare more mutating functions
* lisp/emacs-lisp/bytecomp.el (mutating-fns): Add assoc-delete-all, assq-delete-all and rassq-delete-all. * lisp/emacs-lisp/shortdoc.el (alist, list): Don't mutate constants in examples illustrating use of assoc-delete-all, assq-delete-all and rassq-delete-all.
-rw-r--r--lisp/emacs-lisp/bytecomp.el1
-rw-r--r--lisp/emacs-lisp/shortdoc.el12
2 files changed, 8 insertions, 5 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index b8d7b63a81a..ac040799a22 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -3590,6 +3590,7 @@ lambda-expression."
3590 (delq 2) (delete 2) 3590 (delq 2) (delete 2)
3591 (delete-dups 1) (delete-consecutive-dups 1) 3591 (delete-dups 1) (delete-consecutive-dups 1)
3592 (plist-put 1) 3592 (plist-put 1)
3593 (assoc-delete-all 2) (assq-delete-all 2) (rassq-delete-all 2)
3593 (fillarray 1) 3594 (fillarray 1)
3594 (store-substring 1) 3595 (store-substring 1)
3595 (clear-string 1) 3596 (clear-string 1)
diff --git a/lisp/emacs-lisp/shortdoc.el b/lisp/emacs-lisp/shortdoc.el
index 1e8ab4ad46d..8c44a4fb0a0 100644
--- a/lisp/emacs-lisp/shortdoc.el
+++ b/lisp/emacs-lisp/shortdoc.el
@@ -137,11 +137,11 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'),
137 :eval (assoc-string "foo" '(("foo" . "bar") ("zot" "baz")))) 137 :eval (assoc-string "foo" '(("foo" . "bar") ("zot" "baz"))))
138 "Manipulating Alists" 138 "Manipulating Alists"
139 (assoc-delete-all 139 (assoc-delete-all
140 :eval (assoc-delete-all "foo" '(("foo" . "bar") ("zot" . "baz")) #'equal)) 140 :eval (assoc-delete-all "b" (list '("a" . a) '("b" . b) '("b" . c))))
141 (assq-delete-all 141 (assq-delete-all
142 :eval (assq-delete-all 'foo '((foo . bar) (zot . baz)))) 142 :eval (assq-delete-all 2 (list '(1 . a) '(2 . b) '(2 . c))))
143 (rassq-delete-all 143 (rassq-delete-all
144 :eval (rassq-delete-all 'bar '((foo . bar) (zot . baz)))) 144 :eval (rassq-delete-all 'b (list '(1 . a) '(2 . b) '(2 . c))))
145 (alist-get 145 (alist-get
146 :eval (let ((foo '((bar . baz)))) 146 :eval (let ((foo '((bar . baz))))
147 (setf (alist-get 'bar foo) 'zot) 147 (setf (alist-get 'bar foo) 'zot)
@@ -705,10 +705,12 @@ A FUNC form can have any number of `:no-eval' (or `:no-value'),
705 :eval (assoc-default 2 '((1 . a) (2 . b) #'=))) 705 :eval (assoc-default 2 '((1 . a) (2 . b) #'=)))
706 (copy-alist 706 (copy-alist
707 :eval (copy-alist '((1 . a) (2 . b)))) 707 :eval (copy-alist '((1 . a) (2 . b))))
708 (assq-delete-all
709 :eval (assq-delete-all 2 (list '(1 . a) '(2 . b) '(2 . c))))
710 (assoc-delete-all 708 (assoc-delete-all
711 :eval (assoc-delete-all "b" (list '("a" . a) '("b" . b) '("b" . c)))) 709 :eval (assoc-delete-all "b" (list '("a" . a) '("b" . b) '("b" . c))))
710 (assq-delete-all
711 :eval (assq-delete-all 2 (list '(1 . a) '(2 . b) '(2 . c))))
712 (rassq-delete-all
713 :eval (rassq-delete-all 'b (list '(1 . a) '(2 . b) '(2 . c))))
712 "Property Lists" 714 "Property Lists"
713 (plist-get 715 (plist-get
714 :eval (plist-get '(a 1 b 2 c 3) 'b)) 716 :eval (plist-get '(a 1 b 2 c 3) 'b))