0.8.6.39:
authorChristophe Rhodes <csr21@cam.ac.uk>
Tue, 16 Dec 2003 17:40:39 +0000 (17:40 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Tue, 16 Dec 2003 17:40:39 +0000 (17:40 +0000)
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

NEWS
SUPPORT
src/code/pp-backq.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index a55d2f7..ec5029a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -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
diff --git a/SUPPORT b/SUPPORT
index 0250eb6..1dfd0f2 100644 (file)
--- a/SUPPORT
+++ b/SUPPORT
@@ -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
index 9b2ff78..9c4c7c9 100644 (file)
   ;; 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.
index 7dd1666..f405237 100644 (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"