> On Feb 20, 2017, at 7:02 AM, Daniel Llorens <daniel.llor...@bluewin.ch> wrote: > > > On 20 Feb 2017, at 15:40, Matt Wette <matt.we...@gmail.com > <mailto:matt.we...@gmail.com>> wrote: > >> 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))))) >> . . . > > each of the branches of the case returns a lambda (or throws an error). > ‘catch’ is a normal procedure, so this looks ok to me. > > >
Ah. Got it. Thanks. — Matt