;;; associated with Condition
(defvar *condition-restarts* ())
+(defun muffle-warning-p (warning)
+ (declare (special *muffled-warnings*))
+ (typep warning *muffled-warnings*))
+
(defun initial-handler-clusters ()
`(((warning . ,#'(lambda (warning)
- (when (typep warning
- (locally
- (declare (special sb!ext:*muffled-warnings*))
- sb!ext:*muffled-warnings*))
+ (when (muffle-warning-p warning)
(muffle-warning warning)))))))
(defvar *handler-clusters* (initial-handler-clusters))
(setq other (append (cdr alist) other))))
(collect ((res))
(let ((stack *restart-test-stack*))
- (declare (optimize sb!c::stack-allocate-dynamic-extent))
(dolist (restart-cluster *restart-clusters*)
(dolist (restart restart-cluster)
(when (and (or (not condition)
;; duraction of the test call.
(not (memq restart stack))
(let ((*restart-test-stack* (cons restart stack)))
- (declare (dynamic-extent *restart-test-stack*))
+ (declare (truly-dynamic-extent *restart-test-stack*))
(funcall (restart-test-function restart) condition)))
(res restart)))))
(res))))