projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.5.50: some compare-and-swap changes
[sbcl.git]
/
src
/
pcl
/
braid.lisp
diff --git
a/src/pcl/braid.lisp
b/src/pcl/braid.lisp
index
00b4adc
..
7b00490
100644
(file)
--- a/
src/pcl/braid.lisp
+++ b/
src/pcl/braid.lisp
@@
-276,6
+276,7
@@
(set-slot 'name name)
(set-slot 'finalized-p t)
(set-slot 'source source)
(set-slot 'name name)
(set-slot 'finalized-p t)
(set-slot 'source source)
+ (set-slot 'safe-p nil)
(set-slot '%type (if (eq class (find-class t))
t
;; FIXME: Could this just be CLASS instead
(set-slot '%type (if (eq class (find-class t))
t
;; FIXME: Could this just be CLASS instead
@@
-369,6
+370,7
@@
(set-val 'writers (get-val :writers))
(set-val 'allocation :instance)
(set-val '%type (or (get-val :type) t))
(set-val 'writers (get-val :writers))
(set-val 'allocation :instance)
(set-val '%type (or (get-val :type) t))
+ (set-val '%type-check-function (get-val 'type-check-function))
(set-val '%documentation (or (get-val :documentation) ""))
(set-val '%class class)
(when effective-p
(set-val '%documentation (or (get-val :documentation) ""))
(set-val '%class class)
(when effective-p
@@
-425,8
+427,7
@@
(list class-name)
(list class-name)
"automatically generated boundp method")))
(list class-name)
(list class-name)
"automatically generated boundp method")))
- (let ((gf (ensure-generic-function accessor-name
- :lambda-list arglist)))
+ (let ((gf (ensure-generic-function accessor-name :lambda-list arglist)))
(if (find specls (early-gf-methods gf)
:key #'early-method-specializers
:test 'equal)
(if (find specls (early-gf-methods gf)
:key #'early-method-specializers
:test 'equal)
@@
-515,16
+516,12
@@
(cons name cpl)
wrapper prototype))))))
\f
(cons name cpl)
wrapper prototype))))))
\f
-(defmacro wrapper-of-macro (x)
- `(layout-of ,x))
-
-(defun class-of (x)
- (wrapper-class* (wrapper-of-macro x)))
-
-;;; FIXME: We probably don't need both WRAPPER-OF and WRAPPER-OF-MACRO.
#-sb-fluid (declaim (inline wrapper-of))
(defun wrapper-of (x)
#-sb-fluid (declaim (inline wrapper-of))
(defun wrapper-of (x)
- (wrapper-of-macro x))
+ (layout-of x))
+
+(defun class-of (x)
+ (wrapper-class* (wrapper-of x)))
(defun eval-form (form)
(lambda () (eval form)))
(defun eval-form (form)
(lambda () (eval form)))
@@
-589,6
+586,7
@@
(pushnew 'ensure-deffoo-class sb-kernel::*defstruct-hooks*)
(pushnew 'ensure-deffoo-class sb-kernel::*define-condition-hooks*)
\f
(pushnew 'ensure-deffoo-class sb-kernel::*defstruct-hooks*)
(pushnew 'ensure-deffoo-class sb-kernel::*define-condition-hooks*)
\f
+;;; FIXME: only needed during bootstrap
(defun make-class-predicate (class name)
(let* ((gf (ensure-generic-function name :lambda-list '(object)))
(mlist (if (eq *boot-state* 'complete)
(defun make-class-predicate (class name)
(let* ((gf (ensure-generic-function name :lambda-list '(object)))
(mlist (if (eq *boot-state* 'complete)