Changeset 5674
- Timestamp:
- Jan 2, 2007, 8:57:53 AM (18 years ago)
- File:
-
- 1 edited
-
trunk/ccl/lib/macros.lisp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/lib/macros.lisp
r5604 r5674 870 870 (if (eq construct 'etypecase) 871 871 (push `(t (values (%err-disp #.$XWRONGTYPE ,key-var ',types))) body) 872 (push `(t (setf ,key -var(ensure-value-of-type ,key-var ',types ',keyform))872 (push `(t (setf ,keyform (ensure-value-of-type ,key-var ',types ',keyform)) 873 873 (go ,e-c-p)) body)))) 874 874 `(cond ,@(nreverse body)))) … … 892 892 ,(typecase-aux key-var clauses 'etypecase)))) 893 893 894 (defmacro ctypecase (key form&body clauses)895 "CTYPECASE Key form{(Type Form*)}*894 (defmacro ctypecase (keyplace &body clauses) 895 "CTYPECASE Key {(Type Form*)}* 896 896 Evaluates the Forms in the first clause for which TYPEP of Keyform and Type 897 897 is true. If no form is satisfied then a correctable error is signalled." … … 899 899 (tag (gensym))) 900 900 `(prog (,key-var) 901 (setq ,key-var ,keyform)902 901 ,tag 903 (return ,(typecase-aux key-var clauses tag keyform))))) 902 (setq ,key-var ,keyplace) 903 (return ,(typecase-aux key-var clauses tag keyplace))))) 904 904 905 905 (defmacro destructuring-bind (lambda-list expression &body body)
Note:
See TracChangeset
for help on using the changeset viewer.
