ViewVC logotype

Log of /src/code/stream.lisp

Parent Directory Parent Directory | Revision Log Revision Log

Links to HEAD: (view) (annotate)
Links to snapshot-2010-12: (view) (annotate)
Sticky Tag:

Revision 1.99 - (view) (annotate) - [select for diffs]
Wed Sep 8 03:04:54 2010 UTC (3 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: cross-sol-x86-2010-12-20, cross-sol-x86-base, cross-sol-x86-merged, cross-sparc-branch-base, snapshot-2010-11, snapshot-2010-12, snapshot-2011-01, snapshot-2011-02, snapshot-2011-03
Branch point for: cross-sol-x86-branch, cross-sparc-branch
Changes since 1.98: +5 -12 lines
Diff to previous 1.98
Clean up how (setf stream-external-format) works.  This change
requires a cross-compile using the default cross-compile script.

o Remove the SAVED-OC-STATE slot from an FD-STREAM because we don't
  need it anymore since we have the OCTET-COUNT slot.

o Don't need to copy the current OC-STATE to SAVED-OC-STATE.  Remove
  code and update comments.

o Use the OCTET-COUNT slot to figure out how many octets have been
  consumed so far to produce the characters that have already been
  read.  Don't need to do the re-conversion anymore, so we don't need
  the SAVED-OC-STATE anymore.
o Add support for the case where we were using the ISO8859-1 external
  format and are now switching to another external format that
  requires the string-buffer.

Revision 1.98 - (view) (annotate) - [select for diffs]
Mon Sep 6 19:01:56 2010 UTC (3 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.97: +113 -117 lines
Diff to previous 1.97
Merge changes from 20b-pre2.

Revision 1.97 - (view) (annotate) - [select for diffs]
Sat Sep 4 01:03:12 2010 UTC (3 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.96: +86 -23 lines
Diff to previous 1.96
Merge fixes for fast-read-char-string-refill from the 20b-branch.

Revision 1.96 - (view) (annotate) - [select for diffs]
Sun Aug 15 12:04:43 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.95: +11 -9 lines
Diff to previous 1.95
Fix file-position bug in trac #36.  We add an array to keep track of
the octets consumed for each character.  This array is used to figure
out the file position.  Some tests comparing this scheme indicates a
very small slowdown of about 1%, so this seems not to hurt.

Use a cross-compile using the 2010-07 snapshot to build this.  (Same
procedure as used to build the 20b-pre1 release.)

o Add new slot OCTET-COUNT to LISP-STREAM to hold the array of octets
  per character.

  we need an array in which to store the number of octets consumed for
  each character processed.

o Create the octet-count array creating the lisp stream string buffer.
o In FD-STREAM-FILE-POSITION, use the octet count to count the number
  of octets that have been read but not yet returned to the user.

  track of octet length of each character processed.

Revision 1.95 - (view) (annotate) - [select for diffs]
Mon Aug 9 22:45:14 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.94: +7 -2 lines
Diff to previous 1.94
FILE-POSITION returned the wrong thing for Unicode.  The
LISP-STREAM-MISC function takes care of computing the position, so
FILE-POSITION doesn't need to do anything else.  (Why isn't this true
for the non-unicode case?  Should we make it so?)

Revision 1.94 - (view) (annotate) - [select for diffs]
Mon Jul 5 03:40:02 2010 UTC (3 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: release-20b-pre1, snapshot-2010-08, sparc-tramp-assem-2010-07-19, sparc-tramp-assem-base
Branch point for: RELEASE-20B-BRANCH, sparc-tramp-assem-branch
Changes since 1.93: +34 -10 lines
Diff to previous 1.93
Fix critical error in fast-read-char-string-refill where we didn't
stream the data correctly causing decoding errors.

o Need to copy back the in-index that fast-read-char-string-refill

o Fix buffering issue when refilling the in-buffer with new data.
  Code was confused about the difference between in-length and

Revision 1.93 - (view) (annotate) - [select for diffs]
Fri Jul 2 02:50:35 2010 UTC (3 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.92: +3 -2 lines
Diff to previous 1.92
Implement more of the external format error handlers.

o Call the error handler for iso8859-1 output.
  format with the error argument.
  - Call OCTETS-TO-CODEPOINT with the error handler.
  - For all of the error conditions, call the error handler if
o Add error parameter to EF-STRING-TO-OCTETS and EF-ENCODE so we can
  handle errors.  Call CHAR-TO-OCTETS with the error handler.
o Add error parameter to STRING-TO-OCTETS and use it.
o Add error parameter to EF-OCTETS-TO-STRING and EF-DECODE so we can
  handle errors.  Call OCTETS-TO-CHAR with the error handler.
o Add error parameter to OCTETS-TO-STRING and use it.
o In STRING-ENCODE and STRING-DECODE, call the ef function with the
  error handler.
o Change STRING-ENCODE to use keyword args instead of optional args.
  Add error parameter and use it.

o Tell OCTETS-TO-STRING about the error handler stored in the

  ENCODING-ERROR keyword arguments for specifying how to handle
  decoding and encoding errors in external formats.

o Make sure the error handler is called in

o Initial cut at calling the error handler for the various possible
  invalid octet streams for a utf-8 encoding.

Revision 1.92 - (view) (annotate) - [select for diffs]
Tue Apr 20 17:57:45 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2010-05, snapshot-2010-06, snapshot-2010-07
Changes since 1.91: +28 -28 lines
Diff to previous 1.91
Change uses of _"foo" to (intl:gettext "foo").  This is because slime
may get confused with source locations if the reader macros are

Revision 1.91 - (view) (annotate) - [select for diffs]
Mon Apr 19 02:18:04 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
Changes since 1.90: +49 -49 lines
Diff to previous 1.90
Remove _N"" reader macro from docstrings when possible.

Revision 1.90 - (view) (annotate) - [select for diffs]
Fri Mar 19 15:18:59 2010 UTC (4 years ago) by rtoy
Branch: MAIN
CVS Tags: post-merge-intl-branch, snapshot-2010-04
Changes since 1.89: +82 -80 lines
Diff to previous 1.89
Merge intl-branch 2010-03-18 to HEAD.  To build, you need to use
boot-2010-02-1 as the bootstrap file.  You should probably also use
the new -P option for build.sh to generate and update the po files
while building.

Revision 1.89 - (view) (annotate) - [select for diffs]
Sat Jan 23 18:02:05 2010 UTC (4 years, 2 months ago) by rtoy
Branch: MAIN
CVS Tags: intl-2-branch-base, intl-branch-base, pre-merge-intl-branch, snapshot-2010-02, snapshot-2010-03
Branch point for: intl-2-branch, intl-branch
Changes since 1.88: +5 -52 lines
Diff to previous 1.88
Oops.  Last change to fd-stream doesn't actually compile because no
everything is defined yet.  Hence, add dummy
%SET-FD-STREAM-EXTERNAL-FORMAT and move the real one to
fd-stream-extfmt.lisp.  This builds.

o Always call %SET-FD-STREAM-EXTERNAL-FORMAT, even if

o Move %SET-FD-STREAM-EXTERNAL-FORMAT to fd-stream-extfmt.lisp.
o Add dummy implementation of %SET-FD-STREAM-EXTERNAL-FORMAT.


Revision 1.88 - (view) (annotate) - [select for diffs]
Sun Oct 18 14:21:24 2009 UTC (4 years, 5 months ago) by rtoy
Branch: MAIN
CVS Tags: amd64-dd-start, snapshot-2009-11, snapshot-2009-12, snapshot-2010-01
Branch point for: amd64-dd-branch
Changes since 1.87: +143 -13 lines
Diff to previous 1.87
Merge changes from unicode-string-buffer-impl-branch which gives
faster reads on external-formats.  This is done by adding an
additional buffer to streams so we can convert the entire in-buffer
into characters all at once.

To build this change, you need to do a cross-compile using
boot-2009-10-1-cross.lisp.  Using that build, do a normal build with
these sources.

For a non-unicode build use boot-2009-10-01.lisp with a 20a
non-unicode build.

o Add another slot to the extfmts for copying the state.
o Modify EF-OCTETS-TO-STRING and OCTETS-TO-STRING to support the
  necesssary changes for fast formats.  This is incompatible with the
  previous version because the string is not grown if needed.

o Set *enable-stream-buffer-p* to T so we have fast streams.

o Add new slots to support fast strams.
o In SET-ROUTINES, initialize the new slots appropriately.
o Update UNREAD-CHAR to be able to back up in the string buffer to
o Add implementation to copy the state of an external format.

o Change %SET-FD-STREAM-EXTERNAL-FORMAT to be able to change formats
  even if we've already converted the buffer with a different format.
  We reconvert the buffer with the old format until we reach the
  current character.  Then the remaining octets are converted using
  the new format and stored in the string buffer.
o Add FAST-READ-CHAR-STRING-REFILL to refill the string buffer, like
  FAST-READ-CHAR-REFILL does for the octet in-buffer.

o Add new slots to hold the string buffer, the current index, and
  length.  These are needed for the fast formats.

  FAST-READ-CHAR to support the string buffer.

o Microoptimization of SURROGATEP to reduce the number of branchs.

o Update with these changes

o These formats actually have state, so update them to take a handle
  an initial state.  These are needed if the string buffer ends with a
  leading surrogate and the next string buffer starts with a trailing
  surrogate.  The conversion needs to combine the surrogates together.

Revision 1.87 - (view) (annotate) - [select for diffs]
Mon Aug 10 16:47:41 2009 UTC (4 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_20a, release-20a-base, release-20a-pre1, snapshot-2009-08, unicode-string-buffer-base, unicode-string-buffer-impl-base
Branch point for: RELEASE-20A-BRANCH, unicode-string-buffer-branch, unicode-string-buffer-impl-branch
Changes since 1.86: +19 -22 lines
Diff to previous 1.86
Fixes from Paul Foley:

o Standard streams no longer change formats when
  *default-external-format* changes.  Use
  stream:set-system-external-format instead, or (setf
o char-to-octets properly handles surrogate characters being written.
o Makes simple-streams work again.

This change needs to be cross-compiled.  2009-07 binaries work for
cross-compiling using the 19e/boot-2008-05-cross-unicode-*.lisp
cross-compile script.

Revision 1.86 - (view) (annotate) - [select for diffs]
Fri Jul 17 15:25:10 2009 UTC (4 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.85: +29 -27 lines
Diff to previous 1.85
Indent docstrings for read/write-sequence so it lines up like other
docstrings, especially when displayed with describe.

Revision 1.85 - (view) (annotate) - [select for diffs]
Tue Jun 16 21:25:02 2009 UTC (4 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: portable-clx-base, portable-clx-import-2009-06-16, snapshot-2009-07
Branch point for: portable-clx-branch
Changes since 1.84: +3 -1 lines
Diff to previous 1.84
Cleanups for non-unicode build.

o Only define (setf stream-external-format) for Unicode builds.
o In stream-external-format, don't try to look up the external format
  from the fd-stream structure, which doesn't exist in non-unicode

o Conditionalize out things that will only work if unicode is

o Only compile fd-stream-extfmt for unicode builds.

Revision 1.84 - (view) (annotate) - [select for diffs]
Thu Jun 11 16:03:59 2009 UTC (4 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: merged-unicode-utf16-extfmt-2009-06-11
Changes since 1.83: +65 -60 lines
Diff to previous 1.83
Merge Unicode work to trunk.  From label

Revision 1.83 - (view) (annotate) - [select for diffs]
Mon Aug 21 15:12:16 2006 UTC (7 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, label-2009-03-16, label-2009-03-25, merge-sse2-packed, merge-with-19f, pre-telent-clx, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, snapshot-2006-09, snapshot-2006-10, snapshot-2006-11, snapshot-2006-12, snapshot-2007-01, snapshot-2007-02, snapshot-2007-03, snapshot-2007-04, snapshot-2007-05, snapshot-2007-06, snapshot-2007-07, snapshot-2007-08, snapshot-2007-09, snapshot-2007-10, snapshot-2007-11, snapshot-2007-12, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2008-08, snapshot-2008-09, snapshot-2008-10, snapshot-2008-11, snapshot-2008-12, snapshot-2009-01, snapshot-2009-02, snapshot-2009-04, snapshot-2009-05, sse2-base, sse2-checkpoint-2008-10-01, sse2-merge-with-2008-10, sse2-merge-with-2008-11, sse2-packed-2008-11-12, sse2-packed-base, unicode-utf16-base
Branch point for: RELEASE-19F-BRANCH, release-19d-branch, release-19e-branch, sse2-branch, sse2-packed-branch, unicode-utf16-branch
Changes since 1.82: +9 -4 lines
Diff to previous 1.82
binary data from streams of those types.  Fixes Trace ticket 7.

Revision 1.82 - (view) (annotate) - [select for diffs]
Fri Nov 11 17:21:57 2005 UTC (8 years, 5 months ago) by rtoy
Branch: MAIN
CVS Tags: double-double-array-base, double-double-array-checkpoint, double-double-base, double-double-init-%make-sparc, double-double-init-checkpoint-1, double-double-init-ppc, double-double-init-sparc, double-double-init-sparc-2, double-double-init-x86, double-double-irrat-end, double-double-irrat-start, double-double-reader-base, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06, snapshot-2006-07, snapshot-2006-08
Branch point for: double-double-array-branch, double-double-branch, double-double-reader-branch
Changes since 1.81: +9 -8 lines
Diff to previous 1.81
Fix bug in peek-char for Gray streams.  Reported by Walter Pelissero,
cmucl-imp, 2005-11-10, with fix.

o Apply Walter's fix, because it was missing the fifth arg to
o Change GENERALIZED-PEEKING-MACHINISM to use keyword args instead of
  optional args, to prevent this kind of bug.

Revision 1.81 - (view) (annotate) - [select for diffs]
Fri Jul 1 14:54:41 2005 UTC (8 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19c, release-19c-base, release-19c-pre1, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09, snapshot-2005-10, snapshot-2005-11
Branch point for: release-19c-branch
Changes since 1.80: +6 -2 lines
Diff to previous 1.80
FILE-POSITION on string input streams did not accept :START and :END
for the position.  Add support.

Reported by Bruno Haible, cmucl-imp, 28 Jun 2005.

Revision 1.80 - (view) (annotate) - [select for diffs]
Mon May 23 18:02:12 2005 UTC (8 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: release-19b-base, release-19b-pre1, release-19b-pre2, snapshot-2005-06
Branch point for: release-19b-branch
Changes since 1.79: +16 -13 lines
Diff to previous 1.79
Bug from cmucl-imp, 2005-05-17 by Fredrik Sandstrom:

    Description: In (peek-char nil s nil foo), if foo happens to be the
    same character that peek-char returns, the character is removed from
    the input stream, as if read by read-char.


    * (with-input-from-string (s "123")
	(list (peek-char nil s nil #\1) (read-char s) (read-char s)))
    (#\1 #\2 #\3)

This fix is based on the version proposed by Rudi Schlatte, with minor
changes in naming.

Revision 1.79 - (view) (annotate) - [select for diffs]
Tue Apr 19 18:26:42 2005 UTC (9 years ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2005-05
Changes since 1.78: +5 -1 lines
Diff to previous 1.78
Rob Warnock reports on c.l.l that

(let ((s (make-two-way-stream (make-concatenated-stream)
      (dotimes (i 10) (format s "Hello, i = ~a~%" i)))

doesn't work.  This is caused by TWO-WAY-MISC not handling the
:CHARPOS and :LINE-LENGTH operations.  Just call the appropriate
versions for the output stream of the two-way stream.

Revision 1.78 - (view) (annotate) - [select for diffs]
Mon Feb 21 17:14:28 2005 UTC (9 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2005-03, snapshot-2005-04
Changes since 1.77: +54 -5 lines
Diff to previous 1.77
Apply Lynn Quam's proposed enhancements to fd-streams allowing input
streams opened with element-type (unsigned-byte 8) to be also opened
for character input.  This gives simple-streams semantics to

* code/fd-stream.lisp
  o Make FD-STREAM-IN use PICK-INPUT-ROUTINE to select the correct
    type of input.
    and character input.  Currently defaults to NIL, but will change
    to T.

* code/stream.lisp
  o New READ-INTO-SIMPLE-STRING to allow stream element-type of
    (unsigned-byte 8).
  o Support reading and writing simple arrays of single-float and
  o Strings can be written to streams of element-type '(unsigned-byte

* tools/worldcom.lisp
  o Compile stream-vector-io.lisp.

* tools/worldload.lisp
  o Load stream-vector-io.

* code/stream-vector-io.lisp
  o New file implementing READ-VECTOR and WRITE-VECTOR.

Revision 1.77 - (view) (annotate) - [select for diffs]
Fri Apr 16 20:20:16 2004 UTC (10 years ago) by rtoy
Branch: MAIN
CVS Tags: amd64-merge-start, ppc_gencgc_snap_2005-05-14, prm-before-macosx-merge-tag, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, snapshot-2004-08, snapshot-2004-09, snapshot-2004-10, snapshot-2004-11, snapshot-2004-12, snapshot-2005-01, snapshot-2005-02
Branch point for: ppc_gencgc_branch, release-19a-branch
Changes since 1.76: +1 -2 lines
Diff to previous 1.76
Remove the call to aver.

Revision 1.76 - (view) (annotate) - [select for diffs]
Thu Apr 15 16:25:41 2004 UTC (10 years ago) by rtoy
Branch: MAIN
Changes since 1.75: +33 -2 lines
Diff to previous 1.75
Fix ansi-test bug on read-sequence and echo-streams.  Based on code
from SBCL.

Revision 1.75 - (view) (annotate) - [select for diffs]
Thu Apr 15 01:34:20 2004 UTC (10 years ago) by rtoy
Branch: MAIN
Changes since 1.74: +18 -10 lines
Diff to previous 1.74
More ANSI test fixes:

o FILE-STRING-LENGTH can be used on BROADCAST-STREAM's where the
  result is 1.
o Graphic characters are not printed using the character name (hence
  #\space is printed #\ )
o Make INPUT-STREAM-P and OUTPUT-STREAM-P work correctly on synonym
o MAKE-STRING-INPUT-STREAM was not accepting NIL for the optional END
o Close string-input streams.  (We weren't before.)

Revision 1.74 - (view) (annotate) - [select for diffs]
Wed Apr 14 17:06:35 2004 UTC (10 years ago) by rtoy
Branch: MAIN
Changes since 1.73: +10 -5 lines
Diff to previous 1.73
Signal a TYPE-ERROR when FILE-LENGTH is used on the following streams:

CLHS says these streams produce errors for file-length.

Revision 1.73 - (view) (annotate) - [select for diffs]
Fri Apr 9 18:03:01 2004 UTC (10 years ago) by emarsden
Branch: MAIN
Changes since 1.72: +3 -3 lines
Diff to previous 1.72
Fix stupid mistake in the broadcast-stream ANSI-compliance changes.

Revision 1.72 - (view) (annotate) - [select for diffs]
Wed Apr 7 17:15:00 2004 UTC (10 years ago) by emarsden
Branch: MAIN
Changes since 1.71: +32 -33 lines
Diff to previous 1.71
ANSI compliance fixes for CONCATENATED-STREAMS:

  - (read-char-no-hang (make-concatenated-stream) nil :eof) returns :eof
    instead of nil

Another bug brought to you by pfdietz.

Revision 1.71 - (view) (annotate) - [select for diffs]
Wed Apr 7 11:03:38 2004 UTC (10 years ago) by emarsden
Branch: MAIN
Changes since 1.70: +12 -1 lines
Diff to previous 1.70
More ANSI-compliance BROADCAST-STREAM fixes:

  - FILE-LENGTH and FILE-POSITION return the value from the last component
    stream, or 0 if there are no component streams.

Will require a similar change for FILE-STRING-LENGTH (and addition of a
:file-string-length misc-op).

Revision 1.70 - (view) (annotate) - [select for diffs]
Tue Apr 6 17:30:12 2004 UTC (10 years ago) by emarsden
Branch: MAIN
Changes since 1.69: +13 -3 lines
Diff to previous 1.69
More ANSI compliance fixes:

  - (fresh-line (make-broadcast-stream)) returns nil instead of t

  - STREAM-ELEMENT-TYPE on broadcast-streams should return element-type of
    the last component stream (see CLtS "System Class BROADCAST-STREAM").
    Fix from SBCL.

  - WRITE-SEQUENCE handles bit-vectors

Revision 1.69 - (view) (annotate) - [select for diffs]
Tue Apr 6 11:41:54 2004 UTC (10 years ago) by emarsden
Branch: MAIN
Changes since 1.68: +17 -15 lines
Diff to previous 1.68
  - fix WRITE-SEQUENCE for vectors (detected by pfdietz' ANSI compliance
    test suite)

    (write-sequence (vector #\a) (make-string-output-stream))

    used to fail with

    "Type-error in lisp::write-vector-out:  #\a is not of type base-char"

    because the WRITE-SEQUENCE code is erroneously assuming that all vectors
    of characters are of type string. There are probably more errors of this

  - fix STREAM-ELEMENT-TYPE for broadcast streams: CLtS specifies that t
    should be returned if there are no component streams, but we used to return

Revision 1.68 - (view) (annotate) - [select for diffs]
Fri Mar 26 18:22:54 2004 UTC (10 years ago) by emarsden
Branch: MAIN
CVS Tags: mod-arith-base, snapshot-2004-04
Branch point for: mod-arith-branch
Changes since 1.67: +5 -5 lines
Diff to previous 1.67
 - add a SIMPLE-STREAM-ERROR class, and use it when signaling errors from
   fd-streams DO-OUTPUT (noted by Matthew Danish)

 - fix bug in fd-stream error handling (patch from Ole Rohne)

Revision 1.67 - (view) (annotate) - [select for diffs]
Tue Jan 20 17:32:20 2004 UTC (10 years, 2 months ago) by toy
Branch: MAIN
Changes since 1.66: +27 -26 lines
Diff to previous 1.66
Some ANSI compliance fixes found by Paul Dietz's tests.

o PEEK-CHAR wasn't signaling end-of-file when recursive-p was true.
    when the peek-type is NIL.
  o Make PEEK-CHAR with peek-type NIL handle RECURSIVE-P.

o WRITE-LINE didn't like an explicit :END NIL.

o READ-SEQUENCE didn't like reading things into a bit-vector from a
  "good" stream element type.  If the sequence is a bit-vector, use
  the general read-into-vector to read the data.

o READ-SEQUENCE wasn't returning the right value when reading into
  simple-strings with a non-zero :START value.

Revision 1.66 - (view) (annotate) - [select for diffs]
Mon Jan 19 20:04:09 2004 UTC (10 years, 2 months ago) by toy
Branch: MAIN
Changes since 1.65: +2 -2 lines
Diff to previous 1.65
PEEK-CHAR should determine whether a character is whitespace from the
current readtable.  Use that instead of whitespace-char-p.

(Noted from Paul Dietz's ANSI tests.)

Revision 1.65 - (view) (annotate) - [select for diffs]
Fri Oct 24 16:53:42 2003 UTC (10 years, 5 months ago) by toy
Branch: MAIN
CVS Tags: snapshot-2003-11, snapshot-2003-12
Changes since 1.64: +12 -6 lines
Diff to previous 1.64
READ-SEQUENCE was returning too soon:

(defvar *s* (open "target:code/scavhook.lisp"))
(defvar *buf* (make-array 5000 :element-type 'character))
(read-sequence *buf* *s* :end 3000) => 3000
(read-sequence *buf* *s* :end 3000) => 1096

or 4096 bytes read, when we should have read 4139 (length of

Make READ-INTO-SIMPLE-STRING keep trying to READ-N-BYTES until we have
enough bytes or until READ-N-BYTES returns 0 bytes read (in which
case we return a short read because there's nothing left to read).

Revision 1.64 - (view) (annotate) - [select for diffs]
Wed Jul 30 16:51:43 2003 UTC (10 years, 8 months ago) by toy
Branch: MAIN
CVS Tags: dynamic-extent-base, lisp-executable-base, snapshot-2003-10, sparc_gencgc, sparc_gencgc_merge
Branch point for: dynamic-extent, lisp-executable, sparc_gencgc_branch
Changes since 1.63: +6 -4 lines
Diff to previous 1.63
MAKE-STRING-OUTPUT-STREAM takes an ELEMENT-TYPE keyword arg.  Make it
so (and just ignore it).

Revision 1.63 - (view) (annotate) - [select for diffs]
Wed Jun 18 09:23:10 2003 UTC (10 years, 10 months ago) by gerd
Branch: MAIN
Changes since 1.62: +3 -3 lines
Diff to previous 1.62
	Remove package nicknames USER from COMMON-LISP-USER.  Add a new
	package COMMON-LISP which LISP uses, so that COMMON-LISP no longer
	has the non-ANSI nickname LISP.

	To bootstrap, use boot13.lisp as target:bootstrap.lisp with pmai's
	build scripts, and do a full compile.

	* src/bootfiles/18e/boot13.lisp: Change for all the package

	* src/code/exports.lisp: New package common-lisp,
	which lisp uses.

	* src/tools/worldload.lisp:
	* src/tools/setup.lisp: Use cl-user instead of user.
	Use lisp:: instead of cl::.

	* src/tools/worldcom.lisp:
	* src/tools/snapshot-update.lisp:
	* src/tools/pclcom.lisp:
	* src/tools/mk-lisp:
	* src/tools/hemcom.lisp:
	* src/tools/config.lisp:
	* src/tools/comcom.lisp:
	* src/tools/clxcom.lisp:
	* src/tools/clmcom.lisp:
	* src/pcl/defsys.lisp:
	* src/motif/lisp/initial.lisp:
	* src/interface/initial.lisp:
	* src/hemlock/lispmode.lisp (setup-lisp-mode):
	Use cl-user instead of user.

	* src/code/save.lisp (assert-user-package):
	* src/code/print.lisp (%with-standard-io-syntax): Find
	cl-user package instead of user.

	* src/code/package.lisp (package-locks-init): Add lisp.
	(package-init): Don't add user nickname to cl-user.

	* src/code/ntrace.lisp (*trace-encapsulate-package-names*):
	Add common-lisp.

	* src/code/hash.lisp (toplevel):
	* src/code/hash-new.lisp (toplevel): Use in-package :lisp
	instead of :common-lisp.

	* src/code/float-trap.lisp (sigfpe-handler): Don't
	qualify floating-point-inexact with ext:.

	* src/pcl/simple-streams/strategy.lisp (sc):
	* src/pcl/simple-streams/null.lisp (null-read-char):
	* src/pcl/simple-streams/internal.lisp (allocate-buffer)
	* src/pcl/simple-streams/impl.lisp (%check, %read-line)
	(%peek-char, %read-byte):
	* src/pcl/simple-streams/file.lisp (open-file-stream)
	* src/pcl/simple-streams/classes.lisp (simple-stream)
	* src/pcl/macros.lisp (toplevel):
	* src/pcl/braid.lisp (lisp::sxhash-instance):
	* src/pcl/env.lisp (toplevel):
	* src/compiler/generic/objdef.lisp (symbol-hash):
	* src/code/stream.lisp (read-sequence, write-sequence):
	* src/code/macros.lisp (defmacro, deftype):
	* src/code/eval.lisp (interpreted-function):
	* src/code/defstruct.lisp (defstruct):
	* src/code/debug.lisp (debug-eval-print): Use lisp:: instead
	of cl::.

Revision 1.62 - (view) (annotate) - [select for diffs]
Sat Jun 7 17:56:28 2003 UTC (10 years, 10 months ago) by toy
Branch: MAIN
Changes since 1.61: +16 -17 lines
Diff to previous 1.61
More simple-streams updates from Paul Foley:

o An update to fix Gerd's complaint about :simple-streams being on
o Corrects a few bugs
o Renames all the strategy functions
o Gets rid of DEVICE-EXTEND (Duane Rettig tells me it's going away in
  the next ACL release)
o A start on getting stream& composition working.

Revision 1.61 - (view) (annotate) - [select for diffs]
Fri Jun 6 16:23:45 2003 UTC (10 years, 10 months ago) by toy
Branch: MAIN
Changes since 1.60: +450 -271 lines
Diff to previous 1.60
Initial import of Paul Foley's simple-streams implmentation.  Some
functionality is still missing, but Lisp streams and Gray streams
should behave unchanged.

Revision 1.60 - (view) (annotate) - [select for diffs]
Wed Mar 19 03:31:24 2003 UTC (11 years, 1 month ago) by toy
Branch: MAIN
CVS Tags: release-18e, release-18e-base, release-18e-pre1, release-18e-pre2, remove_negative_zero_not_zero
Branch point for: release-18e-branch
Changes since 1.59: +6 -2 lines
Diff to previous 1.59
Remove the explicit test for stream element type of character.  Was
preventing us from reading from string-streams, among other things.

Revision 1.59 - (view) (annotate) - [select for diffs]
Mon Mar 17 10:36:42 2003 UTC (11 years, 1 month ago) by emarsden
Branch: MAIN
Changes since 1.58: +3 -3 lines
Diff to previous 1.58
The optional second argument to FILE-POSITION is a positive integer; it can
be bigger than an INDEX.

Revision 1.58 - (view) (annotate) - [select for diffs]
Thu Dec 12 19:11:11 2002 UTC (11 years, 4 months ago) by moore
Branch: MAIN
CVS Tags: cold-pcl-base
Branch point for: cold-pcl
Changes since 1.57: +1 -6 lines
Diff to previous 1.57
Remove cruft from last checkin.

Revision 1.57 - (view) (annotate) - [select for diffs]
Thu Dec 12 19:09:46 2002 UTC (11 years, 4 months ago) by moore
Branch: MAIN
Changes since 1.56: +12 -4 lines
Diff to previous 1.56
Fix a typo in apply-with-bindings.

Add string-stream and file-stream, required by the ANSI spec, as
structure classes.  Make the string streams and fd-stream,
respectively, inherit from them.  Add bootstrap magic.

Revision 1.56 - (view) (annotate) - [select for diffs]
Tue Nov 19 14:30:57 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
Changes since 1.55: +112 -41 lines
Diff to previous 1.55
Entomotomy: peek-char-wrongly-echos-to-echo-stream

Port Matthew Danish's fix for this bug for SBCL.

Revision 1.55 - (view) (annotate) - [select for diffs]
Wed Nov 13 02:50:34 2002 UTC (11 years, 5 months ago) by toy
Branch: MAIN
Changes since 1.54: +3 -3 lines
Diff to previous 1.54
args in the wrong order  (stream arg is first).  Noted by Matthew

Revision 1.54 - (view) (annotate) - [select for diffs]
Mon Oct 7 17:49:46 2002 UTC (11 years, 6 months ago) by toy
Branch: MAIN
Changes since 1.53: +16 -11 lines
Diff to previous 1.53
o Reinstate gray-streams support for read-sequence and write-sequence
  that was inadvertently deleted.  (Bug noted by Rudi Schlatte).
o write-sequence was calling system:output-raw-bytes with the wrong
  args.  (Bug noted by Andras Simon)

Revision 1.53 - (view) (annotate) - [select for diffs]
Mon Oct 7 14:31:05 2002 UTC (11 years, 6 months ago) by toy
Branch: MAIN
Changes since 1.52: +17 -16 lines
Diff to previous 1.52
o Correct some spelling mistakes
o Fix a few typos in code.
o Delete a few unused symbols from various places
o Use something better than %%RWSEQ-EOF%% for the eof marker.
o Add target-foreign-linkage vars for the PPC and HPPA ports to aid
  cross-compilation.  (The values are very likely wrong, but they're
  not used yet.)

Based on a larger patch from Eric Marsden.

Revision 1.52 - (view) (annotate) - [select for diffs]
Mon Aug 12 20:53:37 2002 UTC (11 years, 8 months ago) by toy
Branch: MAIN
Branch point for: UNICODE-BRANCH
Changes since 1.51: +59 -12 lines
Diff to previous 1.51
o For the stream functions, declare the stream arg as a stream or
  streamlike as appropriate to catch bad args instead of pretending
  they're gray-streams to be caught there.
o For make-broadcast-stream, make-two-way-stream,
  make-concatenated-stream, and make-echo-stream, check that their
  args of input or output streams as appropriate.

Revision 1.51 - (view) (annotate) - [select for diffs]
Tue Aug 6 17:32:24 2002 UTC (11 years, 8 months ago) by pw
Branch: MAIN
Changes since 1.50: +31 -19 lines
Diff to previous 1.50
Fix read-sequence for specialized arrays to handle case where
system:read-n-bytes reads short. Problem noted by Todd Sabin.

Revision 1.50 - (view) (annotate) - [select for diffs]
Mon Jun 10 22:41:24 2002 UTC (11 years, 10 months ago) by toy
Branch: MAIN
Changes since 1.49: +3 -3 lines
Diff to previous 1.49
Rudi Schlatte noted that

    The Hyperspec says that the default for end is nil, but:

    * (write-string "bla" *standard-output* :start 0 :end nil)

       NIL is not of type FIXNUM

Fix this and make the default for :END be NIL.  (Hmm, I suppose we
don't really have to default to NIL since NIL means the end of the
string anyway, but we should at least accept NIL as a valid :END
value.  I didn't do that.)

Revision 1.49 - (view) (annotate) - [select for diffs]
Mon Feb 4 17:22:15 2002 UTC (12 years, 2 months ago) by toy
Branch: MAIN
Changes since 1.48: +553 -4 lines
Diff to previous 1.48
Marco Antoniotti's read-sequence and write-sequence routines that
"tries to be more intelligent about a bunch of `commonly' used
external format."

Revision 1.48 - (view) (annotate) - [select for diffs]
Thu Sep 20 14:23:05 2001 UTC (12 years, 6 months ago) by pw
Branch: MAIN
Changes since 1.47: +2 -2 lines
Diff to previous 1.47
First commit to new cvs server. I hope it works!

From cmucl-imp before server went down. Forgot submitters name, sorry!

Fix fill-pointer-ouch to work on adjustable arrays of zero length.

Revision 1.47 - (view) (annotate) - [select for diffs]
Sun Jul 8 17:37:55 2001 UTC (12 years, 9 months ago) by pw
Branch: MAIN
Changes since 1.46: +7 -3 lines
Diff to previous 1.46
From Paul Foley:

	Implements READ- and WRITE-SEQUENCE on Gray streams, via
	keyword to OPEN which lets it return Gray streams classes wrapped
	around lisp-streams.

	Load exports.lisp before compiling with this set of changes.

Revision 1.46 - (view) (annotate) - [select for diffs]
Sat Apr 7 13:45:25 2001 UTC (13 years ago) by pw
Branch: MAIN
Changes since 1.45: +18 -1 lines
Diff to previous 1.45
From Pierre Mai:

Implement n-bin method for concatenated-stream.  This fixes
read-sequence for byte-vectors and strings for concatenated-streams.

Revision 1.45 - (view) (annotate) - [select for diffs]
Sun Mar 4 20:12:42 2001 UTC (13 years, 1 month ago) by pw
Branch: MAIN
Changes since 1.44: +3 -3 lines
Diff to previous 1.44
Change most PROCLAIMs to DECLAIMs.

Revision 1.44 - (view) (annotate) - [select for diffs]
Thu Aug 24 19:55:29 2000 UTC (13 years, 7 months ago) by dtc
Branch: MAIN
Changes since 1.43: +14 -1 lines
Diff to previous 1.43
o Based on suggestions from Martin Cracauer, flush commonly used output
  streams during the processing of command line switches and upon exit.
  This is a convenience for typical usage, and not all output streams
  are flushed, so important streams should still be flushed but user code.

o Add a new function finish-standard-output-streams to finish output on
  the commonly used output streams. Called after the processing
  of each command line switch, and before the %end-of-the-world.

o Extend the eval switch to process multiple forms, flushing the common
  output streams between each.

Revision 1.43 - (view) (annotate) - [select for diffs]
Sun Jul 23 14:59:43 2000 UTC (13 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.42: +12 -7 lines
Diff to previous 1.42
When read-sequence is using the read-n-bin method, loop if the number
of bytes returned is less than required, and until either done or zero
bytes is returned indicating an EOF.

Revision 1.42 - (view) (annotate) - [select for diffs]
Sun Jul 23 14:58:46 2000 UTC (13 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.41: +7 -5 lines
Diff to previous 1.41
Fix the handling of :unread and :clear-input in the stream
misc functions synonym-misc, two-way-misc, and concatenated-misc.
These streams encapsulate other input streams which may have an input
buffer so they need to call unread-char and clear-input on the
encapsulated stream rather than directly calling the encapsulated
streams misc method as the misc methods are below the layer of the
input buffer.

Revision 1.41 - (view) (annotate) - [select for diffs]
Sat Jun 17 06:34:07 2000 UTC (13 years, 10 months ago) by dtc
Branch: MAIN
Changes since 1.40: +3 -3 lines
Diff to previous 1.40
Ignore the recursive-p argument to peek-char, rather than having it
override eof-errorp when true. Seems to be that interpretation made by
other implementations. From Raymond Toy.

Revision 1.40 - (view) (annotate) - [select for diffs]
Wed Apr 5 04:26:53 2000 UTC (14 years ago) by dtc
Branch: MAIN
Changes since 1.39: +11 -13 lines
Diff to previous 1.39
Concatenated-stream-streams should be returning the remaining streams
to read rather than all the streams; noted by Sam Steingold. The
streams are now simply popped when the EOF is reached. The full list
of streams is not maintained as presumably the closing of the streams
will be handled separately from the concatenated-stream functionality.

Revision 1.39 - (view) (annotate) - [select for diffs]
Thu Feb 11 12:17:58 1999 UTC (15 years, 2 months ago) by dtc
Branch: MAIN
Changes since 1.38: +3 -2 lines
Diff to previous 1.38
Fix for the stream-write-byte dispatch in write-byte; from Brian

Revision 1.38 - (view) (annotate) - [select for diffs]
Tue Feb 2 10:54:32 1999 UTC (15 years, 2 months ago) by dtc
Branch: MAIN
Changes since 1.37: +13 -12 lines
Diff to previous 1.37
Fix for echo-in and echo-bin which need to catching an EOF and not
writing it to the output stream. Noted by Peter Van Eynde.

Revision 1.37 - (view) (annotate) - [select for diffs]
Sun Dec 20 04:17:26 1998 UTC (15 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.36: +1 -2 lines
Diff to previous 1.36
Remove erroneous ignore declaration in peek-char.

Revision 1.36 - (view) (annotate) - [select for diffs]
Sat Dec 19 16:12:51 1998 UTC (15 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.35: +3 -2 lines
Diff to previous 1.35
Generate an EOF error within Peek-Char when the EOF is reached and
recursive-p is true. Based on patches from Peter Van Eynde.

Revision 1.35 - (view) (annotate) - [select for diffs]
Fri Jul 24 17:17:55 1998 UTC (15 years, 8 months ago) by dtc
Branch: MAIN
Changes since 1.34: +2 -2 lines
Diff to previous 1.34
The complex-float the signed-array features are now standard, so
remove unnecessary conditionals.

Revision 1.34 - (view) (annotate) - [select for diffs]
Thu Jul 16 13:30:52 1998 UTC (15 years, 9 months ago) by pw
Branch: MAIN
Changes since 1.33: +21 -5 lines
Diff to previous 1.33
Fixes and improvements to July-14 commit dealing with condition types
in calls to error. From Douglas.

Revision 1.33 - (view) (annotate) - [select for diffs]
Fri May 15 01:03:18 1998 UTC (15 years, 11 months ago) by dtc
Branch: MAIN
Changes since 1.32: +377 -282 lines
Diff to previous 1.32
Complete the Gray streams support for the lisp-streams that
encapsulate fundamental-streams, and streamline the Gray streams
related dispatch code.

Revision 1.32 - (view) (annotate) - [select for diffs]
Tue May 5 00:14:37 1998 UTC (15 years, 11 months ago) by dtc
Branch: MAIN
Changes since 1.31: +29 -25 lines
Diff to previous 1.31
Restore the in-synonym-of, out-synonym-of, with-in-stream, and
with-out-stream macros incorrectly replaced in the recent Gray stream

Revision 1.31 - (view) (annotate) - [select for diffs]
Tue May 5 00:12:14 1998 UTC (15 years, 11 months ago) by dtc
Branch: MAIN
Changes since 1.30: +51 -46 lines
Diff to previous 1.30
Fix for string-stream-read-n-bytes: when the requested number of bytes
is greater than those available, copy all those available and return
the number copied; it had been simply returning Nil or generating an
end-of-file error without coping any bytes.

This enables read-sequence to once again use the n-bin method on
string streams; remove the hack restriction.  Also fix an error in the
returned element index for the case in which the start index is not

Revision 1.30 - (view) (annotate) - [select for diffs]
Mon May 4 01:27:16 1998 UTC (15 years, 11 months ago) by dtc
Branch: MAIN
Changes since 1.29: +323 -219 lines
Diff to previous 1.29
Gray streams support:
* Rename the 'stream structure class to sys:lisp-stream.
* Add a new none hierarchical 'stream built-in class which inherits
  from: instance, t.
* Hack in the new stream class as a mixin for the structure base
  lisp-stream class which now inherits from: stream, structure-object,
  instance, t.
* Add a new 'fundamental-stream standard-class which includes 'stream
  as a mixin, and add PCL hacks to allow this to be redefined after PCL is
  loaded to be (defclass fundamental-stream (standard-object stream) ...).
* Add appropriate support to the base stream functions to dispatch to
  the Gray stream functions for the handling of fundamental-streams.
  Some of the lisp-streams encapsulating CLOS streams still need
  a little work.

Revision 1.29 - (view) (annotate) - [select for diffs]
Mon Apr 27 10:06:43 1998 UTC (15 years, 11 months ago) by pw
Branch: MAIN
Changes since 1.28: +22 -22 lines
Diff to previous 1.28
Fix for read-stream; can only use read-n-bytes to read into
simple-strings on fd-streams. Noted by Paul Dietz. Fix from Douglas.

Revision 1.28 - (view) (annotate) - [select for diffs]
Sun Mar 1 21:46:16 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.27: +2 -2 lines
Diff to previous 1.27
Fix doc. typos "the the" -> "the".

Revision 1.27 - (view) (annotate) - [select for diffs]
Tue Feb 3 19:02:16 1998 UTC (16 years, 2 months ago) by pw
Branch: MAIN
Changes since 1.26: +4 -4 lines
Diff to previous 1.26
String streams were returning non-existent type 'string-char instead
of 'base-char. Also, loop was barfing on base-char declaration wanting
instead to see string-char. Simply fixed.

Revision 1.26 - (view) (annotate) - [select for diffs]
Fri Oct 24 18:08:03 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.25: +93 -2 lines
Diff to previous 1.25
Add the read-sequence and write-sequence functions. Based on a
contribution by Marco Antoniotti: style modified to be more consistent
with CMUCL; numerous fixes; only string and ({un}signed-byte 8)
sequences handled efficiently until support for multi-byte stream
operations is added to CMUCL.

Revision 1.25 - (view) (annotate) - [select for diffs]
Mon Dec 5 00:02:45 1994 UTC (19 years, 4 months ago) by wlott
Branch: MAIN
Branch point for: RELENG_18
Changes since 1.24: +2 -1 lines
Diff to previous 1.24
Fixed broadcast streams to not close the component streams when the
broadcast stream is closed.  Revision 1.21 claimed to do this, but it
lied in the case of broadcast streams.

Revision 1.24 - (view) (annotate) - [select for diffs]
Tue Nov 1 17:57:46 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.23: +9 -4 lines
Diff to previous 1.23
Clarify EOF-ERROR-P handling in read-n-bytes.

Revision 1.23 - (view) (annotate) - [select for diffs]
Mon Oct 31 04:11:27 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.22: +1 -3 lines
Diff to previous 1.22
Fix headed boilerplate.

Revision 1.22 - (view) (annotate) - [select for diffs]
Wed Sep 28 13:40:26 1994 UTC (19 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.21: +4 -2 lines
Diff to previous 1.21
In read-line, put the actual stream in the call to eof-or-lose, not the
original arg (which might be T or NIL.)

Revision 1.21 - (view) (annotate) - [select for diffs]
Tue Aug 23 18:36:22 1994 UTC (19 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.20: +41 -14 lines
Diff to previous 1.20
When closing composite streams (broadcast, etc.), don't close component
streams.  ANSI sez.

Also, added gratuitous support for binary input from string streams (from David

Revision 1.20 - (view) (annotate) - [select for diffs]
Wed Mar 16 11:35:08 1994 UTC (20 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.19: +4 -3 lines
Diff to previous 1.19
Tweak read-line to work better on a non-persistent EOF (e.g. ^D on TTY)

Revision 1.19 - (view) (annotate) - [select for diffs]
Fri Mar 12 21:05:38 1993 UTC (21 years, 1 month ago) by wlott
Branch: MAIN
Branch point for: solaris_patch
Changes since 1.18: +6 -5 lines
Diff to previous 1.18
Fixed type decls in FILE-POSITION to allow :START and :END for positions.

Revision 1.18 - (view) (annotate) - [select for diffs]
Fri Feb 26 08:26:15 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.17: +180 -176 lines
Diff to previous 1.17
new structure branch & tuning, see new_struct

Revision 1.17 - (view) (annotate) - [select for diffs]
Fri Feb 12 20:21:44 1993 UTC (21 years, 2 months ago) by wlott
Branch: MAIN
Branch point for: new_struct
Changes since 1.16: +31 -25 lines
Diff to previous 1.16
Added OPEN-STREAM-P, changed a few explicit type checks to declares, and
changed a few uses of %primitive byte-blt to replace.

Revision 1.16 - (view) (annotate) - [select for diffs]
Wed Feb 10 22:17:44 1993 UTC (21 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.15: +6 -6 lines
Diff to previous 1.15
base-character -> base-char.

Revision 1.15 - (view) (annotate) - [select for diffs]
Fri Dec 11 15:56:52 1992 UTC (21 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.14: +2 -2 lines
Diff to previous 1.14
Syntax error in the defstruct for synonym-stream.

Revision 1.14 - (view) (annotate) - [select for diffs]
Thu Dec 10 01:08:40 1992 UTC (21 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.13: +36 -17 lines
Diff to previous 1.13
Exported various slot accessors of streams now part of the standard.  Made
these read-only slots.  Added open-stream-p and interactive-stream-p.

Revision 1.13 - (view) (annotate) - [select for diffs]
Fri Nov 29 19:47:19 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.12: +214 -3 lines
Diff to previous 1.12
Added MAKE-CASE-FROB-STREAM which is used by the new format to handle
~(...~) variants.  See the doc string for details.

Revision 1.12 - (view) (annotate) - [select for diffs]
Mon Jun 10 16:57:47 1991 UTC (22 years, 10 months ago) by chiles
Branch: MAIN
Changes since 1.11: +43 -2 lines
Diff to previous 1.11
Moved EXT:GET-STREAM-COMMAND into this file, so kernel cores could enter the

Revision 1.11 - (view) (annotate) - [select for diffs]
Tue Apr 23 12:58:28 1991 UTC (23 years ago) by ram
Branch: MAIN
Changes since 1.10: +5 -2 lines
Diff to previous 1.10
Made the synonym stream methods safe so that we will get unbound errors even in
safe code.

Revision 1.10 - (view) (annotate) - [select for diffs]
Thu Feb 14 18:47:57 1991 UTC (23 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.9: +40 -11 lines
Diff to previous 1.9
Merged systems-work sources as of this date:
.../systems-work/code/stream.lisp, 27-May-90 14:11:17, Edit by Chiles and Wlott.
  Changed the semantics of the :listen misc method for streams.  It now
  distinguishes between eof and no obvious input for other reasons.  This was
  necessary to correctly implement READ-CHAR-NO-HANG.

  LISTEN no tests the result of calling the :listen misc method for being
  explicitly t.  When it is :eof or nil, LISTEN should return nil.

  READ-CHAR-NO-HANG no calls the :listen misc method directly instead of
  calling LISTEN.  When the method returns t or :eof, it calls READ-CHAR to
  appropriately deal with returning the character or screaming because of eof.

  Modified the :listen misc method for concatenated streams.  It failed to step
  to the next stream when the current one hit eof.

  Modified the :listen misc method for string-input stream.  They never return
  nil since they either have more characters, or they are at :eof.

.../code/stream.lisp, 26-Apr-90 18:46:58, Edit by Wlott.
  Make two-way streams force-output on the output side before passing any
  input requests on to the input side.

.../systems-work/code/stream.lisp, 22-Mar-90 22:20:05, Edit by Chiles.
  Made the string-input-stream structure definition no longer specify
  :constructor nil in addition to defining one with a name.

Revision 1.9 - (view) (annotate) - [select for diffs]
Fri Feb 8 13:35:53 1991 UTC (23 years, 2 months ago) by ram
Branch: MAIN
Changes since 1.8: +9 -5 lines
Diff to previous 1.8
New file header with RCS header FILE-COMMENT.

Revision 1.8 - (view) (annotate) - [select for diffs]
Sun Jan 13 01:34:20 1991 UTC (23 years, 3 months ago) by wlott
Branch: MAIN
Changes since 1.7: +30 -14 lines
Diff to previous 1.7
Fixed echo streams to no longer echo unread characters twice.

Revision 1.7 - (view) (annotate) - [select for diffs]
Sat Jan 12 15:50:40 1991 UTC (23 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.6: +7 -7 lines
Diff to previous 1.6
Fixed broken declarations.

Revision 1.6 - (view) (annotate) - [select for diffs]
Wed Oct 17 03:46:22 1990 UTC (23 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.5: +3 -3 lines
Diff to previous 1.5
Fixed CONCATENATED-READLINE to not declare variables to be 
SIMPLE-STRING when they aren't.

Revision 1.5 - (view) (annotate) - [select for diffs]
Thu Oct 11 18:30:21 1990 UTC (23 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.4: +5 -3 lines
Diff to previous 1.4
Made string input stream support file-length and file-position setting.

Revision 1.4 - (view) (annotate) - [select for diffs]
Fri Aug 24 18:14:16 1990 UTC (23 years, 7 months ago) by wlott
Branch: MAIN
Changes since 1.3: +23 -18 lines
Diff to previous 1.3
Moved MIPS branch onto trunk; no merge necessary.

Revision 1.3 - (view) (annotate) - [select for diffs]
Mon May 14 12:32:42 1990 UTC (23 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.2: +2 -2 lines
Diff to previous 1.2
Flushed broken INGORE declaration.

Revision 1.2 - (view) (annotate) - [select for diffs]
Thu Feb 22 12:40:57 1990 UTC (24 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.1: +10 -3 lines
Diff to previous 1.1
.../systems-work/code/stream.lisp, 16-Jan-90 11:47:26, Edit by Wlott.
  Fixed bug in read-n-bytes: buffer was used where in-buffer should have been.

.../systems-work/code/stream.lisp, 23-Oct-89 16:45:49, Edit by Chiles.
  Picked up Chris's fix to make CLEAR-INPUT always return nil.

/usr1/lisp/ncode/stream.lisp, 25-Aug-89 11:46:56, Edit by Chiles.
  Added FILE-POSITION methods for string streams.

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Feb 6 17:27:02 1990 UTC (24 years, 2 months ago) by ram
Branch: MAIN
Initial revision

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5