> 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

Reply via email to