+;;;; -*- coding: utf-8; -*-
changes in sbcl-0.9.3 relative to sbcl-0.9.2:
* New feature: Experimental support for bivalent streams: streams
opened with :element-type :default now allow character and binary
* bug fix: no more highly sporadic "couldn't check whether ~S is
readable" when reading a stream and an interrupt hits in the middle
of a select system call
+
+ * compiler better recognizes complex arrays (reported by Eduardo
+ Muñoz)
+ * bug fix: out-of-line SB-SYS:FOREIGN-SYMBOL-ADDRESS did not work
+ for variables on SBCL built with linkage-tables. (reported by Luis
+ Oliveira)
* threads
** added x86-64 support
** incompatible change: the threading api now works with thread
t))))
(defun foreign-symbol-address-as-integer (name &optional datap)
- (or (foreign-symbol-address-as-integer-or-nil name datap)
- (error "Unknown foreign symbol: ~S" name)))
+ (multiple-value-bind (addr sharedp)
+ (foreign-symbol-address-as-integer-or-nil name datap)
+ (if addr
+ (values addr sharedp)
+ (error "Unknown foreign symbol: ~S" name))))
(defun foreign-symbol-address (symbol &optional datap)
(declare (ignorable datap))
((and (listp dims) (/= (length dims) 1))
;; multi-dimensional array, will have a header
(specifier-type '(eql t)))
+ ((eql (array-type-complexp type) t)
+ (specifier-type '(eql t)))
(t
nil)))))))
(movable flushable))
(defknown foreign-symbol-address-as-integer (simple-string &optional boolean)
- integer
+ (values integer boolean)
(movable flushable))
;;;; miscellaneous internal utilities
(LAMBDA (B)
(DECLARE (TYPE (INTEGER -2 14) B))
(DECLARE (IGNORABLE B))
- (ASH (IMAGPART B) 57)))
\ No newline at end of file
+ (ASH (IMAGPART B) 57)))
+
+;;; bug reported by Eduardo Mu\~noz
+(multiple-value-bind (fun warnings failure)
+ (compile nil '(lambda (struct first)
+ (declare (optimize speed))
+ (let* ((nodes (nodes struct))
+ (bars (bars struct))
+ (length (length nodes))
+ (new (make-array length :fill-pointer 0)))
+ (vector-push first new)
+ (loop with i fixnum = 0
+ for newl fixnum = (length new)
+ while (< newl length) do
+ (let ((oldl (length new)))
+ (loop for j fixnum from i below newl do
+ (dolist (n (node-neighbours (aref new j) bars))
+ (unless (find n new)
+ (vector-push n new))))
+ (setq i oldl)))
+ new)))
+ (declare (ignore fun warnings failure))
+ (assert (not failure)))
+#-sb-unicode
+(sb-ext:quit :unix-status 104)
+
(let ((p "eucjp-test.data")
(eucjp "eucjp-test-eucjp.data")
(utf8 "eucjp-test-utf8.data"))
;;;; absolutely no warranty. See the COPYING and CREDITS files for
;;;; more information.
+#-sb-unicode
+(sb-ext:quit :unix-status 104)
+
(defmacro do-external-formats ((xf &optional result) &body body)
(let ((nxf (gensym)))
`(dolist (,nxf sb-impl::*external-formats* ,result)
;;; 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.2.12"
+"0.9.2.13"