Fix bug: use atom delimiters instead of symbol-constituents.
authorChris Hanson <org/chris-hanson/cph>
Sat, 11 Feb 2017 08:32:12 +0000 (00:32 -0800)
committerChris Hanson <org/chris-hanson/cph>
Sat, 11 Feb 2017 08:32:12 +0000 (00:32 -0800)
Proper handling of parser character sets needs review.

src/runtime/parse.scm

index 8b90445fcf9432d0004dd98a67427d09bf5fbd4d..e6abeac4094a77212b23385865acefb6e3a0267f 100644 (file)
@@ -503,7 +503,8 @@ USA.
        (error:illegal-number string))))
 
 (define (parse-atom port db prefix)
-  (let ((port* (open-output-string)))
+  (let ((port* (open-output-string))
+       (atom-delimiters (db-atom-delimiters db)))
 
     (define (%peek)
       (if (pair? prefix)
@@ -529,7 +530,7 @@ USA.
     (let loop ()
       (let ((char (%peek)))
        (if (or (eof-object? char)
-               (not (char-in-set? char char-set:symbol-constituent)))
+               (char-in-set? char atom-delimiters))
            (get-output-string port*)
            (begin
              (%discard)