diff --git a/cli/zilch-go.scm b/cli/zilch-go.scm index 1fd5e35..3d14ea7 100644 --- a/cli/zilch-go.scm +++ b/cli/zilch-go.scm @@ -1,4 +1,4 @@ -(import (scheme base) (scheme write) (zilch statusbar) (zilch nix daemon) (zilch magic) (zilch lib getopt) (scheme process-context) (chicken process-context) (srfi 146) (chicken port) (chicken foreign)) +(import (scheme base) (scheme write) (zilch statusbar) (zilch nix daemon) (zilch magic) (zilch lib getopt) (scheme process-context) (chicken process-context) (srfi 146) (chicken port) (chicken foreign) (chicken condition)) (foreign-declare "#include ") (define get-cpu-count (foreign-lambda* int () @@ -48,6 +48,7 @@ executables in the module, if unspecified) ;; Set up the logger. (define (set-print-logs val) #f) +(let ((prev-error-handler (current-exception-handler))) (current-exception-handler (lambda data (set-print-logs #t) (apply prev-error-handler data)))) (when (terminal-port? (current-error-port)) (let-values (((new-out new-err statusbar-set-print-logs logger) (statusbar-logger (current-output-port) (current-error-port) (assoc 'print-build-logs options)))) (current-output-port new-out)