lifetime analysis to overwrite closed-over variables (lp#681092).
* bug fix: encoding errors from some multibyte external formats such as EUC-JP
were not handled correctly (lp#713063).
+ * bug fix: printing waitqueue objects without setting *PRINT-CIRCLE* to T is now
+ safe (lp#673630).
changes in sbcl-1.0.45 relative to sbcl-1.0.44:
* enhancement: ~/ and ~user/ are treated specially in pathnames.
#!-sb-lutex
(token nil))
+(def!method print-object ((waitqueue waitqueue) stream)
+ (print-unreadable-object (waitqueue stream :type t :identity t)
+ (format stream "~@[~A~]" (waitqueue-name waitqueue))))
+
(defun make-waitqueue (&key name)
#!+sb-doc
"Create a waitqueue."
(sb-ext:timeout ()
:timeout)))))))
+;;;; Printing waitqueues
+
+(with-test (:name :waitqueue-circle-print)
+ (let* ((*print-circle* nil)
+ (lock (sb-thread:make-mutex))
+ (wq (sb-thread:make-waitqueue)))
+ (sb-thread:with-recursive-lock (lock)
+ (sb-thread:condition-notify wq))
+ ;; Used to blow stack due to recursive structure.
+ (assert (princ-to-string wq))))
+
;;;; SYMBOL-VALUE-IN-THREAD
(with-test (:name symbol-value-in-thread.1)
;;; 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.45.14"
+"1.0.45.15"