[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug in system/repl/error-handling.scm ?

From: Daniel Llorens
Subject: Re: Bug in system/repl/error-handling.scm ?
Date: Mon, 20 Feb 2017 16:02:40 +0100

On 20 Feb 2017, at 15:40, Matt Wette <address@hidden> 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
         (lambda (key . args)
           (if (memq key pass-keys)
               (apply throw key args)
                   (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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]