X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Ftoplevel.lisp;h=830c1c25aabdbec929db905fb1dc48a3f853c2b9;hb=abd50c820df25616883a6850df1780044365137e;hp=2dae8cbdc1db3c5bdbadda399c48c82e5c120dea;hpb=04ae4aeb2cd1f95e0648d179c0d22ebf2148fc99;p=sbcl.git diff --git a/src/code/toplevel.lisp b/src/code/toplevel.lisp index 2dae8cb..830c1c2 100644 --- a/src/code/toplevel.lisp +++ b/src/code/toplevel.lisp @@ -25,9 +25,7 @@ ;;; specials initialized by !COLD-INIT ;;; FIXME: These could be converted to DEFVARs. -(declaim (special *gc-inhibit* *need-to-collect-garbage* - *after-gc-hooks* - #!+(or x86 x86-64) *pseudo-atomic-atomic* +(declaim (special #!+(or x86 x86-64) *pseudo-atomic-atomic* #!+(or x86 x86-64) *pseudo-atomic-interrupted* sb!unix::*interrupts-enabled* sb!unix::*interrupt-pending* @@ -298,8 +296,10 @@ steppers to maintain contextual information.") *error-output* *query-io* *standard-output* - *trace-output*)) - (finish-output (symbol-value name))) + *trace-output* + *terminal-io*)) + ;; FINISH-OUTPUT may block more easily than FORCE-OUTPUT + (force-output (symbol-value name))) (values)) (defun process-init-file (truename) @@ -586,6 +586,7 @@ steppers to maintain contextual information.") (scrub-control-stack) (sb!thread::get-foreground) (unless noprint + (flush-standard-output-streams) (funcall *repl-prompt-fun* *standard-output*) ;; (Should *REPL-PROMPT-FUN* be responsible for doing its own ;; FORCE-OUTPUT? I can't imagine a valid reason for it not to