Hi,

In (cuirass base) there is this definition:

--8<---------------cut here---------------start------------->8---
(define (exception-reporter . results)
  "Return an exception handler that reports the exception on the error port
and returns the values RESULTS."
  (lambda (key . args)
    (false-if-exception
     (let* ((stack (make-stack #t))
            (depth (stack-length stack))
            (frame (or (and (> depth 1) (stack-ref stack 1))
                       (and (> depth 0)) (stack-ref stack 0))))
       (print-exception (current-error-port) frame key args)
       (apply values results)))))
--8<---------------cut here---------------end--------------->8---

The parentheses for the binding of “frame” look wrong to me:

(frame (or (and (> depth 1) (stack-ref stack 1))
           (and (> depth 0))
           (stack-ref stack 0)))

-- 
Ricardo

Reply via email to