From 5dcefb2e5b031966860be852d5ffaefa0a959e22 Mon Sep 17 00:00:00 2001 From: Rudi Grinberg Date: Fri, 15 Jun 2018 15:05:09 +0700 Subject: [PATCH] Forbid '%' from appearing in atoms Signed-off-by: Rudi Grinberg --- src/usexp/lexer.mll | 2 +- src/usexp/usexp.ml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/usexp/lexer.mll b/src/usexp/lexer.mll index c53bab93..eab1eaf9 100644 --- a/src/usexp/lexer.mll +++ b/src/usexp/lexer.mll @@ -76,7 +76,7 @@ let comment = ';' [^ '\n' '\r']* let newline = '\r'? '\n' let blank = [' ' '\t' '\012'] let atom_char = - [^ ';' '(' ')' '"' ' ' '\t' '\r' '\n' '\000'-'\032' '\127'-'\255'] + [^ '%' ';' '(' ')' '"' ' ' '\t' '\r' '\n' '\000'-'\032' '\127'-'\255'] let digit = ['0'-'9'] let hexdigit = ['0'-'9' 'a'-'f' 'A'-'F'] diff --git a/src/usexp/usexp.ml b/src/usexp/usexp.ml index 48a3dd32..684b3751 100644 --- a/src/usexp/usexp.ml +++ b/src/usexp/usexp.ml @@ -17,7 +17,7 @@ module Atom = struct let rec loop s i len = i = len || match String.unsafe_get s i with - | '"' | '(' | ')' | ';' | '\000'..'\032' | '\127'..'\255' -> false + | '%' | '"' | '(' | ')' | ';' | '\000'..'\032' | '\127'..'\255' -> false | _ -> loop s (i + 1) len in fun s ->