(defmethod single-step ((condition step-values-condition))
(let ((values (step-condition-result condition)))
(format *debug-io* "; ~A => ~:[#<no value>~;~{~S~^, ~}~]~%"
(defmethod single-step ((condition step-values-condition))
(let ((values (step-condition-result condition)))
(format *debug-io* "; ~A => ~:[#<no value>~;~{~S~^, ~}~]~%"
(let ((line (read-line *debug-io*)))
(if (plusp (length line))
(case (char-upcase (schar line 0))
(let ((line (read-line *debug-io*)))
(if (plusp (length line))
(case (char-upcase (schar line 0))
#+sb-doc "Customization hook for alternative single-steppers.
*STEPPER-HOOK* is bound to NIL prior to calling the bound function
with the STEP-CONDITION as argument.")
#+sb-doc "Customization hook for alternative single-steppers.
*STEPPER-HOOK* is bound to NIL prior to calling the bound function
with the STEP-CONDITION as argument.")
(defun invoke-stepper (condition)
(when (and *stepping* *stepper-hook*)
(let ((hook *stepper-hook*)
(defun invoke-stepper (condition)
(when (and *stepping* *stepper-hook*)
(let ((hook *stepper-hook*)
functions in question have been compiled with sufficient DEBUG policy
to be at least partially steppable."
`(let ((*stepping* t)
functions in question have been compiled with sufficient DEBUG policy
to be at least partially steppable."
`(let ((*stepping* t)
(declare (optimize (sb-c:insert-step-conditions 0)))
(format t "Single stepping. Type ? for help.~%")
(locally (declare (optimize (sb-c:insert-step-conditions 3)))
(declare (optimize (sb-c:insert-step-conditions 0)))
(format t "Single stepping. Type ? for help.~%")
(locally (declare (optimize (sb-c:insert-step-conditions 3)))