1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-11 22:31:12 +02:00

Second thoughts, keep handle-system-error but call it from

error-catching-loop.
This commit is contained in:
Gary Houston 1996-10-17 21:56:22 +00:00
parent 9a0d70e21e
commit 35c5db8731
2 changed files with 16 additions and 12 deletions

View file

@ -6,6 +6,9 @@ Thu Oct 17 20:33:08 1996 Gary Houston <ghouston@actrix.gen.nz>
Just interpret (almost) any throw with 4 args as an error throw.
Delete some try-load stuff that was already commented out.
Second thoughts, keep handle-system-error but call it from
error-catching-loop.
Tue Oct 15 17:07:20 1996 Jim Blandy <jimb@floss.cyclic.com>
* boot-9.scm: Doc fixes.

View file

@ -2039,23 +2039,24 @@
;; This is the other cons-leak closure...
(lambda ()
(cond ((= (length args) 4)
;; anything with 4 args is interpreted as an
;; error throw.
(let ((cep (current-error-port)))
(if (and (memq 'backtrace (debug-options))
(stack? the-last-stack))
(begin
(newline cep)
(display-backtrace the-last-stack cep)
(newline cep)))
(apply display-error the-last-stack cep args)
(force-output cep)
(throw 'abort key)))
(apply handle-system-error key args))
(else
(apply bad-throw key args))))))))))
(and next (loop next))))
(loop (lambda () #t)))
(define (handle-system-error key . args)
(let ((cep (current-error-port)))
(if (and (memq 'backtrace (debug-options))
(stack? the-last-stack))
(begin
(newline cep)
(display-backtrace the-last-stack cep)
(newline cep)))
(apply display-error the-last-stack cep args)
(force-output cep)
(throw 'abort key)))
(define (quit . args)
(apply throw 'quit args))