- (flet ((resignal (condition)
- ;; Signal the condition to give user defined handlers a chance,
- ;; if they decline convert to compiler-error.
- (signal condition)
- (sb!c:compiler-error condition)))
- (handler-bind ((package-lock-violation #'resignal))
- (with-single-package-locked-error ()
- (assert-symbol-home-package-unlocked symbol control)))))
+ (handler-bind ((package-lock-violation
+ (lambda (condition)
+ (ecase context
+ (:compile
+ (warn "Compile-time package lock violation:~% ~A"
+ condition)
+ (sb!c:compiler-error condition))
+ (:eval
+ (eval-error condition))))))
+ (with-single-package-locked-error (:symbol symbol control))))