The only one that is potentially controversial is the use of
READ-PRESERVING-WHITESPACE...
3 commit messages follow:
don't print array SB!KERNEL:TYPE in internal error strings
Use the specifier instead. (This is a long-standing bug; FIXME: try to
find a test case).
Use read-preserving-whitespace rather than just read in the compiler
With just CL:READ, at least CLISP and SBCL differ on the source
locations dumped in the fasls; with READ-PRESERVING-WHITESPACE, things
are consistent.
disassembler / printer names.
The compiler wants to generate names based on all sorts of information,
including byte specs, and attempts to make those names by printing all
that information into one big string. Unfortunately, that allows the
host to insert line breaks, which it will do with maximal perversity.
Bind *PRINT-RIGHT-MARGIN* around the printing call in an attempt to
minimize this problem.
(push (eval `(list (multiple-value-list
,(sb!disassem:gen-printer-def-forms-def-form
name
- (format nil "~@:(~A[~A]~)" name args)
+ (let ((*print-right-margin* 1000))
+ (format nil "~@:(~A[~A]~)" name args))
(cdr option-spec)))))
pdefs))
(:printer-list
`(multiple-value-list
,(sb!disassem:gen-printer-def-forms-def-form
',name
- (format nil "~@:(~A[~A]~)" ',name printer)
+ (let ((*print-right-margin* 1000))
+ (format nil "~@:(~A[~A]~)" ',name printer))
printer
nil)))
,(cadr option-spec)))))
(list
(symbolicate "OBJECT-NOT-" (sb!vm:saetp-primitive-type-name saetp))
(format nil "Object is not of type ~A."
- (specifier-type
- `(simple-array ,(sb!vm:saetp-specifier saetp) (*))))))
+ (type-specifier
+ (specifier-type
+ `(simple-array ,(sb!vm:saetp-specifier saetp) (*)))))))
sb!vm:*specialized-array-element-type-properties*))
;;; error condition (possibly recording some extra location
;;; information).
(defun read-for-compile-file (stream position)
- (handler-case (read stream nil stream)
+ (handler-case
+ (read-preserving-whitespace stream nil stream)
(reader-error (condition)
(error 'input-error-in-compile-file
:condition condition
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.27.33"
+"1.0.27.34"