0.8.6.39:

Quiet.  Too quiet.  Fix bug in pprinting backquotes, introduced
	*sigh* when fixing the last bug...
	... we need to print once to a string stream, to look at the
		first character to make sure that it's not a @ or a .
	... and then we need to print again, but this time to the real
		stream (which is at a different logical block position)
	... yes, possibly there is a better way.

	Also put identity where mouth is: add self to SUPPORT
This commit is contained in:
Christophe Rhodes 2003-12-16 17:40:39 +00:00
parent a01555b9a3
commit a0d9e7847b
4 changed files with 16 additions and 2 deletions

2
NEWS
View file

@ -2211,6 +2211,8 @@ changes in sbcl-0.8.7 relative to sbcl-0.8.6:
* bug fix: Pretty printing backquoted forms with unquotations in the
argument list position of various code constructs such as LAMBDA
now works correctly. (reported by Paul Dietz)
* bug fix: Pretty printing unquotations no longer loses all
stream position information.
* optimization: performance of string output streams is now less
poor for multiple small sequence writes.
* optimization: performance of CSUBTYPEP in the presence of complex

View file

@ -47,6 +47,12 @@ Web: http://web.metacircles.com/sbcl
Expertise: Lowlevel issues (threads, GC, runtime support). Ports to new systems. Network/web applications. ASDF, asdf-install, contrib issues.
Offerings: Custom programming. Email-based support (per-incident).
Name: Christophe Rhodes
Email: csr21@cam.ac.uk
PGP: 1024D/52D68DF2 : B36B 91C5 1835 DB9B FBAB 735B 84C5 E278 52D6 8DF2
Expertise: Ports to new systems, optimizations of current platforms. Library bug fixes or enhancements.
Offerings: Custom programming.
[ If you provide SBCL-related services, please add your details to
this file keeping alphabetical order by surname, following the

View file

@ -82,6 +82,12 @@
;; attributes rather than per-stream actually makes life easier.
;; Since all of the attributes are shared in the dynamic state, we
;; can do... -- CSR, 2003-09-30
;;
;; [...] above referred to the trick of printing to a string stream,
;; and then simply printing the resulting sequence to the pretty
;; stream, possibly with a space prepended. However, this doesn't
;; work for pretty streams which need to do margin calculations. Oh
;; well. It was good while it lasted. -- CSR, 2003-12-15
(let ((output (with-output-to-string (s)
(write (cadr form) :stream s))))
(unless (= (length output) 0)
@ -89,7 +95,7 @@
(or (char= (char output 0) #\.)
(char= (char output 0) #\@)))
(write-char #\Space stream))
(write-sequence output stream))))
(write (cadr form) :stream stream))))
;;; This is called by !PPRINT-COLD-INIT, fairly late, because
;;; SET-PPRINT-DISPATCH doesn't work until the compiler works.

View file

@ -17,4 +17,4 @@
;;; 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".)
"0.8.6.38"
"0.8.6.39"