wingo pushed a commit to branch wip-port-refactor
in repository guile.
commit 110695c82e724521dbd0ebedee8f85fef2c418a2
Author: Andy Wingo <[email protected]>
Date: Wed Apr 13 11:12:24 2016 +0200
Fix error in exception printer when bootstrapping
* module/ice-9/boot-9.scm (exception-printers): Fix error in which, for
a pure bootstrap with no compiled files, the exception printer would
use false-with-exception before it has been defined, which doesn't
work for macros. We wouldn't see this problem normally because,
oddly, the macro is indeed defined normally because of boot reasons.
---
module/ice-9/boot-9.scm | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/module/ice-9/boot-9.scm b/module/ice-9/boot-9.scm
index 6da8085..9e9efe6 100644
--- a/module/ice-9/boot-9.scm
+++ b/module/ice-9/boot-9.scm
@@ -895,7 +895,10 @@ for key @var{k}, then invoke @var{thunk}."
(when frame
(print-location frame port)
- (let ((name (false-if-exception (frame-procedure-name frame))))
+ ;; When booting, false-if-exception isn't defined yet.
+ (let ((name (catch #t
+ (lambda () (frame-procedure-name frame))
+ (lambda _ #f))))
(when name
(format port "In procedure ~a:\n" name))))