sharp-s-reader: read should be invoked recursively
authorDaniel Kochmański <daniel@turtleware.eu>
Tue, 1 Sep 2015 13:07:06 +0000 (15:07 +0200)
committerDaniel Kochmański <daniel@turtleware.eu>
Tue, 1 Sep 2015 13:07:06 +0000 (15:07 +0200)
Patch provided by drmeister. Test case:

(defstruct foo a)
(read-from-string
 "(#1=\"Hello\" #S(FOO :A #1#))"))

Signed-off-by: Daniel Kochmański <daniel@turtleware.eu>
src/lsp/iolib.lsp

index b569259..5e5e733 100644 (file)
@@ -177,7 +177,7 @@ printed.  If FORMAT-STRING is NIL, however, no prompt will appear."
   (declare (ignore subchar))
   (when (and arg (null *read-suppress*))
         (error "~S is an extra argument for the #s readmacro." arg))
-  (let ((l (read stream)))
+  (let ((l (read stream t nil t)))
     (when *read-suppress*
       (return-from sharp-s-reader nil))
     (unless (get-sysprop (car l) 'is-a-structure)