Comment 1 for bug 1738486

Paul F. Dietz (paul-f-dietz) wrote :

Adding a THROW or ERROR before the recursive call (so the function always terminates) also fails:

(defun f46a (p)
  (let ((s (labels ((%f () (throw 'foo nil) (%f))) (if p (%f) 1))))
    (declare (dynamic-extent s))
    (1+ s)))