allow non-printable symbols within string tokens;
authorwenzelm
Fri, 20 Mar 2009 09:51:41 +0100
changeset 30600 de241396389c
parent 30599 4216e9c70cfe
child 30601 febd9234abdd
allow non-printable symbols within string tokens;
src/Pure/ML/ml_lex.ML
--- a/src/Pure/ML/ml_lex.ML	Thu Mar 19 22:05:37 2009 +0100
+++ b/src/Pure/ML/ml_lex.ML	Fri Mar 20 09:51:41 2009 +0100
@@ -163,8 +163,8 @@
     Scan.one (Symbol.is_ascii_digit o symbol) >> (fn ((a, b), c) => [a, b, c]);
 
 val scan_str =
-  Scan.one (fn (s, _) => Symbol.is_regular s andalso Symbol.is_printable s
-    andalso s <> "\"" andalso s <> "\\") >> single ||
+  Scan.one (fn (s, _) => Symbol.is_regular s andalso s <> "\"" andalso s <> "\\" andalso
+    (not (Symbol.is_char s) orelse Symbol.is_printable s)) >> single ||
   $$$ "\\" @@@ !!! "bad escape character in string" scan_escape;
 
 val scan_gap = $$$ "\\" @@@ scan_blanks1 @@@ $$$ "\\";