diff --git a/src/ikarus.boot b/src/ikarus.boot index 3a1df1d..132f3d9 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/libwriter.ss b/src/libwriter.ss index 10a0e5c..47aaeae 100644 --- a/src/libwriter.ss +++ b/src/libwriter.ss @@ -483,14 +483,14 @@ (formatter 'format p fmt args) (get-output-string p)))) - (define print-error - (lambda (who fmt . args) + (define display-error + (lambda (errname who fmt args) (unless (string? fmt) (error 'print-error "~s is not a string" fmt)) (let ([p (standard-error-port)]) (if who - (fprintf p "Error in ~a: " who) - (fprintf p "Error: ")) + (fprintf p "~a in ~a: " errname who) + (fprintf p "~a: " errname)) (formatter 'print-error p fmt args) (write-char #\. p) (newline p)))) @@ -515,7 +515,12 @@ (unless (output-port? p) (error 'display "~s is not an output port" p)) (display x p)])) - (primitive-set! 'print-error print-error) + (primitive-set! 'print-error + (lambda (who fmt . args) + (display-error "Error" who fmt args))) + (primitive-set! 'warning + (lambda (who fmt . args) + (display-error "Warning" who fmt args))) (primitive-set! 'error-handler (make-parameter (lambda args diff --git a/src/makefile.ss b/src/makefile.ss index e9ed0a0..ab0ad66 100755 --- a/src/makefile.ss +++ b/src/makefile.ss @@ -54,7 +54,7 @@ gensym gensym-count gensym-prefix print-gensym gensym->unique-string call-with-values values make-parameter dynamic-wind display write print-graph fasl-write printf fprintf format - print-error read-token read comment-handler error exit call/cc + print-error read-token read comment-handler error warning exit call/cc error-handler eval current-eval compile compile-file new-cafe load system expand sc-expand current-expand expand-mode environment? interaction-environment identifier?