Disable \u and \U escapes when r6rs-hex-escapes enabled
authorMichael Gran <spk121@yahoo.com>
Wed, 13 Jan 2010 15:02:07 +0000 (07:02 -0800)
committerMichael Gran <spk121@yahoo.com>
Wed, 13 Jan 2010 15:02:07 +0000 (07:02 -0800)
When the reader option 'r6rs-hex-escapes is enabled, the \uNNNN and
\UNNNNNN string escape sequences should be disabled.

* libguile/read.c (scm_read_string): added checks for SCM_R6RS_ESCAPES_P

libguile/read.c

index 9e66cce..c209669 100644 (file)
@@ -524,11 +524,17 @@ scm_read_string (int chr, SCM port)
                 SCM_READ_HEX_ESCAPE (2, '\0');
               break;
             case 'u':
-              SCM_READ_HEX_ESCAPE (4, '\0');
-              break;
+              if (!SCM_R6RS_ESCAPES_P)
+                {
+                  SCM_READ_HEX_ESCAPE (4, '\0');
+                  break;
+                }
             case 'U':
-              SCM_READ_HEX_ESCAPE (6, '\0');
-              break;
+              if (!SCM_R6RS_ESCAPES_P)
+                {
+                  SCM_READ_HEX_ESCAPE (6, '\0');
+                  break;
+                }
             default:
             bad_escaped:
               scm_i_input_error (FUNC_NAME, port,