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 * bug fix: Pretty printing backquoted forms with unquotations in the
argument list position of various code constructs such as LAMBDA argument list position of various code constructs such as LAMBDA
now works correctly. (reported by Paul Dietz) 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 * optimization: performance of string output streams is now less
poor for multiple small sequence writes. poor for multiple small sequence writes.
* optimization: performance of CSUBTYPEP in the presence of complex * 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. 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). 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 [ If you provide SBCL-related services, please add your details to
this file keeping alphabetical order by surname, following the this file keeping alphabetical order by surname, following the

View file

@ -82,6 +82,12 @@
;; attributes rather than per-stream actually makes life easier. ;; attributes rather than per-stream actually makes life easier.
;; Since all of the attributes are shared in the dynamic state, we ;; Since all of the attributes are shared in the dynamic state, we
;; can do... -- CSR, 2003-09-30 ;; 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) (let ((output (with-output-to-string (s)
(write (cadr form) :stream s)))) (write (cadr form) :stream s))))
(unless (= (length output) 0) (unless (= (length output) 0)
@ -89,7 +95,7 @@
(or (char= (char output 0) #\.) (or (char= (char output 0) #\.)
(char= (char output 0) #\@))) (char= (char output 0) #\@)))
(write-char #\Space stream)) (write-char #\Space stream))
(write-sequence output stream)))) (write (cadr form) :stream stream))))
;;; This is called by !PPRINT-COLD-INIT, fairly late, because ;;; This is called by !PPRINT-COLD-INIT, fairly late, because
;;; SET-PPRINT-DISPATCH doesn't work until the compiler works. ;;; 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 ;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS ;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
"0.8.6.38" "0.8.6.39"