aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/emacs-lisp/cl-macs.el
diff options
context:
space:
mode:
authorGerd Moellmann <[email protected]>2000-02-18 10:50:09 +0000
committerGerd Moellmann <[email protected]>2000-02-18 10:50:09 +0000
commitc382fb0af7755f48312b964ecf9efa06cf9cc6e5 (patch)
treea671d9067ab5af647ce07513642ae5786670d73e /lisp/emacs-lisp/cl-macs.el
parent3c0ed7cec3830e853fcd1bfe15198107356d0e0b (diff)
(caar, cadr, cdar, cddr): Add defsetfs.
Diffstat (limited to 'lisp/emacs-lisp/cl-macs.el')
-rw-r--r--lisp/emacs-lisp/cl-macs.el4
1 files changed, 4 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index b0709ac1e4..f2663d7f38 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -1523,6 +1523,10 @@ Example: (defsetf nth (n x) (v) (list 'setcar (list 'nthcdr n x) v))."
(defsetf aref aset)
(defsetf car setcar)
(defsetf cdr setcdr)
+(defsetf caar (x) (val) (list 'setcar (list 'car x) val))
+(defsetf cadr (x) (val) (list 'setcar (list 'cdr x) val))
+(defsetf cdar (x) (val) (list 'setcdr (list 'car x) val))
+(defsetf cddr (x) (val) (list 'setcdr (list 'cdr x) val))
(defsetf elt (seq n) (store)
(list 'if (list 'listp seq) (list 'setcar (list 'nthcdr n seq) store)
(list 'aset seq n store)))