Ignore:
Timestamp:
Jan 19, 2012, 1:47:48 AM (8 years ago)
Author:
gb
Message:

Except on the PPC (which has LAP versions of %EXTEND-VECTOR), define
%EXTEND-VECTOR in terms of %UVECTOR-REPLACE, which can use things like
%COPY-IVECTOR-TO-IVECTOR.

Make %UVECTOR-REPLACE work on non-CL-array uvector types, too.

When creating an fd-based stream (in MAKE-FD-STREAM and MAKE-FILE-STREAM),
if the stream is capable of character I/O it'll be buffered by an octet
vector, so call OPTIMAL-BUFFER-SIZE with the appropriate element type.
On Windows, use the arbitrary buffer size of 4K octets (rather than #$BUFSIZ).

In %IOBLOCK-UNENCODED-READ-LINE, if we haven't seen a newline in the first
few bufferfuls of data, stop expecting to do so (and grow the string in
larger increments less often.)

In the more generic READ-LINE cases, use a SIMPLE-STRING (and track
its length and current position manually) rather than a string with a
fill-pointer.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/level-1/l1-sysio.lisp

    r15138 r15165  
    774774        ((:io :output) nil)
    775775        (t (report-bad-arg direction '(member :input :output :io :probe))))
    776       (check-pathname-not-wild filename) ;; probe-file-x misses wild versions....
     776      (check-pathname-not-wild filename) ; probe-file-x misses wild versions....
    777777      (multiple-value-bind (native-truename kind) (probe-file-x filename)
    778778        (tagbody retry
     
    805805                   (when (null if-exists) (return-from open nil))
    806806                   (multiple-value-setq (native-truename kind) (probe-file-x filename))
    807                    (unless native-truename ;; huh?  Perhaps it disappeared again?
     807                   (unless native-truename ; huh?  Perhaps it disappeared again?
    808808                     (error "Attempt to create ~s failed unexpectedly" filename))
    809809                   (go retry))
     
    830830                       (char-p (or (eq element-type 'character)
    831831                                   (subtypep element-type 'character)))
    832                        (elements-per-buffer (optimal-buffer-size fd element-type))
     832                       (elements-per-buffer (optimal-buffer-size fd (if char-p '(unsigned-byte 8) element-type)))
    833833                       (real-external-format
    834834                        (if char-p
Note: See TracChangeset for help on using the changeset viewer.