Index: csc.scm =================================================================== --- csc.scm (revision 15417) +++ csc.scm (working copy) @@ -919,13 +919,12 @@ (let ((str (if windows-shell (string-append "\"" str "\"") str))) - (set! last-exit-code - (if dry-run - 0 - (system str))) - (unless (zero? last-exit-code) - (printf "\nError: shell command terminated with non-zero exit status ~S: ~A~%" last-exit-code str) ) - last-exit-code)) + (let ((raw-exit-code (if dry-run 0 (system str)))) + (unless (zero? raw-exit-code) + (printf "\nError: shell command terminated with non-zero exit status ~S: ~A~%" raw-exit-code str)) + (set! last-exit-code + (if (zero? raw-exit-code) 0 1)) + last-exit-code))) (define ($delete-file str) (when verbose