/[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)
Sticky Tag:

Revision 1.102 - (view) (annotate) - [select for diffs]
Wed Jun 29 00:55:04 2011 UTC (2 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: GIT-CONVERSION, HEAD, snapshot-2011-07, snapshot-2011-09
Changes since 1.101: +1 -7 lines
Diff to previous 1.101 , to selected 1.87.6.1
Fix Trac #43 again.

stream.lisp:
o Remove the old code that was the first attempt at fixing issue #43.
  This was wrong.

fd-stream.lisp:
o Fix issue #43.  Even if we have a string-buffer, we need to take
  into account any octets in the in-buffer (if it exists) that have
  not been processed.  This happens if the in-buffer does not have
  enough octets at the end to form a complete character for the given
  encoding.
o Some debugging prints added, but disabled.

Revision 1.101 - (view) (annotate) - [select for diffs]
Mon Jun 27 15:05:27 2011 UTC (2 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.100: +2 -1 lines
Diff to previous 1.100 , to selected 1.87.6.1
Revert last change to fix Trac #43.

That changes causes the Unicode normalization and word-break tests to
fail.  I do not know why this causes the tests to fail, but it causes
the test program to suck in the entire file into a string instead of
just one line.

Revision 1.100 - (view) (annotate) - [select for diffs]
Thu Mar 3 16:43:28 2011 UTC (3 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2011-04, snapshot-2011-06
Changes since 1.99: +13 -1 lines
Diff to previous 1.99 , to selected 1.87.6.1
Fix Trac #43:  unread-char doesn't change file-position

The issue is caused by FAST-READ-CHAR-STRING-REFILL.  In some
situations the number of octets converted is not exactly the same as
the length of the buffer because the last octets in the buffer don't
hold a complete encoded character.  This is ok, but we didn't update
the ibuf-head pointer to indicate that some octets haven't actually
been converted.  This confuses FILE-POSITION.

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 , to selected 1.87.6.1
Clean up how (setf stream-external-format) works.  This change
requires a cross-compile using the default cross-compile script.

fd-stream.lisp:
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.

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

fd-stream-extfmt.lisp:
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 , to selected 1.87.6.1
Merge changes from 20b-pre2.

Revision 1.94.4.6 - (view) (annotate) - [select for diffs]
Sun Sep 5 11:45:38 2010 UTC (3 years, 7 months ago) by rtoy
Branch: RELEASE-20B-BRANCH
CVS Tags: RELEASE_20b, release-20b-pre2
Changes since 1.94.4.5: +112 -116 lines
Diff to previous 1.94.4.5 , to branch point 1.94 , to next main 1.102 , to selected 1.87.6.1
Somve restructuring of FAST-READ-CHAR-STRING-REFILL.  Move the code
that handles eof and reading into the octet buffer into local
functions.  Makes it a little easier to read.

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 , to selected 1.87.6.1
Merge fixes for fast-read-char-string-refill from the 20b-branch.

Revision 1.94.4.5 - (view) (annotate) - [select for diffs]
Fri Sep 3 16:32:38 2010 UTC (3 years, 7 months ago) by rtoy
Branch: RELEASE-20B-BRANCH
Changes since 1.94.4.4: +43 -14 lines
Diff to previous 1.94.4.4 , to branch point 1.94 , to selected 1.87.6.1
More fixes.  With these changes, the normalization and word-break
tests pass without problems.  Copying the lines from the test files to
a new file also produces a file that is identical to the original.
(Previously, this was failing.)

o For debugging, clear out the parts of in-buffer that have already
  been processed.  Not enabled normally.
o When retrying the read to get more octets, we weren't reading the
  new octets into the correct spot in the in-buffer, and we weren't
  updating the in-length with the correct length.

Revision 1.94.4.4 - (view) (annotate) - [select for diffs]
Fri Sep 3 02:18:53 2010 UTC (3 years, 7 months ago) by rtoy
Branch: RELEASE-20B-BRANCH
Changes since 1.94.4.3: +3 -2 lines
Diff to previous 1.94.4.3 , to branch point 1.94 , to selected 1.87.6.1
fix some bugs in previous commit.

o For debugging, the last sbuf element is
  lisp-stream-string-buffer-len, not one more than that.
o We were not copying the last element of the string-buffer to the
  beginning.
o Forgot to set the stream in-length correctly when we had to retry
  reading octets to get a whole character.

Revision 1.94.4.3 - (view) (annotate) - [select for diffs]
Thu Sep 2 23:47:31 2010 UTC (3 years, 7 months ago) by rtoy
Branch: RELEASE-20B-BRANCH
Changes since 1.94.4.2: +55 -22 lines
Diff to previous 1.94.4.2 , to branch point 1.94 , to selected 1.87.6.1
Fix yet another bug in the FAST-READ-CHAR-STRING-REFILL.   This shows
up when running the word break test in
i18n/tests/word-break-test.lisp.

extfmts.lisp:
o Return the number of characters that were actually converted instead
  of the position of the starting point of the output string.

stream.lisp:
o In FAST-READ-CHAR-STRING-REFILL, sometimes, we'll only read one
  octet into the octet buffer, and the octet will be the first octet
  of a multi-octet character.  If this happens, we need to try to read
  some more octets in so that the call to FAST-READ-CHAR-STRING-REFILL
  can return a character.  We only retry once.  If this still fails to
  read enough octets to form a character, we're hosed since we don't
  check for this.  (Should we?)

  Need to refactor this code a bit too.

Revision 1.94.4.2 - (view) (annotate) - [select for diffs]
Sun Aug 15 15:07:51 2010 UTC (3 years, 8 months ago) by rtoy
Branch: RELEASE-20B-BRANCH
Changes since 1.94.4.1: +11 -9 lines
Diff to previous 1.94.4.1 , to branch point 1.94 , to selected 1.87.6.1
Merge fix from HEAD to fix trac #36: file-position wrong.

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 , to selected 1.87.6.1
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.)

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

extfmts.lisp:
o Add OCTETS-TO-STRING-COUNTED, which is like OCTETS-TO-STRING, except
  we need an array in which to store the number of octets consumed for
  each character processed.

fd-stream.lisp:
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.

stream.lisp:
o Use OCTETS-TO-STRING-COUNTED instead of OCTETS-TO-STRING so we keep
  track of octet length of each character processed.

Revision 1.94.4.1 - (view) (annotate) - [select for diffs]
Mon Aug 9 22:46:42 2010 UTC (3 years, 8 months ago) by rtoy
Branch: RELEASE-20B-BRANCH
Changes since 1.94: +7 -2 lines
Diff to previous 1.94 , to selected 1.87.6.1
Merge fix from HEAD for broken FILE-POSITION.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
Fix critical error in fast-read-char-string-refill where we didn't
stream the data correctly causing decoding errors.

code/sysmacs.lisp:
o Need to copy back the in-index that fast-read-char-string-refill
  updated.

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

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 , to selected 1.87.6.1
Implement more of the external format error handlers.

code/extfmts.lisp
o Call the error handler for iso8859-1 output.
o In OCTETS-TO-CODEPOINT and CODEPOINT-TO-OCTETS, call the external
  format with the error argument.
o In OCTETS-TO-CHAR
  - Call OCTETS-TO-CODEPOINT with the error handler.
  - For all of the error conditions, call the error handler if
    defined.
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.

code/fd-stream-extfmt.lisp:
o Tell OCTETS-TO-STRING about the error handler stored in the
  fd-stream.

code/fd-stream.lisp:
o OPEN, MAKE-FD-STREAM, and OPEN-FD-STREAM get DECODING-ERROR and
  ENCODING-ERROR keyword arguments for specifying how to handle
  decoding and encoding errors in external formats.

code/stream.lisp:
o Make sure the error handler is called in
  FAST-READ-CHAR-STRING-REFILL.

pcl/simple-streams/external-formats/utf-8.lisp:
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 , to selected 1.87.6.1
Change uses of _"foo" to (intl:gettext "foo").  This is because slime
may get confused with source locations if the reader macros are
installed.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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.4.1 - (view) (annotate) - [select for diffs]
Thu Feb 25 20:34:52 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-2-branch
Changes since 1.89: +82 -80 lines
Diff to previous 1.89 , to next main 1.102 , to selected 1.87.6.1
Restart internalization work.  This new branch starts with code from
the intl-branch on date 2010-02-12 18:00:00+0500.  This version works
and

LANG=en@piglatin bin/lisp

works (once the piglatin translation is added).

Revision 1.89.2.2 - (view) (annotate) - [select for diffs]
Wed Feb 10 04:01:27 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-2010-03-18-1300, intl-branch-working-2010-02-11-1000, intl-branch-working-2010-02-19-1000
Changes since 1.89.2.1: +80 -80 lines
Diff to previous 1.89.2.1 , to branch point 1.89 , to next main 1.102 , to selected 1.87.6.1
Mark translatable strings; update cmucl.pot and ko/cmucl.po
accordingly.

Revision 1.89.2.1 - (view) (annotate) - [select for diffs]
Mon Feb 8 17:15:49 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
Changes since 1.89: +3 -1 lines
Diff to previous 1.89 , to selected 1.87.6.1
Add (intl:textdomain "cmucl") to the files to set the textdomain.

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 , to selected 1.87.6.1
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.

code/fd-stream.lisp:
o Always call %SET-FD-STREAM-EXTERNAL-FORMAT, even if
  LISP::*ENABLE-STREAM-BUFFER-P* is NIL.

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

code/fd-stream-extfmt.lisp:
o %SET-FD-STREAM-EXTERNAL-FORMAT moved here.

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 , to selected 1.87.6.1
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.

code/extfmts.lisp:
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.

code/fd-stream-extfmt.lisp:
o Set *enable-stream-buffer-p* to T so we have fast streams.

code/fd-stream.lisp:
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
  unread.
o Add implementation to copy the state of an external format.

code/stream.lisp:
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.

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

code/sysmacs.lisp:
o Update PREPARE-FOR-FAST-READ-CHAR, DONE-WITH-FAST-READ-CHAR, and
  FAST-READ-CHAR to support the string buffer.

code/string.lisp:
o Microoptimization of SURROGATEP to reduce the number of branchs.

general-info/release-20b.txt:
o Update with these changes

pcl/simple-streams/external-formats/utf-16-be.lisp:
pcl/simple-streams/external-formats/utf-16-le.lisp:
pcl/simple-streams/external-formats/utf-16.lisp:
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.6.12 - (view) (annotate) - [select for diffs]
Thu Oct 8 02:06:25 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.87.6.11: +6 -4 lines
Diff to previous 1.87.6.11 , to branch point 1.87 , to next main 1.102 , to selected 1.87.6.1
fd-stream.lisp:
o EF-COPY-STATE is only for unicode builds.

stream.lisp:
o %SET-FD-STREAM-EXTERNAL-FORMAT and FAST-READ-CHAR-STRING-REFILL are
  %only for unicode builds.

sysmacs.lisp:
o Combine the unicode and non-unicode versions of FAST-REACH-CHAR into
  one macro with one conditionalization internally for unicode.

boot-2009-10-01.lisp:
o Bootstrap file to update +ef-max+ for non-unicode builds.

Revision 1.87.6.11 - (view) (annotate) - [select for diffs]
Wed Oct 7 17:55:58 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.87.6.10: +5 -3 lines
Diff to previous 1.87.6.10 , to branch point 1.87 , to selected 1.87.6.1
fd-stream.lisp:
o Define function to copy the external format state.

stream.lisp:
o Use the correct copier function to copy the external format state,
  instead of copy-list.

Revision 1.87.6.10 - (view) (annotate) - [select for diffs]
Wed Oct 7 14:45:00 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.87.6.9: +31 -23 lines
Diff to previous 1.87.6.9 , to branch point 1.87 , to selected 1.87.6.1
%SET-FD-STREAM-EXTERNAL-FORMAT:
o Convert all of the old octets all at once instead of one at a time,
  now that octets-to-string stops when given output string is full.
o When converting previously read octets, we need to convert using the
  state originally used.  And after converting the unprocessed octets
  with the new state, we need to update the oc-state with the new
  state so that we can process following buffers correctly.  We also
  need to know how many octets are actually in IN-BUFFER in case
  end-of-file was reached and IN-BUFFER isn't completely full.
FAST-READ-CHAR-STRING-REFILL:
o Some cleanup of code and comments.

Revision 1.87.6.9 - (view) (annotate) - [select for diffs]
Wed Oct 7 03:37:44 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.87.6.8: +15 -4 lines
Diff to previous 1.87.6.8 , to branch point 1.87 , to selected 1.87.6.1
fd-stream.lisp:
o Merge changes from unicode-string-buffer-branch, adding slot to
  fd-stream to hold the saved oc state and the total number of octets
  in the in-buffer.

stream.lisp:
o In %SET-FD-STREAM-EXTERNAL-FORMAT need to get the saved oc state to
  reconvert the latest octets correctly when figuring out how many
  octets we've actually read so far.  Also, we converting the
  remaining unprocessed octets with the new format, we only convert
  the valid octets (fd-stream-in-length) in the in-buffer.  Normally
  this is in-buffer-length, but at EOF, it may be less.
o In FAST-READ-CHAR-STRING-REFILL, we need to set fd-stream-in-length
  to the actuall number of octets in the buffer.  Also, to support
  (setf stream-external-format), we need to save the oc state before
  converting in-buffer to characters.

Revision 1.87.6.8 - (view) (annotate) - [select for diffs]
Mon Oct 5 03:58:02 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.87.6.7: +10 -6 lines
Diff to previous 1.87.6.7 , to branch point 1.87 , to selected 1.87.6.1
extfmts.lisp:
o Allow caller to specify a state so octets can be converted in
  batches with the appropriate state between them.

stream.lisp:
o Call OCTETS-TO-STRING with the appropriate state from the stream.
o Better declarations in FAST-READ-CHAR-STRING-REFILL.

Revision 1.87.6.7 - (view) (annotate) - [select for diffs]
Wed Sep 30 20:50:22 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.87.6.6: +9 -24 lines
Diff to previous 1.87.6.6 , to branch point 1.87 , to selected 1.87.6.1
Remove debugging stuff, simplify and clean up code a bit.

Revision 1.87.6.6 - (view) (annotate) - [select for diffs]
Fri Sep 25 22:56:11 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.87.6.5: +44 -13 lines
Diff to previous 1.87.6.5 , to branch point 1.87 , to selected 1.87.6.1
Make (setf stream-external-format) work with the string buffer.  This
has no impact on fast-read-char, but does make changing the external
format a little bit slower than might be expected.

fd-stream.lisp:
o Don't call (setf stream-external-format) in make-fd-stream because
  we're not ready for that yet.  Call %set-fd-stream-external-format
  instead.

stream.lisp:
o Add extra arg to %set-fd-stream-external-format to control whether
  we want to update the string buffer or not.  (Defaults to updating.)
o When the external format is changed, reprocess all the octets that
  haven't been read yet with the new format.

Revision 1.87.6.5 - (view) (annotate) - [select for diffs]
Fri Sep 25 18:47:31 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.87.6.4: +3 -1 lines
Diff to previous 1.87.6.4 , to branch point 1.87 , to selected 1.87.6.1
When EOF is reached, we need to set the string-buffer index to the end
of the string buffer to mark that there's nothing left in the buffer.

Revision 1.87.6.4 - (view) (annotate) - [select for diffs]
Fri Sep 25 18:13:11 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.87.6.3: +16 -8 lines
Diff to previous 1.87.6.3 , to branch point 1.87 , to selected 1.87.6.1
Support fast iso8859-1 reader, again.

fd-stream.lisp:
o If the external format is :iso8859-1, don't create the string
  buffer, but do create the in-buffer from which we can grab the
  octets/characters.

stream.lisp:
o Update UNREAD-CHAR to handle the case of an in-buffer without a
  string-buffer.  This means we have :iso8859-1.

Revision 1.87.6.3 - (view) (annotate) - [select for diffs]
Fri Sep 25 13:46:28 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.87.6.2: +34 -46 lines
Diff to previous 1.87.6.2 , to branch point 1.87 , to selected 1.87.6.1
fd-stream.lisp:
o Fix comment to match code

stream.lisp:
o Clean up code a bit.

Revision 1.87.6.2 - (view) (annotate) - [select for diffs]
Fri Sep 25 04:14:36 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.87.6.1: +41 -10 lines
Diff to previous 1.87.6.1 , to branch point 1.87
fd-stream.lisp:
o Make the string buffer length one more than in-buffer-length so we
  can have an extra character for unreading, and so we can convert the
  entire in-buffer for single-byte encodings.

stream.lisp:
o Use extra character to support unreading by backing up.  This means
  having to copy the last character to the first and making
  OCTETS-TO-STRING store the result in the string at index 1, not 0.
o The number of octets to convert was wrong---we need to add the
  number of octets that weren't already consumed.

Revision 1.87.6.1 - (view) (annotate) - [selected]
Sat Sep 19 15:16:05 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.87: +59 -1 lines
Diff to previous 1.87
Implement fast external formats.  This is done for buffered streams
where an in-buffer would be allocated.  For character streams, a
string-buffer is also allocated.  Whenever the string-buffer is empty,
the in-buffer is filled with new octets, and the octets are
immediately converted to a string.  FAST-READ-CHAR pulls the
characters from string-buffer as needed.  This speeds up utf8
processing by 30-40% (for read-line).

fd-stream-extfmt.lisp:
o Precompile the +ef-os+ slot for iso8859-1. (Not necessary?)
o Set *enable-stream-buffer-p* to T to enable the buffer.

fd-stream.lisp:
o In SET-ROUTINES, allocate the string-buffer when appropriate.
o Update FD-STREAM-MISC-ROUTINE to handle :unread with the string
  buffer.

stream.lisp:
o Update UNREAD-CHAR to handle the string buffer.  May need more
  work.
o Add FAST-READ-CHAR-STRING-REFILL to refill the in-buffer and
  string-buffer

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 , to selected 1.87.6.1
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
  external-format).
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
Cleanups for non-unicode build.

code/stream.lisp:
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
  builds.

code/strings.lisp:
o Conditionalize out things that will only work if unicode is
  available.

tools/worldcom.lisp:
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 , to selected 1.87.6.1
Merge Unicode work to trunk.  From label
unicode-utf16-extfmt-2009-06-11.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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.77.4.2 - (view) (annotate) - [select for diffs]
Mon Dec 19 01:09:53 2005 UTC (8 years, 4 months ago) by rtoy
Branch: ppc_gencgc_branch
CVS Tags: ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06
Changes since 1.77.4.1: +29 -21 lines
Diff to previous 1.77.4.1 , to branch point 1.77 , to next main 1.102 , to selected 1.87.6.1
Merge code from main branch of 2005-12-17 to ppc gencgc branch.  Still
doesn't work of course.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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.77.4.1 - (view) (annotate) - [select for diffs]
Sun May 15 20:01:22 2005 UTC (8 years, 11 months ago) by rtoy
Branch: ppc_gencgc_branch
Changes since 1.77: +58 -5 lines
Diff to previous 1.77 , to selected 1.87.6.1
Merge snapshot-2005-05 to this branch.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
  - 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 , to selected 1.87.6.1
 - 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 , to selected 1.87.6.1
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, 2 months ago) by toy
Branch: MAIN
Changes since 1.65: +2 -2 lines
Diff to previous 1.65 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
	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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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.58.2.1 - (view) (annotate) - [select for diffs]
Fri Mar 21 00:03:14 2003 UTC (11 years, 1 month ago) by gerd
Branch: cold-pcl
Changes since 1.58: +8 -4 lines
Diff to previous 1.58 , to next main 1.102 , to selected 1.87.6.1
Merge with HEAD.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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.2.1 - (view) (annotate) - [select for diffs]
Fri Oct 4 23:13:35 2002 UTC (11 years, 6 months ago) by pmai
Branch: UNICODE-BRANCH
Changes since 1.52: +96 -27 lines
Diff to previous 1.52 , to next main 1.102 , to selected 1.87.6.1
Checked in Brian Spilsbury's experimental Unicode, locales, and dialect
support patchset.  This lives on its own branch, so that people can
play with it and tweak it, without disturbing 18e release engineering
on the main branch.  Bootstrapping has only been tried on LINKAGE_TABLE
x86/Linux builds.  A working cross-compile script is checked in under
bootfiles/19a/boot1-cross-unicode.lisp.  The script still leaves you
with some interactive errors, on the cross compile, which you should
answer with 2.  See the mailing list for more information.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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.25.2.8 - (view) (annotate) - [select for diffs]
Sat Mar 23 18:50:11 2002 UTC (12 years ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18d
Changes since 1.25.2.7: +579 -9 lines
Diff to previous 1.25.2.7 , to branch point 1.25 , to next main 1.102 , to selected 1.87.6.1
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation
for release tagging 18d.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
Change most PROCLAIMs to DECLAIMs.

Revision 1.25.2.7 - (view) (annotate) - [select for diffs]
Thu Aug 24 19:55:53 2000 UTC (13 years, 7 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18c
Changes since 1.25.2.6: +14 -1 lines
Diff to previous 1.25.2.6 , to branch point 1.25 , to selected 1.87.6.1
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.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 , to selected 1.87.6.1
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.25.2.6 - (view) (annotate) - [select for diffs]
Sun Jul 23 14:59:58 2000 UTC (13 years, 8 months ago) by dtc
Branch: RELENG_18
Changes since 1.25.2.5: +12 -7 lines
Diff to previous 1.25.2.5 , to branch point 1.25 , to selected 1.87.6.1
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.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 , to selected 1.87.6.1
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.25.2.5 - (view) (annotate) - [select for diffs]
Sun Jul 23 14:59:20 2000 UTC (13 years, 8 months ago) by dtc
Branch: RELENG_18
Changes since 1.25.2.4: +7 -5 lines
Diff to previous 1.25.2.4 , to branch point 1.25 , to selected 1.87.6.1
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.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 , to selected 1.87.6.1
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.25.2.4 - (view) (annotate) - [select for diffs]
Sat Jun 17 06:34:23 2000 UTC (13 years, 10 months ago) by dtc
Branch: RELENG_18
Changes since 1.25.2.3: +3 -3 lines
Diff to previous 1.25.2.3 , to branch point 1.25 , to selected 1.87.6.1
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.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 , to selected 1.87.6.1
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.25.2.3 - (view) (annotate) - [select for diffs]
Tue May 23 16:36:50 2000 UTC (13 years, 10 months ago) by pw
Branch: RELENG_18
Changes since 1.25.2.2: +28 -28 lines
Diff to previous 1.25.2.2 , to branch point 1.25 , to selected 1.87.6.1
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
The complex-float the signed-array features are now standard, so
remove unnecessary conditionals.

Revision 1.25.2.2 - (view) (annotate) - [select for diffs]
Sun Jul 19 01:06:12 1998 UTC (15 years, 9 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.25.2.1: +21 -5 lines
Diff to previous 1.25.2.1 , to branch point 1.25 , to selected 1.87.6.1
Update from the current main branch.

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 , to selected 1.87.6.1
Fixes and improvements to July-14 commit dealing with condition types
in calls to error. From Douglas.

Revision 1.25.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:22:30 1998 UTC (15 years, 9 months ago) by pw
Branch: RELENG_18
Changes since 1.25: +587 -288 lines
Diff to previous 1.25 , to selected 1.87.6.1
This (huge) revision brings the RELENG_18 branch up to the current HEAD.
Note code/unix-glib2.lisp not yet included -- not sure it is ready to go.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
Fix headed boilerplate.

Revision 1.19.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Wed Oct 19 23:26:02 1994 UTC (19 years, 6 months ago) by ram
Branch: solaris_patch
Changes since 1.19: +41 -8 lines
Diff to previous 1.19 , to next main 1.102 , to selected 1.87.6.1
Solaris patches.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
new structure branch & tuning, see new_struct

Revision 1.17.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Thu Feb 25 02:22:49 1993 UTC (21 years, 1 month ago) by ram
Branch: new_struct
Changes since 1.17.1.2: +5 -3 lines
Diff to previous 1.17.1.2 , to next main 1.102 , to selected 1.87.6.1
fix some fast-read-char/in-buffer bugs

Revision 1.17.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Feb 23 23:27:49 1993 UTC (21 years, 1 month ago) by ram
Branch: new_struct
Changes since 1.17.1.1: +16 -11 lines
Diff to previous 1.17.1.1 , to selected 1.87.6.1
Fixes to in-buffer/fast-read-char stuff.

Revision 1.17.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Feb 23 16:13:06 1993 UTC (21 years, 1 month ago) by ram
Branch: new_struct
Changes since 1.17: +173 -176 lines
Diff to previous 1.17 , to selected 1.87.6.1
cleaned up stream-command package hackery.  deleted read-line methods,
rewrote read-line on fast-read-char.  Moved file-position & file-length
here.  Resuscitated IN-BUFFER hacks.  Redefined read-char & read-byte
as fast-read-char and fast-read-byte.  Added fast-read-char & fast-read-byte
refill routines.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
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 , to selected 1.87.6.1
Moved MIPS branch onto trunk; no merge necessary.

Revision 1.3.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Thu Jul 19 14:19:02 1990 UTC (23 years, 9 months ago) by ram
Changes since 1.3.1.1: +12 -10 lines
Diff to previous 1.3.1.1 , to next main 1.102 , to selected 1.87.6.1
Fixed READ-LINE in the case where there is an in-buffer but there is no newline
in it.  In addition to doing a bogus declaration, it would actually try to
concatenate the eof-value into a string.

Revision 1.3.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Jun 12 22:54:17 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.3: +13 -10 lines
Diff to previous 1.3 , to selected 1.87.6.1
Merged trunk changes into MIPS branch.

Revision 1.2.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Fri May 25 20:44:13 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.2: +13 -10 lines
Diff to previous 1.2 , to next main 1.102 , to selected 1.87.6.1
Initial MIPS cut.

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 , to selected 1.87.6.1
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 , to selected 1.87.6.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
Diff to selected 1.87.6.1
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