documented as unsafe.
* documentation: SB-SYS:WITHOUT-GCING has been documented as unsafe
in multithreaded application code.
+ * bug fix: number of characters that can be written onto a single
+ line in a file is unlimited.
* bug fix: GC deadlocks from asynchronous interrupts has been fixed
by disabling interrupts for the duration of any
SB-SYS:WITHOUT-GCING section.
;; sources where input and output aren't related). non-NIL means
;; don't clear input buffer.
(dual-channel-p nil)
- ;; character position (if known)
- (char-pos nil :type (or index null))
+ ;; character position if known -- this may run into bignums, but
+ ;; we probably should flip it into null then for efficiency's sake...
+ (char-pos nil :type (or unsigned-byte null))
;; T if input is waiting on FD. :EOF if we hit EOF.
(listen nil :type (member nil t :eof))
(assert (subtypep (type-error-expected-type condition)
'(unsigned-byte 8)))))))
+;;; writing looong lines
+(defun write-n-chars (n stream)
+ (format t "~&/writing ~D chars on a single line~%" n)
+ (finish-output t)
+ (loop repeat n
+ do (write-char #\x stream))
+ (terpri stream)
+ n)
+
+(let ((test "long-lines-write-test.tmp"))
+ (unwind-protect
+ (with-open-file (f test
+ :direction :output
+ :external-format :ascii
+ :element-type 'character
+ :if-does-not-exist :create
+ :if-exists :supersede)
+ (write-n-chars (+ most-positive-fixnum 7) f))
+ (when (probe-file test)
+ (delete-file test))))
+
;;; success
;;; 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.4.8"
+"1.0.4.9"