Changeset 285
- Timestamp:
- Jan 13, 2004, 5:06:25 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/ccl/level-1/l1-clos-boot.lisp (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/level-1/l1-clos-boot.lisp
r257 r285 176 176 instance slot-id)) 177 177 (defun %slot-id-ref-missing (instance slot-id) 178 ( slot-missing (class-of instance) instance (slot-id.name slot-id) 'slot-value))178 (values (slot-missing (class-of instance) instance (slot-id.name slot-id) 'slot-value))) 179 179 180 180 (defun %slot-id-set-obsolete (instance slot-id new-value) … … 184 184 185 185 (defun %slot-id-set-missing (instance slot-id new-value) 186 (slot-missing (class-of instance) instance (slot-id.name slot-id) '(setf slot-value) new-value)) 186 (slot-missing (class-of instance) instance (slot-id.name slot-id) 'setf new-value) 187 new-value 188 ) 187 189 188 190 … … 550 552 (when (and def (not (typep def 'generic-function))) 551 553 (cerror "Try to remove any global non-generic function or macro definition." 552 "~s is defined as something other than a generic function." function-name)554 (make-condition 'simple-program-error :format-control "The functio ~s is defined as something other than a generic function." :format-arguments (list function-name))) 553 555 (fmakunbound function-name) 554 556 (setq def nil)) … … 1063 1065 nil 1064 1066 nil 1065 #'(lambda (x y) ( vanilla-unionx y))1067 #'(lambda (x y) (hierarchical-union2 x y)) 1066 1068 nil 1067 #'(lambda (x y) ( vanilla-intersectionx y))1069 #'(lambda (x y) (hierarchical-intersection2 x y)) 1068 1070 nil 1069 1071 #'missing-type-method … … 1101 1103 (new-type-class 'foreign) 1102 1104 (new-type-class 'cons) 1105 (new-type-class 'intersection) 1106 (new-type-class 'negation) 1103 1107 (defparameter *class-type-class* (new-type-class 'class)) 1104 1108 … … 1585 1589 (make-built-in-class 'foreign-ctype *ctype-class*) 1586 1590 (make-built-in-class 'class-ctype *ctype-class*) 1591 (make-built-in-class 'negation-ctype *ctype-class*) 1592 (make-built-in-class 'intersection-ctype *ctype-class*) 1587 1593 1588 1594 … … 2294 2300 (if slotd 2295 2301 (slot-value-using-class class instance slotd) 2296 ( slot-missing class instance slot-name 'slot-value))))2302 (values (slot-missing class instance slot-name 'slot-value))))) 2297 2303 2298 2304 … … 2320 2326 (if slotd 2321 2327 (setf (slot-value-using-class class instance slotd) value) 2322 (slot-missing class instance name '(setf slot-value) value)))) 2328 (progn 2329 (slot-missing class instance name 'setf value) 2330 value)))) 2323 2331 2324 2332 (defsetf slot-value set-slot-value) 2325 2333 2326 2334 (defun slot-makunbound (instance name) 2327 (let* ((class (class-of instance)) 2328 (slotd (find-slotd name (%class-slots class)))) 2329 (if slotd 2330 (slot-makunbound-using-class class instance slotd) 2331 (slot-missing class instance name 'slot-makunbound)))) 2335 (let* ((class (class-of instance)) 2336 (slotd (find-slotd name (%class-slots class)))) 2337 (if slotd 2338 (slot-makunbound-using-class class instance slotd) 2339 (slot-missing class instance name 'slot-makunbound)) 2340 instance)) 2332 2341 2333 2342 (defun %std-slot-vector-boundp (slot-vector slotd) … … 2359 2368 (if slotd 2360 2369 (slot-boundp-using-class class instance slotd) 2361 ( slot-missing class instance name 'slot-boundp))))2370 (values (slot-missing class instance name 'slot-boundp))))) 2362 2371 2363 2372 (defun slot-value-if-bound (instance name &optional default) … … 2648 2657 (if bad-keys? 2649 2658 (if errorp 2650 (error #'(lambda (stream key name class vect) 2651 (let ((*print-array* t)) 2652 (format stream 2653 "~s is an invalid initarg to ~s for ~s.~%~ 2659 (signal-program-error 2660 "~s is an invalid initarg to ~s for ~s.~%~ 2654 2661 Valid initargs: ~s." 2655 key name class vect))) 2656 bad-key (function-name (car functions)) class initvect) 2662 bad-key 2663 (function-name (car functions)) 2664 class (coerce initvect 'list)) 2657 2665 (values bad-keys? bad-key)))) 2658 2666 (if (eq initarg :allow-other-keys) … … 3075 3083 (cond ((equal apo req) nil) 3076 3084 ((not (eql (length apo) (length req))) 3077 ( error "Lengths of ~S and ~S differ." apo req))3085 (signal-program-error "Lengths of ~S and ~S differ." apo req)) 3078 3086 (t (let ((res nil)) 3079 3087 (dolist (arg apo (nreverse res))
Note:
See TracChangeset
for help on using the changeset viewer.
