Loading NEWS +2 −0 Original line number Diff line number Diff line ;;;; -*- coding: utf-8; -*- changes in sbcl-0.9.18 (1.0.beta?) relative to sbcl-0.9.16: * bug fix: two potential GC deadlocks affecting threaded builds. * bug fix: (TYPEP #\A '(NOT (MEMBER #\" #\{ #\:))) now correctly returns T (reported by Anton Kazennikov) changes in sbcl-0.9.17 (0.9.99?) relative to sbcl-0.9.16: * feature: weak hash tables, see MAKE-HASH-TABLE documentation Loading src/code/late-type.lisp +23 −23 Original line number Diff line number Diff line Loading @@ -3118,8 +3118,8 @@ used for a COMPLEX component.~:@>" (when (> (caar pairs) 0) (push (cons 0 (1- (caar pairs))) not-pairs)) (do* ((tail pairs (cdr tail)) (high1 (cdar tail)) (low2 (caadr tail))) (high1 (cdar tail) (cdar tail)) (low2 (caadr tail) (caadr tail))) ((null (cdr tail)) (when (< (cdar tail) (1- sb!xc:char-code-limit)) (push (cons (1+ (cdar tail)) Loading tests/type.pure.lisp +18 −0 Original line number Diff line number Diff line Loading @@ -257,6 +257,7 @@ (let ((deriver (intern (format nil "~A-DERIVE-UNSIGNED-~:[HIGH~;LOW~]-BOUND" op minimize) (find-package :sb-c)))) (format t "testing type derivation: ~A~%" deriver) (loop for a from 0 below size do (loop for b from a below size do (loop for c from 0 below size do Loading Loading @@ -346,3 +347,20 @@ ACTUAL ~D DERIVED ~D~%" (assert (typep #p"" 'sb-kernel:instance)) (assert (subtypep '(member #p"") 'sb-kernel:instance)) (with-test (:name (:typep :character-set :negation)) (flet ((generate-chars () (loop repeat 100 collect (code-char (random char-code-limit))))) (dotimes (i 1000) (let* ((chars (generate-chars)) (type `(member ,@chars)) (not-type `(not ,type))) (dolist (char chars) (assert (typep char type)) (assert (not (typep char not-type)))) (let ((other-chars (generate-chars))) (dolist (char other-chars) (unless (member char chars) (assert (not (typep char type))) (assert (typep char not-type))))))))) version.lisp-expr +1 −1 Original line number Diff line number Diff line Loading @@ -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.9.17.2" "0.9.17.3" Loading
NEWS +2 −0 Original line number Diff line number Diff line ;;;; -*- coding: utf-8; -*- changes in sbcl-0.9.18 (1.0.beta?) relative to sbcl-0.9.16: * bug fix: two potential GC deadlocks affecting threaded builds. * bug fix: (TYPEP #\A '(NOT (MEMBER #\" #\{ #\:))) now correctly returns T (reported by Anton Kazennikov) changes in sbcl-0.9.17 (0.9.99?) relative to sbcl-0.9.16: * feature: weak hash tables, see MAKE-HASH-TABLE documentation Loading
src/code/late-type.lisp +23 −23 Original line number Diff line number Diff line Loading @@ -3118,8 +3118,8 @@ used for a COMPLEX component.~:@>" (when (> (caar pairs) 0) (push (cons 0 (1- (caar pairs))) not-pairs)) (do* ((tail pairs (cdr tail)) (high1 (cdar tail)) (low2 (caadr tail))) (high1 (cdar tail) (cdar tail)) (low2 (caadr tail) (caadr tail))) ((null (cdr tail)) (when (< (cdar tail) (1- sb!xc:char-code-limit)) (push (cons (1+ (cdar tail)) Loading
tests/type.pure.lisp +18 −0 Original line number Diff line number Diff line Loading @@ -257,6 +257,7 @@ (let ((deriver (intern (format nil "~A-DERIVE-UNSIGNED-~:[HIGH~;LOW~]-BOUND" op minimize) (find-package :sb-c)))) (format t "testing type derivation: ~A~%" deriver) (loop for a from 0 below size do (loop for b from a below size do (loop for c from 0 below size do Loading Loading @@ -346,3 +347,20 @@ ACTUAL ~D DERIVED ~D~%" (assert (typep #p"" 'sb-kernel:instance)) (assert (subtypep '(member #p"") 'sb-kernel:instance)) (with-test (:name (:typep :character-set :negation)) (flet ((generate-chars () (loop repeat 100 collect (code-char (random char-code-limit))))) (dotimes (i 1000) (let* ((chars (generate-chars)) (type `(member ,@chars)) (not-type `(not ,type))) (dolist (char chars) (assert (typep char type)) (assert (not (typep char not-type)))) (let ((other-chars (generate-chars))) (dolist (char other-chars) (unless (member char chars) (assert (not (typep char type))) (assert (typep char not-type)))))))))
version.lisp-expr +1 −1 Original line number Diff line number Diff line Loading @@ -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.9.17.2" "0.9.17.3"