X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fntrace.lisp;h=609be520ff2cb33432657b631b4223e0b0ea25ec;hb=aab24d77d0eeafb6880dce4420d3f422ef7a0971;hp=c93e07f95c121b1b0e20b6780699e9e5e386ee0c;hpb=148e3820ad314a9b59d0133c1d60eaac4af9118b;p=sbcl.git diff --git a/src/code/ntrace.lisp b/src/code/ntrace.lisp index c93e07f..609be52 100644 --- a/src/code/ntrace.lisp +++ b/src/code/ntrace.lisp @@ -250,7 +250,7 @@ (trace-wherein-p frame wherein))))) (when conditionp (let ((sb-kernel:*current-level-in-print* 0) - (*standard-output* *trace-output*) + (*standard-output* (make-string-output-stream)) (*in-trace* t)) (fresh-line) (print-trace-indentation) @@ -263,7 +263,9 @@ (prin1 `(,(trace-info-what info) ,@arg-list))) (print-frame-call frame)) (terpri) - (trace-print frame (trace-info-print info))) + (trace-print frame (trace-info-print info)) + (write-sequence (get-output-stream-string *standard-output*) + *trace-output*)) (trace-maybe-break info (trace-info-break info) "before" frame))) (lambda (frame cookie) @@ -290,7 +292,7 @@ (let ((cond (trace-info-condition-after info))) (and cond (funcall (cdr cond) frame))))) (let ((sb-kernel:*current-level-in-print* 0) - (*standard-output* *trace-output*) + (*standard-output* (make-string-output-stream)) (*in-trace* t)) (fresh-line) (pprint-logical-block (*standard-output* nil) @@ -302,7 +304,9 @@ (pprint-newline :linear) (prin1 v))) (terpri) - (trace-print frame (trace-info-print-after info))) + (trace-print frame (trace-info-print-after info)) + (write-sequence (get-output-stream-string *standard-output*) + *trace-output*)) (trace-maybe-break info (trace-info-break-after info) "after"