From e303f38caaf6055614e7cf5cc542cfb7da22d070 Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Thu, 23 Apr 2009 11:21:16 +0000 Subject: [PATCH] 1.0.27.24: robustify DEFPACKAGE form pretty-printing * Thanks to Sidney Markowitz. * A few missing NEWS entries. --- NEWS | 9 +++++++++ src/code/pprint.lisp | 2 +- tests/pprint.impure.lisp | 6 ++++++ version.lisp-expr | 2 +- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 27172f606..66b429c5a 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,14 @@ ;;;; -*- coding: utf-8; fill-column: 78 -*- changes in sbcl-1.0.28 relative to 1.0.27: + * bug fix: pretty printing malformed DEFPACKAGE forms (thanks to Sidney + Markowitz) + * bug fix: running regressions tests in shells without OSTYPE set now works. + (reported by Harald Hanche-Olsen) + * bug fix: more robust static space exhaustion signalling from + MAKE-STATIC-VECTOR (thanks to Daniel Lowe) + * bug fix: (SETF DOCUMENTATION) for anonymous function now throws the + docstring away instead of storing it under names such as (LAMBDA (X)). + (reported by Leslie Polzer) * bug fix: timers could go off in the wrong order, be delayed indefinitely (thanks to Ole Arndt for the patch) * bug fix: RESTART-FRAME and RETURN-FROM-FRAME stack corruption diff --git a/src/code/pprint.lisp b/src/code/pprint.lisp index 89bac81df..74c368c96 100644 --- a/src/code/pprint.lisp +++ b/src/code/pprint.lisp @@ -1241,7 +1241,7 @@ line break." (defun pprint-defpackage (stream list &rest noise) (declare (ignore noise)) (funcall (formatter - "~:<~W~^ ~3I~:_~W~^~1I~@{~:@_~:<~W~^ ~:I~@_~@{~W~^ ~_~}~:>~}~:>") + "~:<~W~^ ~3I~:_~W~^~1I~@{~:@_~:<~^~W~^ ~:I~@_~@{~W~^ ~_~}~:>~}~:>") stream list)) diff --git a/tests/pprint.impure.lisp b/tests/pprint.impure.lisp index 05a7525fe..bf85bcf83 100644 --- a/tests/pprint.impure.lisp +++ b/tests/pprint.impure.lisp @@ -200,5 +200,11 @@ (assert (string= "#1=(#2=(#2# . #3=(#1# . #3#)))" (with-output-to-string (s) (write '#1=(#2=(#2# . #3=(#1# . #3#))) :stream s))))) + +;;; Printing malformed defpackage forms without errors. +(with-test (:name :pprint-defpackage) + (with-open-stream (null (make-broadcast-stream)) + (pprint '(defpackage :foo nil)) + (pprint '(defpackage :foo 42)))) ;;; success diff --git a/version.lisp-expr b/version.lisp-expr index 564bdcc12..a6c29293d 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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".) -"1.0.27.23" +"1.0.27.24"