diff --git a/src/ikarus.boot b/src/ikarus.boot index 2c04860..f3830e1 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/ikarus.symbols.ss b/src/ikarus.symbols.ss index 9e2457d..1b73639 100644 --- a/src/ikarus.symbols.ss +++ b/src/ikarus.symbols.ss @@ -39,7 +39,7 @@ (error 'top-level-value "~s is not a symbol" x)) (let ([v ($symbol-value x)]) (when ($unbound-object? v) - (error 'top-level-value "unbound variable ~s" x)) + (error 'eval "~a is unbound" x)) v))) (define top-level-bound? @@ -87,8 +87,10 @@ (if (procedure? v) v (lambda args - (error 'apply "~s is not a procedure" - ($symbol-value x)))))))) + (let ([v ($symbol-value x)]) + (if ($unbound-object? v) + (error 'eval "~a is unbound" x) + (error 'apply "~s is not a procedure" v))))))))) (define string->symbol (lambda (x)