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

Log of /src/code/fd-stream.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Tag:

Revision 1.125 - (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.124: +45 -30 lines
Diff to previous 1.124 , to selected 1.25
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.124 - (view) (annotate) - [select for diffs]
Tue May 31 13:14:39 2011 UTC (2 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2011-06
Changes since 1.123: +3 -2 lines
Diff to previous 1.123 , to selected 1.25
Ignore shell wildcards when determining next version.

Comment from Paul Foley:

  Problem: FD-OPEN calls NEXT-VERSION with the namestring;
  NEXT-VERSION calls EXTRACT-NAME-TYPE-AND-VERSION, which builds a
  "pattern" when it sees globbing characters in the name, and
  NEXT-VERSION promptly crashes when it tries to concatenate strings.

  Fix: Bind *IGNORE-WILDCARDS* to T in NEXT-VERSION (in
  fd-stream.lisp)

Revision 1.123 - (view) (annotate) - [select for diffs]
Thu Feb 17 02:55:45 2011 UTC (3 years, 1 month ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2011-03, snapshot-2011-04
Changes since 1.122: +2 -2 lines
Diff to previous 1.122 , to selected 1.25
Fix ansi-test failure OPEN.IO.28:

(OPEN PN :DIRECTION :IO :IF-DOES-NOT-EXIST NIL)

no longer signals an error.

code/fd-stream.lisp:
o Don't try to create a new version if there's no existing file

general-info/release-20c.txt:
o Update.

Revision 1.122 - (view) (annotate) - [select for diffs]
Wed Oct 13 18:00:44 2010 UTC (3 years, 6 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
Branch point for: cross-sol-x86-branch, cross-sparc-branch
Changes since 1.121: +6 -9 lines
Diff to previous 1.121 , to selected 1.25
Some changes to replace calls to gettext with _"" or _N"" for things
compiled with and without Unicode.  This is needed so that the pot
files have the same content for both unicode and non-unicode builds.
(The _"" and _N"" are handled by the reader, so things that are
conditionalized out still get processed, unlike using gettext.)

Revision 1.121 - (view) (annotate) - [select for diffs]
Tue Oct 12 21:52:44 2010 UTC (3 years, 6 months ago) by rtoy
Branch: MAIN
Changes since 1.120: +43 -18 lines
Diff to previous 1.120 , to selected 1.25
Make read-char and read-byte signal errors when given the wrong kind
of streams.  This is a change from current 20a and 20b behavior which
didn't signal errors, but matches the behavior for releases 19f and
earlier.

But allow them to work on binary-text-streams.  This is the same
behavior as before for binary-text-stream streams.

However, read-sequence no longer allows reading from streams into
arbitrary objects, unless the stream is a binary-text-stream stream.

code/fd-stream-extfmt.lisp:
o In %SET-FD-STREAM-EXTERNAL-FORMAT, only update
  fd-stream-in/fd-stream-out if we have a character or
  binary-text-stream stream.
o Don't update the fd-stream-string-buffer or lisp-stream-in-buffer if
  we have a binary-text-stream because that will mess up how
  fast-read-char and fast-read-byte dispatch to do the right thing for
  binary-text-stream streams.

code/fd-stream.lisp:
o Set the fd-stream-in and fd-stream-bin slots appropriately depending
  on whether we have a character, binary, or binary-text-stream
  stream.
o Only create the lisp-stream-in-buffer if we do NOT have a
  binary-text-stream.  (Binary streams didn't use the
  lisp-stream-buffer previously, so no change there.  Character
  streams use the lisp-stream-buffer and/or lisp-string-buffer.)
o Set the fd-stream-flags appropriately for the kind of stream this
  is.  Checking a fixnum is faster than checking the type of a stream.

code/struct.lisp:
o Add FLAGS slot to LISP-STREAM so we can tell what kind of stream
  (character, binary, binary-text-stream) we have.

code/sysmacs.lisp:
o Change FAST-READ-CHAR so that if we have a have a binary or
  binary-text-stream stream, we dispatch to the fast-read-char methods
  to do the right thing, including signaling an error for the wrong
  kind of stream.
o Change FAST-READ-BYTE so that if we do not have a binary stream, we
  dispatch to the fast-read-char method to do the right thing.

compiler/dump.lisp:
o With the above changes, we can no longer write characters to a
  binary stream, like a FASL file.  Make the fasl file a
  binary-text-stream so that we can.  (Alternatively, we could create
  the FASL header as a string, convert to octets and dump the octest
  to the file.  This is easier, and should still be fast for writing
  fasls.)

Revision 1.114.2.3 - (view) (annotate) - [select for diffs]
Wed Sep 15 15:32:45 2010 UTC (3 years, 7 months ago) by rtoy
Branch: RELEASE-20B-BRANCH
CVS Tags: RELEASE_20b
Changes since 1.114.2.2: +15 -4 lines
Diff to previous 1.114.2.2 , to branch point 1.114 , to next main 1.125 , to selected 1.25
Merge from trunk to fix FD-STREAM-FILE-POSITION, which was returning
the wrong thing for streams with a string-buffer (all external formats
except ISO-8859-1) and for streams without a string-buffer but with an
in-buffer (ISO-8859-1).  This caused source location information to be
totally wrong.

Revision 1.120 - (view) (annotate) - [select for diffs]
Wed Sep 15 11:32:49 2010 UTC (3 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.119: +15 -4 lines
Diff to previous 1.119 , to selected 1.25
Fix FD-STREAM-FILE-POSITION, which was returning the wrong thing for
streams with a string-buffer (all external formats except ISO-8859-1)
and for streams without a string-buffer but with an in-buffer
(ISO-8859-1).  This caused source location information to be totally
wrong.

Revision 1.119 - (view) (annotate) - [select for diffs]
Wed Sep 8 03:04:54 2010 UTC (3 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.118: +1 -5 lines
Diff to previous 1.118 , to selected 1.25
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.114.2.2 - (view) (annotate) - [select for diffs]
Wed Aug 18 17:31:51 2010 UTC (3 years, 7 months ago) by rtoy
Branch: RELEASE-20B-BRANCH
CVS Tags: release-20b-pre2
Changes since 1.114.2.1: +4 -3 lines
Diff to previous 1.114.2.1 , to branch point 1.114 , to selected 1.25
Merge fix from HEAD for FILE-POSITION.

Revision 1.118 - (view) (annotate) - [select for diffs]
Wed Aug 18 16:42:06 2010 UTC (3 years, 7 months ago) by rtoy
Branch: MAIN
Changes since 1.117: +4 -3 lines
Diff to previous 1.117 , to selected 1.25
Oops.  The upper limit for the octet-count array is one less than the
string-buffer-len because the string buffer has an extra element at
the beginning (for unread-char).

Revision 1.114.2.1 - (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.114: +39 -17 lines
Diff to previous 1.114 , to selected 1.25
Merge fix from HEAD to fix trac #36: file-position wrong.

Revision 1.117 - (view) (annotate) - [select for diffs]
Sun Aug 15 13:03:43 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.116: +9 -2 lines
Diff to previous 1.116 , to selected 1.25
When decoding-error is T, use a question mark for non-unicode builds
instead of the (invalid) Unicode replacement character.

Revision 1.116 - (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.115: +15 -8 lines
Diff to previous 1.115 , to selected 1.25
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.115 - (view) (annotate) - [select for diffs]
Wed Aug 4 03:37:51 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.114: +17 -9 lines
Diff to previous 1.114 , to selected 1.25
Correct the docstring for OPEN for the :ENCODING-ERROR and
:DECODING-ERROR arguments.

Revision 1.114 - (view) (annotate) - [select for diffs]
Tue Jul 20 22:53:11 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: release-20b-pre1, snapshot-2010-08
Branch point for: RELEASE-20B-BRANCH
Changes since 1.113: +6 -10 lines
Diff to previous 1.113 , to selected 1.25
Enable support for external-format errors for non-unicode builds too.
A normal build can be used, but you'll have to select the clobber-it
restart each time you're asked during the normal build.

Revision 1.113 - (view) (annotate) - [select for diffs]
Mon Jul 19 23:41:56 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.112: +8 -6 lines
Diff to previous 1.112 , to selected 1.25
Fix code so it will compile on 8-bit versions.  Basically, don't
reference fd-stream-char-to-octets-error and don't call
%make-fd-stream with :char-to-octets-error and :octets-to-char-error
since these don't exist without unicode.

Revision 1.112 - (view) (annotate) - [select for diffs]
Mon Jul 5 15:52:47 2010 UTC (3 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: sparc-tramp-assem-2010-07-19, sparc-tramp-assem-base
Branch point for: sparc-tramp-assem-branch
Changes since 1.111: +3 -3 lines
Diff to previous 1.111 , to selected 1.25
extfmts.lisp:
o Revert previous incompatible change to STRING-DECODE and
  STRING-ENCODE.  Change the keyword parameters back to optional
  parameters, and make the error parameter the last one.

fd-stream.lisp:
o Update use of STRING-ENCODE.

Revision 1.111 - (view) (annotate) - [select for diffs]
Mon Jul 5 03:11:08 2010 UTC (3 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.110: +3 -3 lines
Diff to previous 1.110 , to selected 1.25
Oops.  STRING-ENCODE now takes keyword args instead of optional args,
so update code.

Revision 1.110 - (view) (annotate) - [select for diffs]
Sat Jul 3 16:44:37 2010 UTC (3 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.109: +19 -5 lines
Diff to previous 1.109 , to selected 1.25
extfmts.lisp:
o Update comments for the various slots in DEFINE-EXTERNAL-FORMAT.

fd-stream.lisp:
o Declare the types for the CHAR-TO-OCTETS-ERROR and
  OCTETS-TO-CHAR-ERROR slots in FD-STREAM.
o Update docstrings for MAKE-FD-STREAM and OPEN for :DECODING-ERROR
  and :ENCODING-ERROR parameters.

Revision 1.109 - (view) (annotate) - [select for diffs]
Sat Jul 3 15:20:25 2010 UTC (3 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.108: +5 -5 lines
Diff to previous 1.108 , to selected 1.25
Fix some compiler notes by adding declarations and removing one
variable that was shadowing another.

Revision 1.108 - (view) (annotate) - [select for diffs]
Sat Jul 3 14:10:40 2010 UTC (3 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.107: +17 -7 lines
Diff to previous 1.107 , to selected 1.25
In EF-FLUSH, we need to handle bare surrogates ourselves for the case
where the external format does not have a flush-state method.

Revision 1.107 - (view) (annotate) - [select for diffs]
Sat Jul 3 13:39:20 2010 UTC (3 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.106: +17 -11 lines
Diff to previous 1.106 , to selected 1.25
code/extfmts.lisp:
o Add error parameter to flush-state in external format definition so
  we can handle errors when flushing the state to a stream.
o Add optional error parameter to flush-state macro.

code/fd-stream.lisp:
o For the case where an external format has flush method, EF-FLUSH was
  not calling it correctly.  Update so the output function actuall
  works.
o Add error handler to call to flush-state.
o For the case where an external format does not have a flush method,
  output the state value instead of a replacement character so the
  external format can handle any errors.

Revision 1.106 - (view) (annotate) - [select for diffs]
Fri Jul 2 23:06:26 2010 UTC (3 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.105: +29 -14 lines
Diff to previous 1.105 , to selected 1.25
code/extfmts.lisp:
o Pass the error handler on for composed external formats.

code/fd-stream.lisp:
o Forgot to pass the error-handler to char-to-octets in EF-COUT.
o In MAKE-FD-STREAM slightly change handling of encoding-error and
  decoding-error:
  - If :encoding-error is a character, then the external format will
    use that character whenever an encoding error happens instead of
    the default (internally specified by the external format).
  - If :decoding-error is a character, then the external format will
    use that character whenever an encoding error happens instead of
    the default (internally specified by the external format).  If
    :decoding-error is T, then a cerror is signaled; if continued, the
    Unicode replacement character (#\U+FFFD) is used.
o Fix bug in OPEN:  The :decoding-error and :encoding-error keyword
  parameter was placed in the &aux section by mistake.

Revision 1.105 - (view) (annotate) - [select for diffs]
Fri Jul 2 16:29:55 2010 UTC (3 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.104: +9 -9 lines
Diff to previous 1.104 , to selected 1.25
code/extfmts.lisp:
o The optional error parameter doesn't need to be optional in
  DEFINE-EXTERNAL-FORMAT, EF-STRING-TO-OCTETS, EF-OCTETS-TO-STRING,
  EF-ENCODE and EF-DECODE.

code/fd-stream.lisp:
o Update comments for char-to-octets-error and octets-to-char-error.
o Forgot to pass the error handler to char-to-octets in EF-SOUT and
  EF-STRLEN.

Revision 1.104 - (view) (annotate) - [select for diffs]
Fri Jul 2 11:57:53 2010 UTC (3 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.103: +2 -2 lines
Diff to previous 1.103 , to selected 1.25
Oops.  Remove stray character.

Revision 1.103 - (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.102: +26 -10 lines
Diff to previous 1.102 , to selected 1.25
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.102 - (view) (annotate) - [select for diffs]
Wed Jun 30 00:52:15 2010 UTC (3 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2010-07
Changes since 1.101: +15 -2 lines
Diff to previous 1.101 , to selected 1.25
Add two more slots to an fd-stream to indicate how to handle errors
when converting octets to characters or characters to octets.  These
aren't currently being used, but will be.

A basic cross-compile is needed.  When CMUCL asks about incompatible
structures, select the CLOBBER-IT restart in all cases.

Revision 1.101 - (view) (annotate) - [select for diffs]
Mon Jun 7 22:10:11 2010 UTC (3 years, 10 months ago) by rtoy
Branch: MAIN
Changes since 1.100: +2 -2 lines
Diff to previous 1.100 , to selected 1.25
code/fd-stream.lisp:
o OPEN merges the filename with *DEFAULT-PATHNAME-DEFAULTS*, as
  required by CLHS sec 19.2.3.

code/filesys.lisp:
o DELETE-FILE, ENSURE-DIRECTORIES-EXIST, and FILE-AUTHOR merge the
  filename with *DEFAULT-PATHNAME-DEFAULTS*, as required by CLHS sec
  19.2.3.

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

Revision 1.100 - (view) (annotate) - [select for diffs]
Tue Apr 20 17:57:44 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2010-05, snapshot-2010-06
Changes since 1.99: +43 -43 lines
Diff to previous 1.99 , to selected 1.25
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.99 - (view) (annotate) - [select for diffs]
Mon Apr 19 02:18:03 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
Changes since 1.98: +16 -16 lines
Diff to previous 1.98 , to selected 1.25
Remove _N"" reader macro from docstrings when possible.

Revision 1.98 - (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.97: +66 -58 lines
Diff to previous 1.97 , to selected 1.25
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.97.2.4 - (view) (annotate) - [select for diffs]
Fri Feb 26 03:39:53 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-2010-03-18-1300
Changes since 1.97.2.3: +9 -3 lines
Diff to previous 1.97.2.3 , to branch point 1.97 , to next main 1.125 , to selected 1.25
Don't do translation for the name of an fd-stream.  It causes infinite
looping trying to lookup the domain for the translation.

Revision 1.97.4.1 - (view) (annotate) - [select for diffs]
Thu Feb 25 20:34:49 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-2-branch
Changes since 1.97: +32 -30 lines
Diff to previous 1.97 , to next main 1.125 , to selected 1.25
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.97.2.3 - (view) (annotate) - [select for diffs]
Sun Feb 14 03:06:41 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-working-2010-02-19-1000
Changes since 1.97.2.2: +31 -31 lines
Diff to previous 1.97.2.2 , to branch point 1.97 , to selected 1.25
o Marking more translatable strings that were previously missed.
o Regenerated cmucl.pot and cmucl.po's.
o Fixed some problems with ko/cmucl.po introduced in last checkin.

Revision 1.97.2.2 - (view) (annotate) - [select for diffs]
Tue Feb 9 19:54:14 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-working-2010-02-11-1000
Changes since 1.97.2.1: +30 -30 lines
Diff to previous 1.97.2.1 , to branch point 1.97 , to selected 1.25
Mark translatable strings; update cmucl.pot and ko/cmucl.po
accordingly.

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

Revision 1.97 - (view) (annotate) - [select for diffs]
Mon Jan 25 13:58:01 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.96: +6 -6 lines
Diff to previous 1.96 , to selected 1.25
STRING-ENCODE has start and end indices.  Use them instead of consing
up another string.

Revision 1.96 - (view) (annotate) - [select for diffs]
Sat Jan 23 18:02:05 2010 UTC (4 years, 2 months ago) by rtoy
Branch: MAIN
Changes since 1.95: +2 -3 lines
Diff to previous 1.95 , to selected 1.25
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.95 - (view) (annotate) - [select for diffs]
Sat Jan 23 03:00:07 2010 UTC (4 years, 2 months ago) by rtoy
Branch: MAIN
Changes since 1.94: +2 -3 lines
Diff to previous 1.94 , to selected 1.25
Always set the external format for the stream after calling
set-routines so that the stream has the specified external format.

Revision 1.94 - (view) (annotate) - [select for diffs]
Fri Jan 22 13:28:26 2010 UTC (4 years, 2 months ago) by rtoy
Branch: MAIN
Changes since 1.93: +12 -4 lines
Diff to previous 1.93 , to selected 1.25
Oops.  The string buffer contains characters, so to get the correct
file position, we need to convert what's left in the buffer into
octets to figure out how many octets haven't been delivered yet.

Revision 1.93 - (view) (annotate) - [select for diffs]
Fri Jan 22 06:14:19 2010 UTC (4 years, 2 months ago) by rtoy
Branch: MAIN
Changes since 1.92: +13 -2 lines
Diff to previous 1.92 , to selected 1.25
Fix FILE-POSITION for fd-streams with a string buffer.  It was
inadvertently broken when the fast external format work was done.  The
position did not take into account the number of octets that had been
read in but not yet processed.

Revision 1.92 - (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.91: +54 -14 lines
Diff to previous 1.91 , to selected 1.25
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.91.2.1.2.11 - (view) (annotate) - [select for diffs]
Thu Oct 8 02:06:24 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.91.2.1.2.10: +3 -1 lines
Diff to previous 1.91.2.1.2.10 , to branch point 1.91.2.1 , to next main 1.91.2.2 , to selected 1.25
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.91.2.1.2.10 - (view) (annotate) - [select for diffs]
Wed Oct 7 23:39:19 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.91.2.1.2.9: +2 -1 lines
Diff to previous 1.91.2.1.2.9 , to branch point 1.91.2.1 , to selected 1.25
The STATE arg is ignorable for EF-COPY-STATE.

Revision 1.91.2.1.2.9 - (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.91.2.1.2.8: +5 -1 lines
Diff to previous 1.91.2.1.2.8 , to branch point 1.91.2.1 , to selected 1.25
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.91.2.1.2.8 - (view) (annotate) - [select for diffs]
Wed Oct 7 03:37:43 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.91.2.1.2.7: +12 -2 lines
Diff to previous 1.91.2.1.2.7 , to branch point 1.91.2.1 , to selected 1.25
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.91.2.2 - (view) (annotate) - [select for diffs]
Wed Oct 7 03:25:21 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-branch
Changes since 1.91.2.1: +10 -2 lines
Diff to previous 1.91.2.1 , to branch point 1.91 , to next main 1.125 , to selected 1.25
Add new slot to FD-STREAM to hold the actual number of octets in the
IN-BUFFER when the string buffer is used.  This is needed when
changing the external format.

Revision 1.91.2.1.2.7 - (view) (annotate) - [select for diffs]
Wed Sep 30 00:53:59 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.91.2.1.2.6: +3 -2 lines
Diff to previous 1.91.2.1.2.6 , to branch point 1.91.2.1 , to selected 1.25
Call %SET-FD-STREAM-EXTERNAL-FORMAT to canonicalize the external
format before calling SET-ROUTINE.  (We were previously creating a
string buffer for :latin1, which should be treated the same as
:iso8859-1.)

Revision 1.91.2.1.2.6 - (view) (annotate) - [select for diffs]
Sat Sep 26 13:31:50 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.91.2.1.2.5: +19 -20 lines
Diff to previous 1.91.2.1.2.5 , to branch point 1.91.2.1 , to selected 1.25
Clean up code a bit and add unicode conditionalization.

Revision 1.91.2.1.2.5 - (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.91.2.1.2.4: +4 -3 lines
Diff to previous 1.91.2.1.2.4 , to branch point 1.91.2.1 , to selected 1.25
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.91.2.1.2.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.91.2.1.2.3: +12 -6 lines
Diff to previous 1.91.2.1.2.3 , to branch point 1.91.2.1 , to selected 1.25
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.91.2.1.2.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.91.2.1.2.2: +3 -3 lines
Diff to previous 1.91.2.1.2.2 , to branch point 1.91.2.1 , to selected 1.25
fd-stream.lisp:
o Fix comment to match code

stream.lisp:
o Clean up code a bit.

Revision 1.91.2.1.2.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.91.2.1.2.1: +2 -2 lines
Diff to previous 1.91.2.1.2.1 , to branch point 1.91.2.1 , to selected 1.25
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.91.2.1.2.1 - (view) (annotate) - [select for diffs]
Sat Sep 19 15:16:05 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-impl-branch
Changes since 1.91.2.1: +26 -11 lines
Diff to previous 1.91.2.1 , to selected 1.25
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.91.2.1 - (view) (annotate) - [select for diffs]
Sat Sep 19 14:44:52 2009 UTC (4 years, 6 months ago) by rtoy
Branch: unicode-string-buffer-branch
CVS Tags: unicode-string-buffer-impl-base
Branch point for: unicode-string-buffer-impl-branch
Changes since 1.91: +2 -1 lines
Diff to previous 1.91 , to selected 1.25
First set of changes to add new slots to lisp-stream so we can
implement a faster external formats by converting all buffered input
at one step instead of a character at a time.

code/struct.lisp:
o Add new slots:  string-buffer, string-index, string-buffer-len

code/sysmacs.lisp:
o Update PREPARE-FOR-FAST-READ-CHAR, DONE-WITH-FAST-READ-CHAR, and
  FAST-READ-CHAR to use the new slots.

code/fd-stream.lisp:
o Don't allocate the in-buffer array since the fast read char stuff no
  longer handles the in-buffer.

bootfiles/20a/boot-2009-10-1-cross.lisp:
o New file.  Use this to cross-compile this change.

Revision 1.91 - (view) (annotate) - [select for diffs]
Wed Sep 9 15:51:27 2009 UTC (4 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: unicode-string-buffer-base
Branch point for: unicode-string-buffer-branch
Changes since 1.90: +52 -37 lines
Diff to previous 1.90 , to selected 1.25
Merge changes from 20a-pre1 (tag release-20a-pre1) to trunk.

Revision 1.90.2.6 - (view) (annotate) - [select for diffs]
Thu Sep 3 16:57:54 2009 UTC (4 years, 7 months ago) by rtoy
Branch: RELEASE-20A-BRANCH
CVS Tags: RELEASE_20a, release-20a-pre1
Changes since 1.90.2.5: +2 -2 lines
Diff to previous 1.90.2.5 , to branch point 1.90 , to next main 1.125 , to selected 1.25
Make ef-flush work with composing external formats.

Revision 1.90.2.5 - (view) (annotate) - [select for diffs]
Fri Aug 28 14:28:55 2009 UTC (4 years, 7 months ago) by rtoy
Branch: RELEASE-20A-BRANCH
Changes since 1.90.2.4: +10 -2 lines
Diff to previous 1.90.2.4 , to branch point 1.90 , to selected 1.25
Oops.  Need to set the external format again after calling
SET-ROUTINES so we get our external format routines we want instead of
the ones chosen by SET-ROUTINES.

This needs to be better integrated into SET-ROUTINES.

Revision 1.90.2.4 - (view) (annotate) - [select for diffs]
Fri Aug 28 02:26:56 2009 UTC (4 years, 7 months ago) by rtoy
Branch: RELEASE-20A-BRANCH
Changes since 1.90.2.3: +16 -12 lines
Diff to previous 1.90.2.3 , to branch point 1.90 , to selected 1.25
o Fix long standing bug where the in-buffer was never used
  anymore. Enable this for input streams of type (unsigned-byte 8) and
  character input streams with an external format of :iso8859-1.  This
  speeds up reading by some 25-30% for non-unicode and 10-15% for
  unicode (on Darwin).
o Move setting of external format to before the call of set-routines
  so the external format is known to set-routine.

Revision 1.90.2.3 - (view) (annotate) - [select for diffs]
Thu Aug 27 15:41:59 2009 UTC (4 years, 7 months ago) by rtoy
Branch: RELEASE-20A-BRANCH
Changes since 1.90.2.2: +2 -1 lines
Diff to previous 1.90.2.2 , to branch point 1.90 , to selected 1.25
Squelch assignment warning about OPTIONS.

Revision 1.90.2.2 - (view) (annotate) - [select for diffs]
Wed Aug 26 20:41:13 2009 UTC (4 years, 7 months ago) by rtoy
Branch: RELEASE-20A-BRANCH
Changes since 1.90.2.1: +14 -7 lines
Diff to previous 1.90.2.1 , to branch point 1.90 , to selected 1.25
Fix issue with file-string-length where computing the length changed
the state of the external format when it shouldn't.

code/extfmts.lisp:
o Add new slot to hold function to copy the external-format state.
o Update DEFINE-EXTERNAL-FORMAT to allow COPY-STATE function.
o Add macro to run the copy-state function.

code/fd-stream.lisp:
o In ef-strlen, save the fd-stream co state before computing the
  length and restore the state afterwards.

pcl/simple-streams/external-formats/utf-16.lisp:
pcl/simple-streams/external-formats/utf-32.lisp:
o Add copy-state function to copy the state.  (I think these are the
  only formats that have a state for output.)

Revision 1.90.2.1 - (view) (annotate) - [select for diffs]
Wed Aug 26 17:32:44 2009 UTC (4 years, 7 months ago) by rtoy
Branch: RELEASE-20A-BRANCH
Changes since 1.90: +21 -26 lines
Diff to previous 1.90 , to selected 1.25
o Fix issue in ef-strlen.  Even if the min and max octets for the
  external format are the same, we still have to call char-to-octets
  to get the right length because the external format may have some
  state. In particular utf-16 will output a BOM, which wouldn't be
  counted.
o Also fix a typo in code.  The labels form shouldn't be backquoted.

Revision 1.90 - (view) (annotate) - [select for diffs]
Wed Aug 26 16:25:41 2009 UTC (4 years, 7 months ago) by rtoy
Branch: MAIN
CVS Tags: release-20a-base
Branch point for: RELEASE-20A-BRANCH
Changes since 1.89: +49 -2 lines
Diff to previous 1.89 , to selected 1.25
Add support for flushing out any state in an external format when
closing an output stream.  This causes things like

(with-open-file (s "foo" :direction :output :external-format :utf-8)
  (write-char #\u+d800 s))

to output the replacement character instead of creating an empty file.

code/extfmts.lisp:
o Add new slot to efx structure to hold the function to flush the
  state in an external format.
o Add accessor for the flush-state slot.
o Update DEFINE-EXTERNAL-FORMAT to allow specifying the flush
  function.
o Add macro to call the flush-state function.
o Added +EF-FLUSH+
o Use vm::defenum to name the constants instead of the hand-written
  values.
o Export +REPLACEMENT-CHARACTER-CODE+
o Document the slots in an efx stucture.

code/fd-stream.lisp:
o Add ef-flush def-ef-macro to flush the state of an external format
  when closing an output file.  If ef-flush-state is NIL, we just call
  EF-COUT to send out the replacement character.  Otherwise, the
  flush-state function is called to handle it.
o When closing an output character stream, call ef-flush to flush any
  state before flushing the buffers of the stream.
o Document the unicode slots in an fd-stream.

code/exports.lisp:
o Export +REPLACEMENT-CHARACTER-CODE+

Revision 1.89 - (view) (annotate) - [select for diffs]
Mon Aug 10 16:47:41 2009 UTC (4 years, 8 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2009-08
Changes since 1.88: +83 -81 lines
Diff to previous 1.88 , to selected 1.25
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.88 - (view) (annotate) - [select for diffs]
Thu Jun 25 01:48:59 2009 UTC (4 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2009-07
Changes since 1.87: +20 -11 lines
Diff to previous 1.87 , to selected 1.25
o Fix typo (extraneous backquote).
o Handle the surrogate pairs in our UTF-16 strings.

Revision 1.87 - (view) (annotate) - [select for diffs]
Wed Jun 24 16:46:18 2009 UTC (4 years, 9 months ago) by rtoy
Branch: MAIN
Changes since 1.86: +36 -5 lines
Diff to previous 1.86 , to selected 1.25
Fix FILE-STRING-LENGTH to handle unicode streams.  From Paul.

Revision 1.86 - (view) (annotate) - [select for diffs]
Thu Jun 11 16:03:57 2009 UTC (4 years, 10 months ago) by rtoy
Branch: MAIN
CVS Tags: merged-unicode-utf16-extfmt-2009-06-11, portable-clx-base, portable-clx-import-2009-06-16
Branch point for: portable-clx-branch
Changes since 1.85: +279 -36 lines
Diff to previous 1.85 , to selected 1.25
Merge Unicode work to trunk.  From label
unicode-utf16-extfmt-2009-06-11.

Revision 1.85.4.1.2.14 - (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
CVS Tags: unicode-utf16-extfmt-2009-06-11
Changes since 1.85.4.1.2.13: +4 -4 lines
Diff to previous 1.85.4.1.2.13 , to branch point 1.85.4.1 , to next main 1.85.4.2 , to selected 1.25
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.85.4.1.2.13 - (view) (annotate) - [select for diffs]
Thu May 28 18:52:35 2009 UTC (4 years, 10 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-06
Changes since 1.85.4.1.2.12: +41 -7 lines
Diff to previous 1.85.4.1.2.12 , to branch point 1.85.4.1 , to selected 1.25
Update read/write-vector to output 1, 2, or 4-bit vectors in the
"correct" order.  This is an issue because big and little-endian
machines store the bits in a different order in each byte.

code/fd-stream.lisp:
o Recognize 1, 2, and 4-bit vectors and choose an appropriate endian
  swap value (-8, -2, -1), respectively.  This has been tested for
  :network-order, which works.  The :big-endian and :little-endian
  cases have not been tested.  The value is arbitrarily selected so
  that the lowest indexed element is written to the most significant
  part of a byte.

code/stream-vector-io.lisp:
o Perform appropriate bit swapping for 1, 2, and 4-bit vectors.

i18n/unidata.bin:
o Generated new version.  This version can be correctly processed on
  sparc, and all of the normalization tests pass.

Revision 1.85.4.1.2.12 - (view) (annotate) - [select for diffs]
Tue May 12 16:31:48 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.85.4.1.2.11: +1 -2 lines
Diff to previous 1.85.4.1.2.11 , to branch point 1.85.4.1 , to selected 1.25
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.85.4.1.2.11 - (view) (annotate) - [select for diffs]
Fri Apr 24 11:28:05 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-snapshot-2009-05
Changes since 1.85.4.1.2.10: +4 -3 lines
Diff to previous 1.85.4.1.2.10 , to branch point 1.85.4.1 , to selected 1.25
Get rid of a compiler note.

Revision 1.85.4.1.2.10 - (view) (annotate) - [select for diffs]
Thu Apr 23 16:08:25 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.85.4.1.2.9: +24 -22 lines
Diff to previous 1.85.4.1.2.9 , to branch point 1.85.4.1 , to selected 1.25
Fix critical bug.  When the input buffer needs to be refilled and
we're in the middle of reading a multibyte character, the last octet
in the buffer was incorrectly read again.  last-char-read-size was
used to determine how much space to leave for unread-char, but the
value has not been updated when in the middle of reading a character.

From Paul.

Revision 1.85.4.1.2.9 - (view) (annotate) - [select for diffs]
Wed Apr 22 00:30:23 2009 UTC (4 years, 11 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.85.4.1.2.8: +15 -11 lines
Diff to previous 1.85.4.1.2.8 , to branch point 1.85.4.1 , to selected 1.25
Update EF-SOUT to use CODEPOINT-TO-OCTETS so we can correctly output
strings with surrogate pairs in them.

Revision 1.85.4.1.2.8 - (view) (annotate) - [select for diffs]
Wed Mar 25 21:51:34 2009 UTC (5 years ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-utf16-extfmt-2009-03-27
Changes since 1.85.4.1.2.7: +3 -2 lines
Diff to previous 1.85.4.1.2.7 , to branch point 1.85.4.1 , to selected 1.25
Merge from unicode-utf16 branch, label
unicode-utf16-char-support-2009-03-25 to get character support.

Revision 1.85.4.2 - (view) (annotate) - [select for diffs]
Wed Mar 25 19:32:53 2009 UTC (5 years ago) by rtoy
Branch: unicode-utf16-branch
CVS Tags: unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26
Changes since 1.85.4.1: +15 -2 lines
Diff to previous 1.85.4.1 , to branch point 1.85 , to next main 1.125 , to selected 1.25
Character name and properties support, from Paul Foley, slightly
modified by Raymond Toy.

Use 19f/boot-2009-03-cross-unicode-<arch> for the cross compile
script.  Use 19f/boot-2009-03-unicode-char for the bootstrap file to
initialize the unicode character structures.

bootfiles/19e/boot-2008-05-cross-unicode-common.lisp:
o Just add new slots to fd-stream here, to make it easier to bootstrap
  the utf16-extfmts code, and to select the clobber-it restart
  automatically.
o Build the initial unicode properties

bootfiles/19f/boot-2009-03-cross-unicode-ppc.lisp:
bootfiles/19f/boot-2009-03-cross-unicode-sparc.lisp:
bootfiles/19f/boot-2009-03-cross-unicode-x86.lisp:
o New scripts for cross-compiling.  Basically just calls the
  original ones in the 19e directory.

bootfiles/19f/boot-2009-03-unicode-char.lisp:
o Bootstrap file to load up the full unicode properties.

i18n/UnicodeData.txt:
o UnicodeData.txt, obtained from
  unicode.org/Public/UNIDATA/UnicodeData.txt, 2009-03-24.

code/fd-stream.lisp:
o Add new slots to fd-stream, needed by utf16-extfmts branch.

code/char.lisp:
o Define structure to hold unicode properties of each character and
  new hash table to hold the properties.
o Update CHAR-NAME and NAME-CHAR to give the character names and code,
  respectively.
o Update GRAPHIC-CHAR-P, ALPHA-CHAR-P, UPPER-CASE-P, LOWER-CASE-P,
  BOTH-CASE-P, ALPHANUMERICP, EQUAL-CHAR-CODE, CHAR-UPCASE, and
  CHAR-DOWNCASE to handle unicode characters.
o Add function REBUILD-UNICODE-DATA to update the unicode structures
  from UnicodeData.txt.

Revision 1.85.4.1.2.7 - (view) (annotate) - [select for diffs]
Mon Jul 14 20:53:43 2008 UTC (5 years, 9 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
CVS Tags: unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-extfmts-sync-2008-12
Changes since 1.85.4.1.2.6: +12 -1 lines
Diff to previous 1.85.4.1.2.6 , to branch point 1.85.4.1 , to selected 1.25
From Paul Foley:

There's a bug in the handling of LISTEN now.  You can solve it by
simply commenting out the (setf (fd-stream-listen stream) t) in the
:UNREAD clause in fd-stream-misc-routine...- it's not needed when
unreading is implemented by backing up in the buffer (e.g., with
last-char-read-size....

(AFAICS there's nothing wrong with setting it there, but it screws up
read-interactive in my toplevel command thing - leaves it expecting to
read arguments when it shouldn't, because LISTEN returns T when
there's no input pending, but I don't understand why...)

Revision 1.85.4.1.2.6 - (view) (annotate) - [select for diffs]
Mon Jul 14 14:01:56 2008 UTC (5 years, 9 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.85.4.1.2.5: +49 -167 lines
Diff to previous 1.85.4.1.2.5 , to branch point 1.85.4.1 , to selected 1.25
More updates from Paul.

code/extfmts.lisp:
o Fixed bug with shared code between formats
o Built a cache into the ef-macro functions so it doesn't need to call
  find-external-format so often at runtime

code/fd-stream-extfmt.lisp
o Use the changes in code/extfmts

code/fd-stream.lisp:
o Removed all the commented-out code in fd-stream which is duplicated
  in fd-stream-extfmt.

Revision 1.85.4.1.2.5 - (view) (annotate) - [select for diffs]
Mon Jul 7 14:46:13 2008 UTC (5 years, 9 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.85.4.1.2.4: +2 -2 lines
Diff to previous 1.85.4.1.2.4 , to branch point 1.85.4.1 , to selected 1.25
Oops. Fix typo in previous commit that broke unicode builds.

Revision 1.85.4.1.2.4 - (view) (annotate) - [select for diffs]
Sun Jul 6 22:30:18 2008 UTC (5 years, 9 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.85.4.1.2.3: +16 -5 lines
Diff to previous 1.85.4.1.2.3 , to branch point 1.85.4.1 , to selected 1.25
Restore buildability without unicode.

Revision 1.85.4.1.2.3 - (view) (annotate) - [select for diffs]
Sat Jul 5 12:37:42 2008 UTC (5 years, 9 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.85.4.1.2.2: +55 -42 lines
Diff to previous 1.85.4.1.2.2 , to branch point 1.85.4.1 , to selected 1.25
More updates from Paul.  fd-stream-extfmt.lisp actually implements the
external formats which now work.

Cross-compile works fine.

code/fd-stream-extfmt.lisp:
o New file implementing external formats

tools/worldcom.lisp:
o Compile extfmts.lisp before fd-stream, since fd-stream uses some
  macros from extfmts.
o Compile fd-stream-extfmt

tools/worldload.lisp:
o Load fd-stream-extfmt at the end.  (Can't load it as part of
  kernel.core.  Not enough is set up yet.)

code/extfmts.lisp:
o Avoid loading files, etc., early in the boot sequence
o Add INVERT-TABLE function needed by some formats.

code/fd-stream.lisp:
o Some cleanups (I think)
o Fix EOF handling

Revision 1.85.4.1.2.2 - (view) (annotate) - [select for diffs]
Wed Jul 2 14:53:44 2008 UTC (5 years, 9 months ago) by rtoy
Branch: unicode-utf16-extfmt-branch
Changes since 1.85.4.1.2.1: +2 -1 lines
Diff to previous 1.85.4.1.2.1 , to branch point 1.85.4.1 , to selected 1.25
code/lispinit.lisp:
o Revert previous change, preserving order of initialization.

Changes from Paul to allow building of the new code from non-unicode
version:

code/extfmts.lisp
code/fd-stream.lisp

Revision 1.85.4.1.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
Changes since 1.85.4.1: +267 -27 lines
Diff to previous 1.85.4.1 , to selected 1.25
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.85.4.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, 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.85: +46 -2 lines
Diff to previous 1.85 , to selected 1.25
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.85 - (view) (annotate) - [select for diffs]
Mon Nov 5 15:25:03 2007 UTC (6 years, 5 months ago) by rtoy
Branch: MAIN
CVS Tags: RELEASE_19f, label-2009-03-16, label-2009-03-25, merge-sse2-packed, merge-with-19f, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, 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-19e-branch, sse2-branch, sse2-packed-branch, unicode-utf16-branch
Changes since 1.84: +78 -1 lines
Diff to previous 1.84 , to selected 1.25
This removes some code duplication by moving bref, etc. (accessors for
simple-streams buffers) into LISP and removes them from simple-streams
(and from EXT).

Use boot-2007-11-1.lisp to bootstrap the necessary symbol changes.

Patch from Paul Foley.

Revision 1.84 - (view) (annotate) - [select for diffs]
Mon Feb 27 16:06:34 2006 UTC (8 years, 1 month 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, pre-telent-clx, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06, snapshot-2006-07, snapshot-2006-08, 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
Branch point for: double-double-array-branch, double-double-branch, double-double-reader-branch, release-19d-branch
Changes since 1.83: +6 -10 lines
Diff to previous 1.83 , to selected 1.25
When reverting a file, don't delete the file if there was no
original.  This is the solution from Carl, for a bug reported by
Madhu, cmucl-imp, 2006-02-19.

Revision 1.81.2.2 - (view) (annotate) - [select for diffs]
Mon Dec 19 01:09:50 2005 UTC (8 years, 3 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.81.2.1: +0 -0 lines
Diff to previous 1.81.2.1 , to branch point 1.81 , to next main 1.125 , to selected 1.25
Merge code from main branch of 2005-12-17 to ppc gencgc branch.  Still
doesn't work of course.

Revision 1.81.2.1 - (view) (annotate) - [select for diffs]
Sun May 15 20:01:21 2005 UTC (8 years, 11 months ago) by rtoy
Branch: ppc_gencgc_branch
Changes since 1.81: +63 -20 lines
Diff to previous 1.81 , to selected 1.25
Merge snapshot-2005-05 to this branch.

Revision 1.83 - (view) (annotate) - [select for diffs]
Mon Apr 4 14:33:17 2005 UTC (9 years ago) by rtoy
Branch: MAIN
CVS Tags: release-19b-base, release-19b-pre1, release-19b-pre2, release-19c, release-19c-base, release-19c-pre1, snapshot-2005-04, snapshot-2005-05, snapshot-2005-06, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09, snapshot-2005-10, snapshot-2005-11, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02
Branch point for: release-19b-branch, release-19c-branch
Changes since 1.82: +51 -21 lines
Diff to previous 1.82 , to selected 1.25
Change how the CMUCL extension enabling both character and binary I/O
is done, based on a suggestion from Lynn Quam.

o Add BINARY-TEXT-STREAM structure for streams that support binary and
  character I/O.  This is basically an FD-STREAM.
o Export BINARY-TEXT-STREAM from the EXTENSIONS package.
o OPEN will recognize :class 'ext:binary-text-stream to enable such
  streams.
o Removed *FD-STREAM-ENABLE-CHARACTER-AND-BINARY-INPUT*, since we use
  OPEN to specify that now.

Use boot-2005-03-2.lisp to bootstrap this change.

Revision 1.82 - (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
Changes since 1.81: +19 -6 lines
Diff to previous 1.81 , to selected 1.25
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.81 - (view) (annotate) - [select for diffs]
Thu Feb 10 17:49:46 2005 UTC (9 years, 2 months ago) by rtoy
Branch: MAIN
CVS Tags: ppc_gencgc_snap_2005-05-14
Branch point for: ppc_gencgc_branch
Changes since 1.80: +19 -12 lines
Diff to previous 1.80 , to selected 1.25
Signal a socket-error instead of a general error when a socket
connection is reset.  Based on code from Scott Burson, cmucl-imp,
2005-01-31.

Revision 1.80 - (view) (annotate) - [select for diffs]
Thu Sep 23 22:04:34 2004 UTC (9 years, 6 months ago) by rtoy
Branch: MAIN
CVS Tags: snapshot-2004-10, snapshot-2004-11, snapshot-2004-12, snapshot-2005-01, snapshot-2005-02
Changes since 1.79: +4 -2 lines
Diff to previous 1.79 , to selected 1.25
PICK-INPUT-ROUTINE was not correctly reading in positive bytes because
it always DPB'ed the result into -1, which always results in a
negative number.  We need to check the most significant bit to decide
what to do.

Revision 1.79 - (view) (annotate) - [select for diffs]
Fri Apr 23 15:08:15 2004 UTC (9 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: amd64-merge-start, 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
Branch point for: release-19a-branch
Changes since 1.78: +119 -8 lines
Diff to previous 1.78 , to selected 1.25
Enhance PICK-OUTPUT-ROUTINE and PICK-INPUT-ROUTINE to support byte
sizes up to MAX-STREAM-ELEMENT-SIZE (currently 1024).

Ported from SBCL, with minor changes.

Revision 1.78 - (view) (annotate) - [select for diffs]
Fri Apr 23 03:26:44 2004 UTC (9 years, 11 months ago) by rtoy
Branch: MAIN
Changes since 1.77: +5 -1 lines
Diff to previous 1.77 , to selected 1.25
The CLHS says OPEN should signal a FILE-ERROR if the pathname is
WILD-PATHNAME-P.

Revision 1.77 - (view) (annotate) - [select for diffs]
Thu Apr 15 01:34:20 2004 UTC (10 years ago) by rtoy
Branch: MAIN
Changes since 1.76: +5 -2 lines
Diff to previous 1.76 , to selected 1.25
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.76 - (view) (annotate) - [select for diffs]
Tue Apr 6 08:43:29 2004 UTC (10 years ago) by emarsden
Branch: MAIN
Changes since 1.75: +31 -31 lines
Diff to previous 1.75 , to selected 1.25
  - fix defaulting behaviour of :if-not-exist in OPEN when used with
    :direction :io. Corrects a number of the OPEN.IO.* ANSI compliance tests.

Revision 1.75 - (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.74: +5 -3 lines
Diff to previous 1.74 , to selected 1.25
 - 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.74 - (view) (annotate) - [select for diffs]
Wed Nov 5 16:47:18 2003 UTC (10 years, 5 months ago) by gerd
Branch: MAIN
CVS Tags: snapshot-2003-12
Changes since 1.73: +8 -1 lines
Diff to previous 1.73 , to selected 1.25
	* src/code/fd-stream.lisp (output-raw-bytes): Same theme
	as last change, which fixed write-char etc. only.

Revision 1.73 - (view) (annotate) - [select for diffs]
Mon Nov 3 16:50:28 2003 UTC (10 years, 5 months ago) by gerd
Branch: MAIN
Changes since 1.72: +9 -1 lines
Diff to previous 1.72 , to selected 1.25
	(with-open-file (stream "test.123" :direction :output
	                        :if-exists :supersede)
	  (format stream "~S ~S ~S~%" 'these 'are 'symbols))

	(with-open-file (stream "test.123" :direction :io
	                        :if-exists :overwrite)
	  (read stream) (prin1 'insert stream))

	(with-open-file (stream "test.123")
	  (loop for line = (read-line stream nil)
	        until (null line) do (write-line line)))

	Output should be "these insertmbols"
	Output is "these are symbols\ninsert"

	* src/code/fd-stream.lisp (def-output-routines): If there is any
	input read from UNIX but not supplied to the user of the stream,
	reposition to the real file position as seen from Lisp.
	Reported by Adam Warner.

Revision 1.71.2.1 - (view) (annotate) - [select for diffs]
Mon Aug 25 17:06:47 2003 UTC (10 years, 7 months ago) by gerd
Branch: dynamic-extent
Changes since 1.71: +15 -1 lines
Diff to previous 1.71 , to next main 1.125 , to selected 1.25
Merge with HEAD.

Revision 1.72 - (view) (annotate) - [select for diffs]
Tue Aug 19 09:26:57 2003 UTC (10 years, 7 months ago) by gerd
Branch: MAIN
CVS Tags: lisp-executable-base, snapshot-2003-10, snapshot-2003-11, sparc_gencgc_merge
Branch point for: lisp-executable
Changes since 1.71: +15 -1 lines
Diff to previous 1.71 , to selected 1.25
	* src/code/fd-stream.lisp (fd-stream-read-n-bytes): Take unread
	into account.

Revision 1.71 - (view) (annotate) - [select for diffs]
Tue Aug 5 11:00:49 2003 UTC (10 years, 8 months ago) by emarsden
Branch: MAIN
CVS Tags: dynamic-extent-base, sparc_gencgc
Branch point for: dynamic-extent, sparc_gencgc_branch
Changes since 1.70: +2 -2 lines
Diff to previous 1.70 , to selected 1.25
Fix typos.

Revision 1.70 - (view) (annotate) - [select for diffs]
Thu Jun 26 13:27:42 2003 UTC (10 years, 9 months ago) by toy
Branch: MAIN
Changes since 1.69: +13 -11 lines
Diff to previous 1.69 , to selected 1.25
From Paul Foley:

Non-simple-streams-related changes:

* Stop commands which go through invoke-command-interactive from
  affecting the history variables.

* Fix some typos in comments

* When the GC closes a lost stream, revert to original contents

* Replace #+nil with #+(or) in unix*.lisp
  [NIL is a potentially valid feature name]


Simple-streams-related changes:

* Teach reader to handle simple-streams

* Add missing package prefixes in OPEN

* Add unix:unix-msync for force-output on mmapped files

* Add placeholder documentation

* Numerous changes in simple-streams implementation

* Add "external-formats" directory for external formats


Note: :BIG-ENDIAN or :LITTLE-ENDIAN should be put on *features*

Revision 1.69 - (view) (annotate) - [select for diffs]
Wed Jun 11 13:00:17 2003 UTC (10 years, 10 months ago) by emarsden
Branch: MAIN
Changes since 1.68: +2 -2 lines
Diff to previous 1.68 , to selected 1.25
Fix typo in DELETE-ORIGINAL.

Revision 1.68 - (view) (annotate) - [select for diffs]
Tue Jun 10 16:52:36 2003 UTC (10 years, 10 months ago) by toy
Branch: MAIN
Changes since 1.67: +4 -4 lines
Diff to previous 1.67 , to selected 1.25
Some changes from Paul Foley:

o Fix a number of spelling errors.
o Add EXT:PURGE-FILES (hmm, should that be renamed to
  purge-backup-files?) to delete old versions of files.
o Opening a file with :if-exists :append shouldn't set the Unix append
  flag, else you can't seek back to a point before you started
  appending. (Actually from Rudi Schlatte.)
o Fix a bug in logical pathname parsing.
o Fix FASL-file versioning so we don't create versioned fasl files.

Revision 1.67 - (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.66: +11 -8 lines
Diff to previous 1.66 , to selected 1.25
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.66 - (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.65: +315 -241 lines
Diff to previous 1.65 , to selected 1.25
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.65 - (view) (annotate) - [select for diffs]
Thu Jun 5 14:34:22 2003 UTC (10 years, 10 months ago) by toy
Branch: MAIN
Changes since 1.64: +38 -6 lines
Diff to previous 1.64 , to selected 1.25
Creating new files with :if-exists :new-version wasn't creating a new
version.  Bug noted by Paul Foley, who supplied this fix.

Revision 1.64 - (view) (annotate) - [select for diffs]
Mon Jun 2 14:42:50 2003 UTC (10 years, 10 months ago) by toy
Branch: MAIN
Changes since 1.63: +2 -2 lines
Diff to previous 1.63 , to selected 1.25
file-length returns two values instead of one, as required.  Bug and
solution from Wolfhard Buss.

Revision 1.63 - (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, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2, remove_negative_zero_not_zero
Branch point for: cold-pcl, release-18e-branch
Changes since 1.62: +1 -3 lines
Diff to previous 1.62 , to selected 1.25
Remove cruft from last checkin.

Revision 1.62 - (view) (annotate) - [select for diffs]
Thu Dec 12 19:09:45 2002 UTC (11 years, 4 months ago) by moore
Branch: MAIN
Changes since 1.61: +9 -2 lines
Diff to previous 1.61 , to selected 1.25
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.61.2.1 - (view) (annotate) - [select for diffs]
Fri Oct 4 23:13:23 2002 UTC (11 years, 6 months ago) by pmai
Branch: UNICODE-BRANCH
Changes since 1.61: +143 -13 lines
Diff to previous 1.61 , to next main 1.125 , to selected 1.25
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.61 - (view) (annotate) - [select for diffs]
Fri Aug 23 18:31:05 2002 UTC (11 years, 7 months ago) by pmai
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE
Branch point for: UNICODE-BRANCH
Changes since 1.60: +11 -9 lines
Diff to previous 1.60 , to selected 1.25
Merged patches by Eric Marsden and Gerd Moellmann to improve error
reporting in several places to be more specific and/or ANSI compliant.
The patches have been modified to make use of the new common
simple-programm-error function where applicable.

Revision 1.60 - (view) (annotate) - [select for diffs]
Fri Aug 2 14:43:08 2002 UTC (11 years, 8 months ago) by toy
Branch: MAIN
Changes since 1.59: +8 -2 lines
Diff to previous 1.59 , to selected 1.25
Only create a buffer for streams of type (unsigned-byte 8).  Fixes the
bug where read-byte from (signed-byte 8) (or less) streams would
produce unsigned instead of signed numbers.

Revision 1.40.2.9 - (view) (annotate) - [select for diffs]
Wed Apr 3 18:32:24 2002 UTC (12 years ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18d
Changes since 1.40.2.8: +2 -2 lines
Diff to previous 1.40.2.8 , to branch point 1.40 , to next main 1.125 , to selected 1.25
Include fix for READ-BYTE on multi-byte elements.

Revision 1.59 - (view) (annotate) - [select for diffs]
Wed Apr 3 18:30:40 2002 UTC (12 years ago) by pw
Branch: MAIN
Changes since 1.58: +2 -2 lines
Diff to previous 1.58 , to selected 1.25
Fix some lossage from rev 1.58 causing read-byte on multi-byte element
types to fail.

Revision 1.40.2.8 - (view) (annotate) - [select for diffs]
Sat Mar 23 18:49:58 2002 UTC (12 years ago) by pw
Branch: RELENG_18
Changes since 1.40.2.7: +24 -4 lines
Diff to previous 1.40.2.7 , to branch point 1.40 , to selected 1.25
Mega commit to bring RELENG_18 branch in sync with HEAD in preparation
for release tagging 18d.

Revision 1.58 - (view) (annotate) - [select for diffs]
Mon Feb 4 17:22:14 2002 UTC (12 years, 2 months ago) by toy
Branch: MAIN
Changes since 1.57: +5 -2 lines
Diff to previous 1.57 , to selected 1.25
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.57 - (view) (annotate) - [select for diffs]
Sun Jul 8 17:37:52 2001 UTC (12 years, 9 months ago) by pw
Branch: MAIN
Changes since 1.56: +13 -2 lines
Diff to previous 1.56 , to selected 1.25
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.56 - (view) (annotate) - [select for diffs]
Sun Jun 17 19:06:58 2001 UTC (12 years, 10 months ago) by pw
Branch: MAIN
Changes since 1.55: +7 -1 lines
Diff to previous 1.55 , to selected 1.25
From Eric Marsden:

FILE-LENGTH should signal a type-error if arg is not associated with a file.

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

Revision 1.40.2.7 - (view) (annotate) - [select for diffs]
Mon Oct 16 17:32:44 2000 UTC (13 years, 6 months ago) by dtc
Branch: RELENG_18
CVS Tags: RELEASE_18c
Changes since 1.40.2.6: +7 -6 lines
Diff to previous 1.40.2.6 , to branch point 1.40 , to selected 1.25
Do not open /dev/tty when in batch mode.

Revision 1.54 - (view) (annotate) - [select for diffs]
Mon Oct 16 17:30:34 2000 UTC (13 years, 6 months ago) by dtc
Branch: MAIN
Changes since 1.53: +7 -6 lines
Diff to previous 1.53 , to selected 1.25
Do not open /dev/tty when in batch mode.

Revision 1.40.2.6 - (view) (annotate) - [select for diffs]
Fri Aug 25 09:54:20 2000 UTC (13 years, 7 months ago) by pw
Branch: RELENG_18
Changes since 1.40.2.5: +2 -2 lines
Diff to previous 1.40.2.5 , to branch point 1.40 , to selected 1.25
Backout previous offensive revision.

Revision 1.53 - (view) (annotate) - [select for diffs]
Fri Aug 25 09:53:47 2000 UTC (13 years, 7 months ago) by pw
Branch: MAIN
Changes since 1.52: +2 -2 lines
Diff to previous 1.52 , to selected 1.25
Backout previous offensive revision.

Revision 1.40.2.5 - (view) (annotate) - [select for diffs]
Thu Aug 24 15:00:19 2000 UTC (13 years, 7 months ago) by pw
Branch: RELENG_18
Changes since 1.40.2.4: +2 -2 lines
Diff to previous 1.40.2.4 , to branch point 1.40 , to selected 1.25
In stream-init, give *debug-io* its very own stream to tty rather
than using *terminal-io*. This lets debugger work even if someone
binds *terminal-io* to an output only stream and then enters the
debugger.

Revision 1.52 - (view) (annotate) - [select for diffs]
Thu Aug 24 14:56:17 2000 UTC (13 years, 7 months ago) by pw
Branch: MAIN
Changes since 1.51: +2 -2 lines
Diff to previous 1.51 , to selected 1.25
In stream-init, give *debug-io* its very own stream to tty rather
than using *terminal-io*. This lets debugger work even if someone
binds *terminal-io* to an output only stream and then enters the
debugger.

Revision 1.40.2.4 - (view) (annotate) - [select for diffs]
Mon Jun 19 16:09:00 2000 UTC (13 years, 9 months ago) by dtc
Branch: RELENG_18
Changes since 1.40.2.3: +20 -18 lines
Diff to previous 1.40.2.3 , to branch point 1.40 , to selected 1.25
Rework the code to allow file offsets greater than the most positive
fixnum which was only around 500Meg, as noted by Martin Cracauer.

Revision 1.51 - (view) (annotate) - [select for diffs]
Mon Jun 19 16:08:38 2000 UTC (13 years, 9 months ago) by dtc
Branch: MAIN
Changes since 1.50: +20 -18 lines
Diff to previous 1.50 , to selected 1.25
Rework the code to allow file offsets greater than the most positive
fixnum which was only around 500Meg, as noted by Martin Cracauer.

Revision 1.40.2.3 - (view) (annotate) - [select for diffs]
Tue May 23 16:36:25 2000 UTC (13 years, 10 months ago) by pw
Branch: RELENG_18
Changes since 1.40.2.2: +26 -27 lines
Diff to previous 1.40.2.2 , to branch point 1.40 , to selected 1.25
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

Revision 1.50 - (view) (annotate) - [select for diffs]
Sat Dec 4 16:02:34 1999 UTC (14 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.49: +8 -7 lines
Diff to previous 1.49 , to selected 1.25
Minor documentation fixes.

Revision 1.49 - (view) (annotate) - [select for diffs]
Sat Sep 4 19:44:09 1999 UTC (14 years, 7 months ago) by dtc
Branch: MAIN
Changes since 1.48: +17 -19 lines
Diff to previous 1.48 , to selected 1.25
Better handle interruption to unix-fast-select calls.

Revision 1.48 - (view) (annotate) - [select for diffs]
Fri Jan 22 16:51:58 1999 UTC (15 years, 2 months ago) by pw
Branch: MAIN
Changes since 1.47: +2 -2 lines
Diff to previous 1.47 , to selected 1.25
FD-STREAM-READ-N-BYTES was incorrectly returning 0 in the case
where the user buffer was bigger than the stream buffer and
the eof-error-p argument was NIL.

Revision 1.47 - (view) (annotate) - [select for diffs]
Fri Jan 15 09:27:35 1999 UTC (15 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.46: +2 -4 lines
Diff to previous 1.46 , to selected 1.25
Backout the explicit check of the external-format argument to open
which is handled by the type checking and was being flushed anyway.

Revision 1.46 - (view) (annotate) - [select for diffs]
Sat Dec 19 16:02:24 1998 UTC (15 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.45: +4 -2 lines
Diff to previous 1.45 , to selected 1.25
Check that the :default external-format is given to open.
Based on patches from Peter Van Eynde.

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

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

Revision 1.44 - (view) (annotate) - [select for diffs]
Tue Jul 14 18:12:15 1998 UTC (15 years, 9 months ago) by pw
Branch: MAIN
Changes since 1.43: +14 -8 lines
Diff to previous 1.43 , to selected 1.25
This revision merges in many of the fixes for ANSI condition types
in various calls to ERROR. Those easily handled by using new condition
types simple-file-error and simple-program-error are included.

The only functional change here is that the function CHARACTER no longer
accepts an integer argument so as to be ANSI compliant. This may
break some code.

Revision 1.40.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:21:53 1998 UTC (15 years, 9 months ago) by pw
Branch: RELENG_18
Changes since 1.40: +29 -20 lines
Diff to previous 1.40 , to selected 1.25
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.43 - (view) (annotate) - [select for diffs]
Mon May 4 01:27:13 1998 UTC (15 years, 11 months ago) by dtc
Branch: MAIN
Changes since 1.42: +3 -3 lines
Diff to previous 1.42 , to selected 1.25
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.42 - (view) (annotate) - [select for diffs]
Sun Jan 4 22:46:41 1998 UTC (16 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.41: +10 -6 lines
Diff to previous 1.41 , to selected 1.25
Use mp:process-wait-until-fd-usable with the MP feature to avoid
stream input blocking when there are other runnable processes.

Revision 1.41 - (view) (annotate) - [select for diffs]
Sat Dec 27 12:33:07 1997 UTC (16 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.40: +18 -13 lines
Diff to previous 1.40 , to selected 1.25
There were a the few calls to unix-select that limited the file
descriptor to an (unsigned-byte 32) and thus limited this code to file
descriptors less than 32, this was probably done to limit consing.
Replace these with unix-fast-select, allowing the use of file
descriptors upto fd-setsize (doesn't cons). Tested with over 128 FDs
running CL-HTTP on FreeBSD.

Revision 1.40 - (view) (annotate) - [select for diffs]
Tue Mar 25 17:07:31 1997 UTC (17 years ago) by dtc
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
Changes since 1.39: +4 -1 lines
Diff to previous 1.39 , to selected 1.25
Be sure to remove any fd-steam-handler on an abort close.

Revision 1.39 - (view) (annotate) - [select for diffs]
Tue Feb 25 19:47:40 1997 UTC (17 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.38: +6 -2 lines
Diff to previous 1.38 , to selected 1.25
Fix to set the stream element type for :output streams.

Revision 1.38 - (view) (annotate) - [select for diffs]
Sat Jan 18 14:31:02 1997 UTC (17 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.37: +13 -12 lines
Diff to previous 1.37 , to selected 1.25
Werkowskis source kit 1.03.7

Revision 1.37 - (view) (annotate) - [select for diffs]
Tue May 7 20:47:10 1996 UTC (17 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.36: +36 -17 lines
Diff to previous 1.36 , to selected 1.25
Added a suite of signed byte output routines because the unsigned ones weren't
type correct for signed operands, thus didn't consistently work.

Revision 1.36 - (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.35: +1 -3 lines
Diff to previous 1.35 , to selected 1.25
Fix headed boilerplate.

Revision 1.35 - (view) (annotate) - [select for diffs]
Sun Oct 2 22:43:26 1994 UTC (19 years, 6 months ago) by ram
Branch: MAIN
Changes since 1.34: +6 -2 lines
Diff to previous 1.34 , to selected 1.25
Squelch assignment warning on open args (by &aux, YES!)

Revision 1.34 - (view) (annotate) - [select for diffs]
Tue Aug 23 18:31:59 1994 UTC (19 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.33: +8 -8 lines
Diff to previous 1.33 , to selected 1.25
In OPEN, fixed :direction :io :if-does-not-exist :create to actually create.

Revision 1.33 - (view) (annotate) - [select for diffs]
Sat Jan 8 18:42:47 1994 UTC (20 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.32: +10 -9 lines
Diff to previous 1.32 , to selected 1.25
Re-frobbed fd-stream-read-n-bytes to preserve the property of returning less
than the requested number of bytes when eof-error-p is NIL and that is what
unix-read read.

Revision 1.32 - (view) (annotate) - [select for diffs]
Thu Jan 6 19:50:20 1994 UTC (20 years, 3 months ago) by ram
Branch: MAIN
Changes since 1.31: +17 -6 lines
Diff to previous 1.31 , to selected 1.25
In read-n-bytes, only signal EOF when we read and got 0 bytes, not never read
returns less than we wanted.  Also, fix the case of small reads with an empty
buffer not to leave garbled buffer pointers if we have to do more than one
read.

Revision 1.31 - (view) (annotate) - [select for diffs]
Mon Aug 30 21:19:53 1993 UTC (20 years, 7 months ago) by ram
Branch: MAIN
Changes since 1.30: +3 -2 lines
Diff to previous 1.30 , to selected 1.25
Update to new DEFINE-CONDITION syntax.

Revision 1.30 - (view) (annotate) - [select for diffs]
Wed Aug 4 12:26:25 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.29: +5 -4 lines
Diff to previous 1.29 , to selected 1.25
Fix stuff.

Revision 1.29 - (view) (annotate) - [select for diffs]
Wed Aug 4 12:23:30 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.28: +10 -10 lines
Diff to previous 1.28 , to selected 1.25
Unmade FILE-NAME a misc method, since it needs to work on closed streams.

Revision 1.28 - (view) (annotate) - [select for diffs]
Wed Aug 4 10:39:03 1993 UTC (20 years, 8 months ago) by ram
Branch: MAIN
Changes since 1.27: +24 -10 lines
Diff to previous 1.27 , to selected 1.25
Changed :FILE-NAME back to a misc method.  Added fd-stream-pathname slot to
hold the non-unixified argument to open.

Revision 1.27 - (view) (annotate) - [select for diffs]
Thu Jun 24 13:58:09 1993 UTC (20 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.26: +25 -3 lines
Diff to previous 1.26 , to selected 1.25
Added degenerate versions of stream-external-format, file-string-length and the
:external-format argument to open.

Revision 1.26 - (view) (annotate) - [select for diffs]
Thu Jun 24 13:48:47 1993 UTC (20 years, 9 months ago) by ram
Branch: MAIN
Changes since 1.25: +22 -35 lines
Diff to previous 1.25
Changed stuff to use EOF-OR-LOSE for signalling EOF.

Revision 1.25 - (view) (annotate) - [selected]
Tue Jun 8 11:20:31 1993 UTC (20 years, 10 months ago) by wlott
Branch: MAIN
Changes since 1.24: +2 -1 lines
Diff to previous 1.24
Fixed :clear-input to flush any unread chars.

Revision 1.24 - (view) (annotate) - [select for diffs]
Fri Feb 26 08:25:27 1993 UTC (21 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.23: +40 -105 lines
Diff to previous 1.23 , to selected 1.25
new structure branch & tuning, see new_struct

Revision 1.23.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Feb 23 23:25:12 1993 UTC (21 years, 1 month ago) by ram
Branch: new_struct
Changes since 1.23.1.2: +24 -22 lines
Diff to previous 1.23.1.2 , to next main 1.125 , to selected 1.25
Added INPUT-BUFFER-P arg to MAKE-FD-STREAM which controls whether we 
use the IN-BUFFER or not, because the point is to work on real files,
and it requires extra syscalls to make sure that we don't spuriously
block on TTYs.
Removed vestigial support for non-8 byte sizes in n-bin.

Revision 1.23.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Feb 23 16:12:10 1993 UTC (21 years, 1 month ago) by ram
Branch: new_struct
Changes since 1.23.1.1: +1 -48 lines
Diff to previous 1.23.1.1 , to selected 1.25
deleted read-line method, since this is now based on read-char.

Revision 1.23.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Feb 23 16:08:20 1993 UTC (21 years, 1 month ago) by ram
Branch: new_struct
Changes since 1.23: +20 -40 lines
Diff to previous 1.23 , to selected 1.25
Changed read-n-bytes to only loop waiting for input if eof-errorp is T.
Allow read-n-bytes on text streams.  Fill in stream in buffer for 
byte streams.  Move file-position and file-length to stream.lisp,
since they are really generic.

Revision 1.23 - (view) (annotate) - [select for diffs]
Wed Feb 17 16:30:39 1993 UTC (21 years, 2 months ago) by ram
Branch: MAIN
Branch point for: new_struct
Changes since 1.22: +16 -10 lines
Diff to previous 1.22 , to selected 1.25
Added type decls from efficency notes.

Revision 1.22 - (view) (annotate) - [select for diffs]
Thu Dec 10 01:09:52 1992 UTC (21 years, 4 months ago) by ram
Branch: MAIN
Changes since 1.21: +6 -1 lines
Diff to previous 1.21 , to selected 1.25
Export FILE-STREAM from LISP as a synonym for FD-STREAM.  Add :INTERACTIVE-P
misc method.

Revision 1.21 - (view) (annotate) - [select for diffs]
Mon Mar 9 20:17:39 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.20: +10 -13 lines
Diff to previous 1.20 , to selected 1.25
Removed #+serve-event conditionalation.

Revision 1.20.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Sat Mar 7 11:19:20 1992 UTC (22 years, 1 month ago) by wlott
Branch: miles_hack
Changes since 1.20: +107 -34 lines
Diff to previous 1.20 , to next main 1.125 , to selected 1.25
Added Miles' stuff to use the same stream for input and output if they are
the same file descriptor.  This makes CHAR-POS work after input.
Except that it doesn't always work.  If both fds 0 and 1 refer to, say,
/dev/null but 0 is only readable and 1 is only writeable it will try to
both read from and write to one of them.

Revision 1.20 - (view) (annotate) - [select for diffs]
Fri Feb 21 21:59:52 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Branch point for: miles_hack
Changes since 1.19: +7 -9 lines
Diff to previous 1.19 , to selected 1.25
Changed all SAP-REF-mumble functions to take the offset in bytes.

Revision 1.19 - (view) (annotate) - [select for diffs]
Fri Feb 14 23:44:45 1992 UTC (22 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.18: +65 -65 lines
Diff to previous 1.18 , to selected 1.25
Merged new-alien changes onto trunk.

Revision 1.18.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Jan 28 08:10:44 1992 UTC (22 years, 2 months ago) by wlott
Changes since 1.18: +65 -65 lines
Diff to previous 1.18 , to next main 1.125 , to selected 1.25
Changed mach:unix-mumble to unix:unix-mumble.

Revision 1.18 - (view) (annotate) - [select for diffs]
Mon Dec 16 12:48:45 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.17: +13 -8 lines
Diff to previous 1.17 , to selected 1.25
Fixed OPEN to deal with the fact that UNIX-NAMESTRING can return NIL.

Revision 1.17 - (view) (annotate) - [select for diffs]
Sat Dec 7 00:56:04 1991 UTC (22 years, 4 months ago) by wlott
Branch: MAIN
Changes since 1.16: +14 -4 lines
Diff to previous 1.16 , to selected 1.25
Added finalization of opened streams.

Revision 1.16 - (view) (annotate) - [select for diffs]
Sat Nov 9 02:47:09 1991 UTC (22 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.15: +6 -6 lines
Diff to previous 1.15 , to selected 1.25
Changed BASE-CHARACTER to BASE-CHAR

Revision 1.15 - (view) (annotate) - [select for diffs]
Fri May 24 17:02:25 1991 UTC (22 years, 10 months ago) by ram
Branch: MAIN
Changes since 1.14: +35 -14 lines
Diff to previous 1.14 , to selected 1.25
Added :TIMEOUT argument to MAKE-FD-STREAM.  The SYSTEM:IO-TIMEOUT condition is
signalled if a timeout is specified and exceeded.

Revision 1.14 - (view) (annotate) - [select for diffs]
Tue May 21 22:22:34 1991 UTC (22 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.13: +108 -77 lines
Diff to previous 1.13 , to selected 1.25
Added many declarations indicated by efficiency notes.
Also, now in OPEN, we don't rename files that aren't writable.

Revision 1.13 - (view) (annotate) - [select for diffs]
Tue May 21 18:37:34 1991 UTC (22 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.12: +124 -11 lines
Diff to previous 1.12 , to selected 1.25
Changed FD-STREAM-READ-N-BYTES to block in unix-read rather than select so that
it is usable as the CLX BUFFER-READ function (and is also more tense.)
Fixed a couple warnings in the misc method.

Revision 1.12 - (view) (annotate) - [select for diffs]
Sat May 18 19:06:01 1991 UTC (22 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.11: +7 -5 lines
Diff to previous 1.11 , to selected 1.25
Added :EOF support in listen method, and fixed a few comments.

Revision 1.11 - (view) (annotate) - [select for diffs]
Sat May 18 13:38:36 1991 UTC (22 years, 11 months ago) by ram
Branch: MAIN
Changes since 1.10: +5 -6 lines
Diff to previous 1.10 , to selected 1.25
Merged with systems-work sources.  The only change was to make
*standard-output* a two-way stream so that reading *standard-input* will force
output on standard output.

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

Revision 1.9 - (view) (annotate) - [select for diffs]
Sun Jan 13 00:52:08 1991 UTC (23 years, 3 months ago) by wlott
Branch: MAIN
Changes since 1.8: +49 -42 lines
Diff to previous 1.8 , to selected 1.25
Added a retry case to the permision denied error in open.

Revision 1.8 - (view) (annotate) - [select for diffs]
Sat Nov 3 00:26:39 1990 UTC (23 years, 5 months ago) by wlott
Branch: MAIN
Changes since 1.7: +3 -3 lines
Diff to previous 1.7 , to selected 1.25
Changed predict-name to unix-namestring.

Revision 1.7 - (view) (annotate) - [select for diffs]
Mon Sep 24 17:22:32 1990 UTC (23 years, 6 months ago) by wlott
Branch: MAIN
Changes since 1.6: +4 -2 lines
Diff to previous 1.6 , to selected 1.25
Fixed the clear-input method.

Revision 1.6 - (view) (annotate) - [select for diffs]
Thu Sep 6 19:40:38 1990 UTC (23 years, 7 months ago) by wlott
Branch: MAIN
Changes since 1.5: +20 -8 lines
Diff to previous 1.5 , to selected 1.25
Added :clear-input method.  Changed base-character to character in
dispatching stuff.

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

Revision 1.4.1.4 - (view) (annotate) - [select for diffs] (vendor branch)
Tue Jul 31 19:27:57 1990 UTC (23 years, 8 months ago) by wlott
Changes since 1.4.1.3: +9 -1 lines
Diff to previous 1.4.1.3 , to next main 1.125 , to selected 1.25
Merged in some fixes to file-position from the mainline sources.

Revision 1.4.1.3 - (view) (annotate) - [select for diffs] (vendor branch)
Thu May 31 00:29:49 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.4.1.2: +22 -11 lines
Diff to previous 1.4.1.2 , to selected 1.25
Picked up lots of fixes from the mainline code sources.
Changed read-n-bytes to be able to read into either the system area, or
a vector.

Revision 1.4.1.2 - (view) (annotate) - [select for diffs] (vendor branch)
Sun May 27 16:44:30 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.4.1.1: +3 -2 lines
Diff to previous 1.4.1.1 , to selected 1.25
Had the arguments to copy-from-system-area backwards in string-from-sap.

Revision 1.4.1.1 - (view) (annotate) - [select for diffs] (vendor branch)
Fri May 25 20:30:33 1990 UTC (23 years, 10 months ago) by wlott
Changes since 1.4: +151 -167 lines
Diff to previous 1.4 , to selected 1.25
First MIPS cut.

Revision 1.4 - (view) (annotate) - [select for diffs]
Fri Mar 16 15:26:37 1990 UTC (24 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.3: +6 -0 lines
Diff to previous 1.3 , to selected 1.25
.../code/fd-stream.lisp, 08-Mar-90 17:58:17, Edit by Wlott.
  Yet another attempt at file-position.  Forgot to zero both the head and
  tail of the input buffer when we moved the file pointer.  Therefore, UNIX
  thought that the file pointer was at the beginning of the file, but LISP
  thought that the file pointer was ibuf-tail bytes in.

Revision 1.3 - (view) (annotate) - [select for diffs]
Thu Mar 8 16:23:09 1990 UTC (24 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.2: +6 -6 lines
Diff to previous 1.2 , to selected 1.25
Put in fix from wlott for unread-char/read-line interaction lossage.
 

Revision 1.2 - (view) (annotate) - [select for diffs]
Thu Mar 8 11:04:53 1990 UTC (24 years, 1 month ago) by ram
Branch: MAIN
Changes since 1.1: +1 -4 lines
Diff to previous 1.1 , to selected 1.25
Changed make-immediate-type of random number to CODE-CHAR.

Revision 1.1 - (view) (annotate) - [select for diffs]
Thu Feb 22 11:54:29 1990 UTC (24 years, 1 month ago) by ram
Branch: MAIN
Diff to selected 1.25
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