Skip to content
Snippets Groups Projects
  1. Aug 10, 2009
    • rtoy's avatar
      Fixes from Paul Foley: · 94ed0111
      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.
      94ed0111
  2. Jul 17, 2009
  3. Jun 16, 2009
    • rtoy's avatar
      Cleanups for non-unicode build. · 8f28c28f
      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.
      8f28c28f
  4. Jun 11, 2009
  5. Aug 21, 2006
    • rtoy's avatar
      Add BASE-CHAR and CHARACTER to · 8bfbe53c
      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.
      8bfbe53c
  6. Nov 11, 2005
  7. Jul 01, 2005
  8. May 23, 2005
    • rtoy's avatar
      Bug from cmucl-imp, 2005-05-17 by Fredrik Sandstrom: · 668b13f5
      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.
      668b13f5
  9. Apr 19, 2005
    • rtoy's avatar
      Rob Warnock reports on c.l.l that · bdb3e53c
      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.
      bdb3e53c
  10. Feb 21, 2005
    • rtoy's avatar
      Apply Lynn Quam's proposed enhancements to fd-streams allowing input · d4ad6755
      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.
      d4ad6755
  11. Apr 16, 2004
  12. Apr 15, 2004
    • rtoy's avatar
      Fix ansi-test bug on read-sequence and echo-streams. Based on code · 48087ddd
      rtoy authored
      from SBCL.
      48087ddd
    • rtoy's avatar
      More ANSI test fixes: · 2e51cd52
      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.)
      2e51cd52
  13. Apr 14, 2004
  14. Apr 09, 2004
    • emarsden's avatar
      · 3f2ba723
      emarsden authored
      Fix stupid mistake in the broadcast-stream ANSI-compliance changes.
      3f2ba723
  15. Apr 07, 2004
    • emarsden's avatar
      ANSI compliance fixes for CONCATENATED-STREAMS: · c7aa07e6
      emarsden authored
        - (read-char-no-hang (make-concatenated-stream) nil :eof) returns :eof
          instead of nil
      
      Another bug brought to you by pfdietz.
      c7aa07e6
    • emarsden's avatar
      · 3eeefd6b
      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).
      3eeefd6b
  16. Apr 06, 2004
    • emarsden's avatar
      More ANSI compliance fixes: · 1d002ae1
      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
      1d002ae1
    • emarsden's avatar
      · cf98504f
      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.
      cf98504f
  17. Mar 26, 2004
    • emarsden's avatar
      · 10b760ea
      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)
      10b760ea
  18. Jan 20, 2004
    • toy's avatar
      Some ANSI compliance fixes found by Paul Dietz's tests. · 09dc96ef
      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.
      09dc96ef
  19. Jan 19, 2004
  20. Oct 24, 2003
    • toy's avatar
      READ-SEQUENCE was returning too soon: · 5b428a0a
      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).
      5b428a0a
  21. Jul 30, 2003
  22. Jun 18, 2003
    • gerd's avatar
      Remove package nicknames USER from COMMON-LISP-USER. Add a new · b4f2c7c7
      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::.
      b4f2c7c7
  23. Jun 07, 2003
    • toy's avatar
      More simple-streams updates from Paul Foley: · d03aa23c
      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.
      d03aa23c
  24. Jun 06, 2003
  25. Mar 19, 2003
  26. Mar 17, 2003
  27. Dec 12, 2002
    • moore's avatar
      · 5fa826f9
      moore authored
      Remove cruft from last checkin.
      5fa826f9
    • moore's avatar
      · 1a766c11
      moore authored
      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.
      1a766c11
  28. Nov 19, 2002
  29. Nov 13, 2002
  30. Oct 07, 2002
    • toy's avatar
      o Reinstate gray-streams support for read-sequence and write-sequence · 62c1a79b
      toy authored
        that was inadvertently deleted.  (Bug noted by Rudi Schlatte).
      o write-sequence was calling system:output-raw-bytes with the wrong
        args.  (Bug noted by Andras Simon)
      62c1a79b
    • toy's avatar
      o Correct some spelling mistakes · 4fb3490d
      toy authored
      o Fix a few typos in code.
      o Delete a few unused symbols from various places
      o Use something better than %%RWSEQ-EOF%% for the eof marker.
      o Add target-foreign-linkage vars for the PPC and HPPA ports to aid
        cross-compilation.  (The values are very likely wrong, but they're
        not used yet.)
      
      Based on a larger patch from Eric Marsden.
      4fb3490d
  31. Aug 12, 2002
    • toy's avatar
      o For the stream functions, declare the stream arg as a stream or · b7171465
      toy authored
        streamlike as appropriate to catch bad args instead of pretending
        they're gray-streams to be caught there.
      o For make-broadcast-stream, make-two-way-stream,
        make-concatenated-stream, and make-echo-stream, check that their
        args of input or output streams as appropriate.
      b7171465
  32. Aug 06, 2002
  33. Jun 10, 2002
    • toy's avatar
      Rudi Schlatte noted that · f303e1ec
      toy authored
          The Hyperspec says that the default for end is nil, but:
      
          * (write-string "bla" *standard-output* :start 0 :end nil)
      
          Type-error in KERNEL::OBJECT-NOT-FIXNUM-ERROR-HANDLER:
             NIL is not of type FIXNUM
      
      Fix this and make the default for :END be NIL.  (Hmm, I suppose we
      don't really have to default to NIL since NIL means the end of the
      string anyway, but we should at least accept NIL as a valid :END
      value.  I didn't do that.)
      f303e1ec
  34. Feb 04, 2002
  35. Sep 20, 2001
Loading