X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fweak.lisp;h=e5300e106aab2185d8283e9e8b94e4507d5e1bdb;hb=625c9493a8a7b5186144d21302437cf4f4f3571c;hp=37b83a1d0d6812ff2ff7f70c177729cf8ddfd84d;hpb=e5f24ebc38e38c986df830fd1e4035d16bea4e5c;p=sbcl.git diff --git a/src/code/weak.lisp b/src/code/weak.lisp index 37b83a1..e5300e1 100644 --- a/src/code/weak.lisp +++ b/src/code/weak.lisp @@ -14,17 +14,15 @@ (defun make-weak-pointer (object) #!+sb-doc "Allocate and return a weak pointer which points to OBJECT." - (declare (values weak-pointer)) (make-weak-pointer object)) #!-sb-fluid (declaim (inline weak-pointer-value)) (defun weak-pointer-value (weak-pointer) #!+sb-doc "If WEAK-POINTER is valid, return the value of WEAK-POINTER and T. - If the referent of WEAK-POINTER has been garbage collected, returns - the values NIL and NIL." - (declare (type weak-pointer weak-pointer) - (values t (member t nil))) +If the referent of WEAK-POINTER has been garbage collected, +returns the values NIL and NIL." + (declare (type weak-pointer weak-pointer)) ;; We don't need to wrap this with a WITHOUT-GCING, because once we ;; have extracted the value, our reference to it will keep the weak ;; pointer from becoming broken. We just have to make sure the @@ -35,5 +33,5 @@ ;; compiler will never try to reorder them even in code where we ;; neglect to frame them in a LET? (let ((value (sb!c::%weak-pointer-value weak-pointer)) - (broken (sb!c::%weak-pointer-broken weak-pointer))) + (broken (sb!c::%weak-pointer-broken weak-pointer))) (values value (not broken))))