eudoxia0 / clack-errors

Error page middleware for Clack.
27 stars 3 forks source link

Rewrite it with handler-bind because handler-case doesn't keep stacks. #8

Closed fukamachi closed 8 years ago

fukamachi commented 8 years ago

Replaced handler-case by handler-bind because handler-case doesn't keep stacks.

You can reproduce the issue with this simple example:

(defun raise-an-error ()
  (error "Something wrong"))

(clack:clackup
 (lack:builder
  clack-errors:*clack-error-middleware*
  (lambda (env)
    (declare (ignore env))
    (raise-an-error))))

When using master branch, raise-an-error isn't shown in stacktraces though it's where the error was signaled.