Mercurial > hg > xemacs-beta
diff lisp/cl-macs.el @ 398:74fd4e045ea6 r21-2-29
Import from CVS: tag r21-2-29
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:13:30 +0200 |
parents | aabb7f5b1c81 |
children | 2f8bb876ab1d |
line wrap: on
line diff
--- a/lisp/cl-macs.el Mon Aug 13 11:12:06 2007 +0200 +++ b/lisp/cl-macs.el Mon Aug 13 11:13:30 2007 +0200 @@ -1647,12 +1647,12 @@ (defsetf extent-priority set-extent-priority) (defsetf extent-property (x y &optional ignored-arg) (arg) (list 'set-extent-property x y arg)) +(defsetf extent-start-position (ext) (store) + `(progn (set-extent-endpoints ,ext ,store (extent-end-position ,ext)) + ,store)) (defsetf extent-end-position (ext) (store) - (list 'progn (list 'set-extent-endpoints (list 'extent-start-position ext) - store) store)) -(defsetf extent-start-position (ext) (store) - (list 'progn (list 'set-extent-endpoints store - (list 'extent-end-position ext)) store)) + `(progn (set-extent-endpoints ,ext (extent-start-position ,ext) ,store) + ,store)) (defsetf face-background (f &optional s) (x) (list 'set-face-background f x s)) (defsetf face-background-pixmap (f &optional s) (x) (list 'set-face-background-pixmap f x s)) @@ -2744,10 +2744,11 @@ (setq form (list 'cons (car args) form))) form)) -(define-compiler-macro get* (sym prop &optional def) - (if def - (list 'getf (list 'symbol-plist sym) prop def) - (list 'get sym prop))) +(define-compiler-macro get* (sym prop &optional default) + (list 'get sym prop default)) + +(define-compiler-macro getf (sym prop &optional default) + (list 'plist-get sym prop default)) (define-compiler-macro typep (&whole form val type) (if (cl-const-expr-p type) @@ -2795,7 +2796,7 @@ ; abs expt signum last butlast ldiff ; pairlis gcd lcm ; isqrt floor* ceiling* truncate* round* mod* rem* subseq -; list-length get* getf)) +; list-length getf)) ; (put fun 'side-effect-free t)) ;;; Things that are side-effect-and-error-free. Moved to byte-optimize.el