- Jul 05, 2010
-
-
rtoy authored
stream the data correctly causing decoding errors. code/sysmacs.lisp: o Need to copy back the in-index that fast-read-char-string-refill updated. code/stream.lisp: o Fix buffering issue when refilling the in-buffer with new data. Code was confused about the difference between in-length and in-buffer-length.
-
- Jul 02, 2010
-
-
rtoy authored
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.
-
- Apr 20, 2010
-
-
rtoy authored
may get confused with source locations if the reader macros are installed.
-
- Apr 19, 2010
-
-
rtoy authored
-
- Mar 19, 2010
-
-
rtoy authored
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.
-
- Jan 23, 2010
-
-
rtoy authored
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.
-
- Oct 18, 2009
-
-
rtoy authored
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.
-
- Aug 10, 2009
-
-
rtoy authored
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.
-
- Jul 17, 2009
-
-
rtoy authored
docstrings, especially when displayed with describe.
-
- Jun 16, 2009
-
-
rtoy authored
code/stream.lisp: o Only define (setf stream-external-format) for Unicode builds. o In stream-external-format, don't try to look up the external format from the fd-stream structure, which doesn't exist in non-unicode builds. code/strings.lisp: o Conditionalize out things that will only work if unicode is available. tools/worldcom.lisp: o Only compile fd-stream-extfmt for unicode builds.
-
- Jun 11, 2009
-
-
rtoy authored
unicode-utf16-extfmt-2009-06-11.
-
- Aug 21, 2006
-
-
rtoy authored
*READ-INTO-SIMPLE-ARRAY-RECOGNIZED-TYPES* so that READ-VECTOR can read binary data from streams of those types. Fixes Trace ticket 7.
-
- Nov 11, 2005
-
-
rtoy authored
cmucl-imp, 2005-11-10, with fix. o Apply Walter's fix, because it was missing the fifth arg to GENERALIZED-PEEKING-MECHANISM. o Change GENERALIZED-PEEKING-MACHINISM to use keyword args instead of optional args, to prevent this kind of bug.
-
- Jul 01, 2005
-
-
rtoy authored
for the position. Add support. Reported by Bruno Haible, cmucl-imp, 28 Jun 2005.
-
- May 23, 2005
-
-
rtoy authored
Description: In (peek-char nil s nil foo), if foo happens to be the same character that peek-char returns, the character is removed from the input stream, as if read by read-char. Examples: * (with-input-from-string (s "123") (list (peek-char nil s nil #\1) (read-char s) (read-char s))) (#\1 #\2 #\3) This fix is based on the version proposed by Rudi Schlatte, with minor changes in naming.
-
- Apr 19, 2005
-
-
rtoy authored
(let ((s (make-two-way-stream (make-concatenated-stream) (make-broadcast-stream)))) (dotimes (i 10) (format s "Hello, i = ~a~%" i))) doesn't work. This is caused by TWO-WAY-MISC not handling the :CHARPOS and :LINE-LENGTH operations. Just call the appropriate versions for the output stream of the two-way stream.
-
- Feb 21, 2005
-
-
rtoy authored
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.
-
- Apr 16, 2004
-
-
rtoy authored
-
- Apr 15, 2004
-
-
rtoy authored
from SBCL.
-
rtoy authored
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.)
-
- Apr 14, 2004
-
-
rtoy authored
TWO-WAY, CONCATENATED, ECHO, STRING-INPUT, and STRING-OUTPUT CLHS says these streams produce errors for file-length.
-
- Apr 09, 2004
-
-
emarsden authored
Fix stupid mistake in the broadcast-stream ANSI-compliance changes.
-
- Apr 07, 2004
-
-
emarsden authored
- (read-char-no-hang (make-concatenated-stream) nil :eof) returns :eof instead of nil Another bug brought to you by pfdietz.
-
emarsden authored
More ANSI-compliance BROADCAST-STREAM fixes: - FILE-LENGTH and FILE-POSITION return the value from the last component stream, or 0 if there are no component streams. Will require a similar change for FILE-STRING-LENGTH (and addition of a :file-string-length misc-op).
-
- Apr 06, 2004
-
-
emarsden authored
- (fresh-line (make-broadcast-stream)) returns nil instead of t - STREAM-ELEMENT-TYPE on broadcast-streams should return element-type of the last component stream (see CLtS "System Class BROADCAST-STREAM"). Fix from SBCL. - WRITE-SEQUENCE handles bit-vectors
-
emarsden authored
- fix WRITE-SEQUENCE for vectors (detected by pfdietz' ANSI compliance test suite) (write-sequence (vector #\a) (make-string-output-stream)) used to fail with "Type-error in lisp::write-vector-out: #\a is not of type base-char" because the WRITE-SEQUENCE code is erroneously assuming that all vectors of characters are of type string. There are probably more errors of this nature! - fix STREAM-ELEMENT-TYPE for broadcast streams: CLtS specifies that t should be returned if there are no component streams, but we used to return nil.
-
- Mar 26, 2004
-
-
emarsden authored
- 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)
-
- Jan 20, 2004
-
-
toy authored
o PEEK-CHAR wasn't signaling end-of-file when recursive-p was true. o GENERALIZED-PEEKING-MECHANISM needs to handle EOF-DETECTED-FORM when the peek-type is NIL. o Make PEEK-CHAR with peek-type NIL handle RECURSIVE-P. o WRITE-LINE didn't like an explicit :END NIL. o READ-SEQUENCE didn't like reading things into a bit-vector from a "good" stream element type. If the sequence is a bit-vector, use the general read-into-vector to read the data. o READ-SEQUENCE wasn't returning the right value when reading into simple-strings with a non-zero :START value.
-
- Jan 19, 2004
-
-
toy authored
current readtable. Use that instead of whitespace-char-p. (Noted from Paul Dietz's ANSI tests.)
-
- Oct 24, 2003
-
-
toy authored
(defvar *s* (open "target:code/scavhook.lisp")) (defvar *buf* (make-array 5000 :element-type 'character)) (read-sequence *buf* *s* :end 3000) => 3000 (read-sequence *buf* *s* :end 3000) => 1096 or 4096 bytes read, when we should have read 4139 (length of scavhook.lisp). Make READ-INTO-SIMPLE-STRING keep trying to READ-N-BYTES until we have enough bytes or until READ-N-BYTES returns 0 bytes read (in which case we return a short read because there's nothing left to read).
-
- Jul 30, 2003
-
-
toy authored
so (and just ignore it).
-
- Jun 18, 2003
-
-
gerd authored
package COMMON-LISP which LISP uses, so that COMMON-LISP no longer has the non-ANSI nickname LISP. To bootstrap, use boot13.lisp as target:bootstrap.lisp with pmai's build scripts, and do a full compile. * src/bootfiles/18e/boot13.lisp: Change for all the package changes. * src/code/exports.lisp: New package common-lisp, which lisp uses. * src/tools/worldload.lisp: * src/tools/setup.lisp: Use cl-user instead of user. Use lisp:: instead of cl::. * src/tools/worldcom.lisp: * src/tools/snapshot-update.lisp: * src/tools/pclcom.lisp: * src/tools/mk-lisp: * src/tools/hemcom.lisp: * src/tools/config.lisp: * src/tools/comcom.lisp: * src/tools/clxcom.lisp: * src/tools/clmcom.lisp: * src/pcl/defsys.lisp: * src/motif/lisp/initial.lisp: * src/interface/initial.lisp: * src/hemlock/lispmode.lisp (setup-lisp-mode): Use cl-user instead of user. * src/code/save.lisp (assert-user-package): * src/code/print.lisp (%with-standard-io-syntax): Find cl-user package instead of user. * src/code/package.lisp (package-locks-init): Add lisp. (package-init): Don't add user nickname to cl-user. * src/code/ntrace.lisp (*trace-encapsulate-package-names*): Add common-lisp. * src/code/hash.lisp (toplevel): * src/code/hash-new.lisp (toplevel): Use in-package :lisp instead of :common-lisp. * src/code/float-trap.lisp (sigfpe-handler): Don't qualify floating-point-inexact with ext:. * src/pcl/simple-streams/strategy.lisp (sc): * src/pcl/simple-streams/null.lisp (null-read-char): * src/pcl/simple-streams/internal.lisp (allocate-buffer) (free-buffer): * src/pcl/simple-streams/impl.lisp (%check, %read-line) (%peek-char, %read-byte): * src/pcl/simple-streams/file.lisp (open-file-stream) (device-close): * src/pcl/simple-streams/classes.lisp (simple-stream) (device-close): * src/pcl/macros.lisp (toplevel): * src/pcl/braid.lisp (lisp::sxhash-instance): * src/pcl/env.lisp (toplevel): * src/compiler/generic/objdef.lisp (symbol-hash): * src/code/stream.lisp (read-sequence, write-sequence): * src/code/macros.lisp (defmacro, deftype): * src/code/eval.lisp (interpreted-function): * src/code/defstruct.lisp (defstruct): * src/code/debug.lisp (debug-eval-print): Use lisp:: instead of cl::.
-
- Jun 07, 2003
-
-
toy authored
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.
-
- Jun 06, 2003
-
-
toy authored
functionality is still missing, but Lisp streams and Gray streams should behave unchanged.
-
- Mar 19, 2003
-
-
toy authored
preventing us from reading from string-streams, among other things.
-
- Mar 17, 2003
-
-
emarsden authored
be bigger than an INDEX.
-
- Dec 12, 2002
- Nov 19, 2002
-
-
toy authored
Port Matthew Danish's fix for this bug for SBCL.
-
- Nov 13, 2002
-
-
toy authored
args in the wrong order (stream arg is first). Noted by Matthew Danish.
-