Ignore:
Timestamp:
Jul 21, 2011, 7:00:54 AM (8 years ago)
Author:
gb
Message:

In SIGNAL-COMPILER-WARNING, try to ensure that *ERROR-OUTPUT* is at column
0 before and after each warning is printed; when printing the warning
to the INDENTING-STRING-STREAM, don't print a leading unconditional
newline, but do print the prefix information on the start of the first
line. (If we're going to use INDENTING-STRING-STREAMs, we might change
their implementation so that this doesn't have to be done manually.)

This seems to fix the problem that r14824 tried to address (forcing
any user-generated output to be on a fresh line) without causing
multiple warnings to be printed with extra vertical whitespace (when
the trailing ~& from one warning was followed by the unconditional
newline from a subsequent warning.)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/sysutils.lisp

    r14824 r14896  
    709709(defparameter *suppress-compiler-warnings* nil)
    710710
     711
    711712(defun signal-compiler-warning (w init-p last-w-file harsh-p any-p &optional eval-p)
    712713  (let ((muffled *suppress-compiler-warnings*)
     
    729730        (if w-file (format s "for ~S :" w-file) (princ ":" s)))
    730731      (let* ((indenting-stream (make-indenting-string-output-stream #\; 4)))
    731         (format indenting-stream "~%~a" w)
    732         (format s "~a~&" (get-output-stream-string indenting-stream))))
     732        (format indenting-stream ";~4t~a" w)
     733        (format s "~&~a~&" (get-output-stream-string indenting-stream))))
    733734    (values harsh-p any-p w-file)))
    734735
Note: See TracChangeset for help on using the changeset viewer.