This code looks wrong to me: 3rd arg to catch is not a procedure.  Am I missing 
something?  It starts at line 113 in system/repl/error-handling.scm, 
guile-2.0.13:

    (catch #t
      (lambda () 
        (with-default-trap-handler le-trap-handler
          (lambda () (%start-stack #t thunk))))

      (case post-error
        ((report)
         (lambda (key . args)
           (if (memq key pass-keys)
               (apply throw key args)
               (begin
                 (with-saved-ports
                   (lambda ()
                     (run-hook before-error-hook)
                     (print-exception err #f key args)
                     (run-hook after-error-hook)
                     (force-output err)))
                 (if #f #f)))))
       . . .



Reply via email to