/[cmucl]/src/code/stream.lisp
ViewVC logotype

Log of /src/code/stream.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Links to unicode-utf16-extfmt-branch: (view) (annotate)
Sticky Tag:

Revision 1.83.6.4.2.6 - (view) (annotate) - [select for diffs]
Sun Jun 7 19:13:12 2009 UTC (4 years, 10 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-utf16-extfmt-2009-06-11
Changes since 1.83.6.4.2.5: +4 -2 lines
Diff to previous 1.83.6.4.2.5 , to branch point 1.83.6.4
Be sure to close the input string stream.

Revision 1.83.6.4.2.5 - (view) (annotate) - [select for diffs]
Tue Jun 2 18:26:33 2009 UTC (4 years, 10 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.83.6.4.2.4: +4 -43 lines
Diff to previous 1.83.6.4.2.4 , to branch point 1.83.6.4
Revert change allowing READ/WRITE-SEQUENCE to operate on 1, 2, and
4-bit vectors.  This breaks some ansi-tests.  READ/WRITE-VECTOR
updated appropriately.

CMUCL can still read and write unidata.bin correctly with these changes.

code/stream.lisp:
o Remove support for 1, 2, and 4-bit vectors for READ-SEQUENCE and
  WRITE-SEQUENCE.

code/fd-stream.lisp:
o Change VECTOR-ELT-WIDTH to return fractional values for arrays of 1,
  2 and 4 bits.  (The result is the number of octets (fractional) per
  element.)

code/stream-vector-io.lisp:
o Replace the calls to READ/WRITE-SEQUENCE with calls to new routines
  that implement the desired operations.

Revision 1.83.6.4.2.4 - (view) (annotate) - [select for diffs]
Fri May 29 19:15:00 2009 UTC (4 years, 10 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-06
Changes since 1.83.6.4.2.3: +7 -6 lines
Diff to previous 1.83.6.4.2.3 , to branch point 1.83.6.4
WRITE-SEQUENCE can't use WRITE-INTO-SIMPLE-ARRAY for all vectors
because it doesn't handle vectors whose elements are all characters.
Hence put back the special case for SIMPLE-ARRAY and make the VECTOR
case use WRITE-INTO-VECTOR.

Same issue with READ-SEQUENCE.

A test case:

(let ((s (make-array 10 :initial-contents "abcde     " :fill-pointer 5)))
  (with-output-to-string (os)
    (assert (eq (write-sequence s os) s))))

Revision 1.83.6.4.2.3 - (view) (annotate) - [select for diffs]
Mon May 25 20:08:28 2009 UTC (4 years, 10 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.83.6.4.2.2: +42 -3 lines
Diff to previous 1.83.6.4.2.2 , to branch point 1.83.6.4
Add support for quick check normalization properties.  (From Paul.)

i18n/DerivedNormalizationProps.txt:
o New file containing the normalization data we need.

tools/build-unidata.lisp:
o Read the normalization properties and build unidata.bin to include
  four new tries, one each NFC/NFKC/NFD/NFKD.
o Add new 1 and 2 bit tries.

code/unidata.lisp:
o Read the new data
o Add new functions to return the quick check normalization data.

code/stream-vector-io.lisp:
code/stream.lisp:
o Add support for 1, 2, and 4 bit vectors for stream I/O.

Revision 1.83.6.4.2.2 - (view) (annotate) - [select for diffs]
Tue May 12 16:31:49 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.83.6.4.2.1: +8 -8 lines
Diff to previous 1.83.6.4.2.1 , to branch point 1.83.6.4
o Lots of spelling fixes from Paul.
o Add unicode codepoints in final-sigma.lisp (in case the characters
  there don't show up correctly).
o Support partial-fill in READ-INTO-STRING.

Revision 1.83.6.4.2.1 - (view) (annotate) - [select for diffs]
Wed Jul 2 01:22:07 2008 UTC (5 years, 9 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-05, unicode-utf16-extfmt-2009-03-27, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-extfmts-sync-2008-12
Changes since 1.83.6.4: +53 -55 lines
Diff to previous 1.83.6.4
More external format support from Paul Foley.

To get external format support I think you need to add :extfmts to
*features*.  But you can't bootstrap with that feature yet.

Initial support for pathname translations to so that namestrings can
be converted to an appropriate format before being given to the OS.

Many, many new external formats added.

These changes are all on their own branch for now, until the bootstrap
issue is resolved.  And also so we don't lose these changes from Paul.

Revision 1.83.6.4 - (view) (annotate) - [select for diffs]
Fri May 30 19:30:36 2008 UTC (5 years, 10 months ago) by rtoy
Branch: unicode-utf16-branch
CVS Tags: unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12, unicode-utf16-sync-label-2009-03-16
Branch point for: unicode-utf16-extfmt-branch
Changes since 1.83.6.3: +8 -16 lines
Diff to previous 1.83.6.3 , to branch point 1.83 , to next main 1.102
Use char-bytes as needed.  This allows us to remove the unicode
conditionals.

Revision 1.83.6.3 - (view) (annotate) - [select for diffs]
Fri May 30 13:27:14 2008 UTC (5 years, 10 months ago) by rtoy
Branch: unicode-utf16-branch
Changes since 1.83.6.2: +6 -4 lines
Diff to previous 1.83.6.2 , to branch point 1.83
For unicode, use %primitive byte-blt again instead of replace.  (Some
calls to replace were incorrect anyway.)

Revision 1.83.6.2 - (view) (annotate) - [select for diffs]
Thu May 29 23:50:49 2008 UTC (5 years, 10 months ago) by rtoy
Branch: unicode-utf16-branch
Changes since 1.83.6.1: +2 -1 lines
Diff to previous 1.83.6.1 , to branch point 1.83
READ-SEQUENCE can't use READ-INTO-SIMPLE-STRING with Unicode.  We need
to use READ-INTO-STRING to get the characters placed correctly.

Revision 1.83.6.1 - (view) (annotate) - [select for diffs]
Wed May 14 16:12:04 2008 UTC (5 years, 11 months ago) by rtoy
Branch: unicode-utf16-branch
CVS Tags: unicode-utf16-string-support
Changes since 1.83: +11 -2 lines
Diff to previous 1.83
Initial checkin of unicode branch.  This is incomplete.

What works:
o Cross-compile works on sparc and a lisp.core is created.  This core
  is able to build code and appears to use 16-bit strings.

What doesn't:
o The sparc version is not able to rebuild itself.  It hangs when
  trying to create a new lisp.core.
o The x86 version will cross-compile, but worldload fails.  The files
  being loaded have bizarre names.  Probably some deftransform not
  working correctly.

Issues:
o Characters are still essentially 8 bits.  This needs to be fixed.
o All input/output is basically still 8 bits.  Only the low 8 bits of
  a character are output.  For input, characters are assumed to be
  8-bit.
o No external formats or anything is supported.
o Readtable support not done.


Use boot-2008-05-cross-unicode-{sparc,x86}.lisp to cross-compile the
unicode changes.

Untested whether this code can still be compiled without :unicode.

Changes:

code/array.lisp:
o Base-char strings are 16 bits wide, not 8.

code/c-call.lisp:
o Define versions of DEPORT-GEN, %NATURALIZE-C-STRING to "handle"
  unicode strings.

code/debug-info.lisp:
o Adjust READ-VAR-STRING to use 16-bit strings.  (Needed to at least
  to make the disassembler work.)

code/debug.lisp:
o Add address when printing out objects that can't be printed.
  (Generally useful and not just for unicode.)

code/fd-stream.lisp:
o Hack output routines to only use the low 8-bits of the character.
  (This needs significant work!)

code/filesys.lisp:
o Some debugging %primitive prints left in, but commented out, in
  PARSE-UNIX-NAMESTRING.

code/lispinit.lisp:
o Debugging %primitive print's for top-level forms.

code/load.lisp:
o Update FOP-SHORT-CHARACTER for unicode.  But still only output the
  low 8 bits of a character to a fasl/core.  This needs updating.
o Hack routines for symbols to explicitly read in the individual bytes
  of the symbol/package name because READ-N-BYTES isn't working for us
  right now.
o Update FOP-STRING/FOP-SMALL-STRING to read in 16-bit elements for
  strings.  Full 16-bit strings supported.
o Currently only write 8-bit chars for foreign names.  This needs
  fixing.

code/misc.lisp:
o Register :unicode runtime feature.

code/pathname.lisp:
o Debugging %primitive prints left in, but commented out.

code/stream.lisp:
o Replace %primitive byte-blt with REPLACE for now to get the desired
  characters.

code/unix-glibc2.lisp:
o Workaround for unix-current-directory to return 16-bit strings.
  (Not necessary anymore?)
o UNIX-RESOLVE-LINKS doesn't seem to like MAKE-STRING with an
  INITIAL-ELEMENT specified.  Remove initial-element.  (Needs fixing.)

code/unix.lisp:
o Same as for unix-glibc2.lisp

compiler/array-tran.lisp:
o Turn off the MAKE-STRING deftransform.
o Update ARRAY-INFO to create 16-bit arrays for an element-type of
  base-char.

compiler/dump.lisp:
o Only dump 8-bit chars to a fasl for foreign fixups.
o Explicitly dump the characters of symbol name.  DUMP-BYTES not quite
  working for us now?
o Make DUMP-SIMPLE-STRING dump all 16 bits of each character.
o Characters are dumped as the low 8 bits.  Needs fixing.

compiler/generic/new-genesis.lisp:
o STRING-TO-CORE writes 16-bit strings to the core file.
o FOP-SHORT-CHARACTER for unicode added, but we still only write 8
  bits to the core.  (Needs fixing.)
o COLD-LOAD-SYMBOL modified to read 16-bit characters from the fasl
  file to create a symbol.
o FOP-UNINTERNED-SYMBOL-SAVE and FOP-UNINTERNED-SMALL-SYMBOL-SAVE
  reads 16-bit characters for symbol names.
o FOP-STRING/FOP-SMALL-STRING reads 16-bit characters for strings.
o FOP-FOREIGN-FIXUP and FOP-FOREIGN-DATA-FIXUP still only read 8-bit
  characters for foreign names.  (Needs fixing.)

compiler/generic/vm-tran.lisp:
o New deftransforms to support unicode.  Not the most efficient but
  should be workable for now.  Old deftransforms didn't copy enough
  bits.
o Deftransform for concatenate completely disabled.  This needs
  fixing.

compiler/sparc/array.lisp:
o Change simple-string accessor to use halfword accessors instead of
  byte accessors.

compiler/x86/array.lisp:
o Change simple-string accessor to use halfword accessors instead of
  byte accessors.

lisp/Config.linux_gencgc:
o Define -DUNICODE as needed

lisp/Config.sun4_solaris_sunc
o Define -DUNICODE as needed.

lisp/alloc.c:
o alloc_string needs to allocate 16-bit strings

lisp/backtrace.c:
o Tell ldb backtrace how to print out 16-bit strings.  This is a hack!

lisp/gencgc.c:
o Tell GC how long the 16-bit strings are now.

lisp/interr.c:
o Not really needed but make debug_print (aka %primitive print)
  support all objects by calling ldb's print function to print the
  object.

lisp/os-common.c:
o Add hack convert_lisp_string to take a 16-bit Lisp string and create
  a new string containing just the low 8 bits of each Lisp character.
o OS foreign linkage stuff needs 8-bit strings, so we need to convert
  Lisp strings to the desired size.  Very hackish!

lisp/print.c:
o Teach ldb how to print Lisp 16-bit strings.  Currently, just dump
  out each byte of the 16-bit string.  This needs major work!

lisp/purify.c:
o Teach purify about the 16-bit strings.

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
Add BASE-CHAR and CHARACTER to
*READ-INTO-SIMPLE-ARRAY-RECOGNIZED-TYPES* so that READ-VECTOR can read
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
  GENERALIZED-PEEKING-MECHANISM.
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.

    Examples:

    * (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)
				  (make-broadcast-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
fd-streams.

* code/fd-stream.lisp
  o Make FD-STREAM-IN use PICK-INPUT-ROUTINE to select the correct
    type of input.
  o Add *FD-STREAM-ENABLE-CHARACTER-AND-BINARY-INPUT* to allow binary
    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
    double-float.
  o Strings can be written to streams of element-type '(unsigned-byte
    8).

* 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
  streams.
o MAKE-STRING-INPUT-STREAM was not accepting NIL for the optional END
  argument.
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:
TWO-WAY, CONCATENATED, ECHO, STRING-INPUT, and STRING-OUTPUT

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
    nature!


  - 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
    nil.

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, 3 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.
  o GENERALIZED-PEEKING-MECHANISM needs to handle EOF-DETECTED-FORM
    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, 3 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
scavhook.lisp).

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
	changes.

	* 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)
	(free-buffer):
	* src/pcl/simple-streams/impl.lisp (%check, %read-line)
	(%peek-char, %read-byte):
	* src/pcl/simple-streams/file.lisp (open-file-stream)
	(device-close):
	* src/pcl/simple-streams/classes.lisp (simple-stream)
	(device-close):
	* 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
  *features*
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
STREAM-READ-SEQUENCE and STREAM-WRITE-SEQUENCE was getting called with
args in the wrong order  (stream arg is first).  Noted by Matthew
Danish.

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
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
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)

    Type-error in KERNEL::OBJECT-NOT-FIXNUM-ERROR-HANDLER:
       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, 7 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
	STREAM-READ-SEQUENCE and STREAM-WRITE-SEQUENCE, and provides a :class
	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
Spilsbury.

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
changes.

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
zero.

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
CVS Tags: RELEASE_18a
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
Axmark.)

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
debugger.

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, 2 months 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