Skip to content
  1. Feb 24, 2013
    • Raymond Toy's avatar
      Signal an error if the readtable case of the standard readtable is · 10859380
      Raymond Toy authored
      changed.
      
      * Rename the slot to %READTABLE-CASE (from READTABLE-CASE).
      * Add READTABLE-CASE and (SETF READTABLE-CASE) functions, as required.
      * Check for the standard readtable in (SETF READTABLE-CASE).
      10859380
    • Raymond Toy's avatar
      Fix ticket:73 · 00844093
      Raymond Toy authored
      error.lisp::
      * Create two new conditions, one for modifying the readtable and one
        for the pprint dispatch table.
      
      exports.lisp::
      * Export the two new conditions.
      
      pprint.lisp::
      * Add check to SET-PPRINT-DISPATCH to disallow modifying the standard
        pprint dispatch table.
      * Allow PPRINT-INIT to modify the standard pprint dispatch table.
      
      print.lisp::
      * In WITH-STANDARD-IO-SYNTAX, don't copy a new dispatch table; bind
        *print-pprint-dispatch* to the standard table.
      
      reader.lisp::
      * Add check to disallow modifying the standard readtable.
      * Allow INIT-STD-LISP-READTABLE to modify the standard readtable.
      00844093
  2. Nov 04, 2011
  3. Sep 25, 2011
  4. Jan 27, 2011
  5. Apr 20, 2010
  6. Apr 19, 2010
  7. Mar 19, 2010
  8. Feb 05, 2010
  9. Jun 11, 2009
  10. Jun 22, 2007
    • rtoy's avatar
      Make the reader faster when reading #1= constructs when there are lots · 2a561f33
      rtoy authored
      of them.  Use hash tables instead of an alists for holding and
      constructing the necessary objects.  This can vastly speed up the
      reader in some cases.  But unfortunately it slows down the reader when
      the circular structure is "small".
      
      Some care has been taken not to make the reader slow when there are
      now #= constructs.
      
      This is based on a patch from Jared Davis.
      
      reader.lisp:
      o Add the new hash tables and initialize them appropriately.
      
      sharpm.lisp:
      o Update #= and ## macros to use the new hash tables.
      2a561f33
  11. Jun 30, 2006
  12. Feb 19, 2006
  13. Feb 18, 2006
    • rtoy's avatar
      Fix up some more Ansi test failures with SET-SYNTAX-FROM-CHAR. This · 8d6a5ef7
      rtoy authored
      fixes SET-SYNTAX-FROM-CHAR.SINGLE-ESCAPE.1,
      SET-SYNTAX-FROM-CHAR.MULTIPLE-ESCAPE, SET-SYNTAX-FROM-CHAR.SHARP.1,
      SET-SYNTAX-FROM-CHAR.SHARP.2.
      
      o Fix up CHAR-CLASS, CHAR-CLASS2, and CHAR-CLASS3 to return the
        correct class.  Based on SBCL.
      o SET-SYNTAX-FROM-CHAR shouldn't set the attribute from the secondary
        attribute. (I think.)
      8d6a5ef7
  14. Feb 17, 2006
  15. Oct 21, 2005
  16. May 06, 2005
  17. Apr 30, 2005
  18. Apr 28, 2005
  19. Apr 19, 2005
  20. Apr 18, 2005
  21. Dec 22, 2004
  22. Oct 22, 2004
  23. Jun 09, 2004
  24. Apr 23, 2004
  25. Apr 22, 2004
    • rtoy's avatar
      Oops. Remove unused code. Add a couple of comments. · 52168c78
      rtoy authored
      52168c78
    • rtoy's avatar
      o Fix the float printer to print correctly: · 4958e03b
      rtoy authored
           (float -54965272/1000000000000000000)
      
        was printing as -5.496527e-11 but should be -5.4965272e-11
      
      o Fix the float reader to read correctly, without roundoff:
      
        4.0058643e+8 was incorrectly read as 12518325, 1
        (integer-decode-float results).  It should be 12518326,1.
      
      o Fix the float reader to read floats correctly with unusual values of
        *read-base*:
      
          (let ((*read-base* 2))
            (read-from-string "-4.3e+7"))
      
        used to return a symbol instead of a float.
      
      This changes ported from SBCL.
      4958e03b
  26. Nov 24, 2003
  27. Nov 08, 2003
    • gerd's avatar
      (in-package :cl-user) · 097ec481
      gerd authored
      	(require :gray-streams)
      
      	(defclass my-in-stream (ext:fundamental-character-input-stream)
      	  ((last-char :initarg :last-char)))
      
      	(let ((string " a ")
      	      (i 0))
      	  (defmethod ext:stream-read-char ((s my-in-stream))
      	    (with-input-from-string (s "b") (read s))
      	    (with-slots (last-char) s
      	      (cond (last-char (prog1 last-char (setf last-char nil)))
      		     (t (prog1 (aref string i)
      			  (setq i (mod (1+ i) (length string)))))))))
      
      	(defmethod ext:stream-unread-char ((s my-in-stream) char)
      	  (setf (slot-value s 'last-char) char)
      	  nil)
      
      	(setq x (make-instance 'my-in-stream :last-char nil))
      	(read x)
      	 => b, instead of a
      
      	* src/code/reader.lisp: Use a new read buffer for each call to
      	read or read-preserving-whitespace, instead of using one global
      	buffer.  From Helmut Eller.
      097ec481
  28. Sep 08, 2003
  29. Jul 20, 2003
  30. Jun 26, 2003
    • toy's avatar
      From Paul Foley: · bfbb8fd1
      toy authored
      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*
      bfbb8fd1
  31. Jun 15, 2003
  32. Jun 14, 2003
  33. Jun 02, 2003
    • emarsden's avatar
      Change to the compiler's error/note reporting: · d9603d83
      emarsden authored
         - an extra optional argument to COMPILER-NOTIFICATION makes it
           possible to pass text describing the error/note to
           *COMPILER-NOTIFICATION-FUNCTION*.
      
         - functions for *COMPILER-NOTIFICATION-FUNCTION* have an extra
           second argument which describes the error/note
      
         - modify the eval-server functionality in Hemlock in consequence
      
      This backwards-incompatible change makes the
      *COMPILER-NOTIFICATION-FUNCTION* facility considerably more useful,
      since the description of the error (which was previously not passed to
      the notification-function) is very useful when reporting an error.
      
      
      Compile-time effect of DEFCONSTANT: instead of discarding the
      documentation string, add it to the info database.
      d9603d83
  34. Nov 14, 2002
    • toy's avatar
      From Eric Marsden: · ef58fd80
      toy authored
      The attached patch contains mostly trivial changes, including a few
      spelling corrections, plus changes to the types of condition raised in
      various cases. The only significant change, I believe, is
      
        - MAKE-DISPATCH-MACRO-CHARACTER no longer raises an error if the
          character already was defined to be a macro character; it
          overrides the previous definition (as per a suggestion from Drew
          McDermott on cmucl-help, dated 2002-09-22).
      ef58fd80