- (let ((global (ignore-errors (symbol-global-value object)))
- (local (symbol-value object)))
- (call global)
- (unless (eq local global)
- (call local))))
+ (let ((local (symbol-value object)))
+ (handler-case
+ ;; Possibly bound only in the current thread -- and we don't
+ ;; have GLOBAL-BOUNDP.
+ (let ((global (sb-ext:symbol-global-value object)))
+ (unless (eq local global)
+ (call global)))
+ (unbound-variable ()
+ nil))))