aboutsummaryrefslogtreecommitdiff
path: root/parsing
diff options
context:
space:
mode:
authorHugo Herbelin2016-10-24 17:04:41 +0200
committerHugo Herbelin2016-10-24 17:11:28 +0200
commit5f1dd4c401110d6b10350c847805c6923fa09de5 (patch)
tree1f72c8426bb48e504dacf1f556427557594662df /parsing
parent1d769e02b3baba54246c942fe116abaf850892db (diff)
Fixing #3479 (parsing of "{" and "}" when a keyword starts with "{" or "}").
Diffstat (limited to 'parsing')
-rw-r--r--parsing/lexer.ml46
1 files changed, 6 insertions, 0 deletions
diff --git a/parsing/lexer.ml4 b/parsing/lexer.ml4
index 5d96873f31..db6816a704 100644
--- a/parsing/lexer.ml4
+++ b/parsing/lexer.ml4
@@ -535,6 +535,12 @@ let rec next_token = parser bp
next_token s
| [< t = process_chars bp c >] -> comment_stop bp; t >] ->
t
+ | [< ' ('{' | '}' as c); s >] ep ->
+ let t,new_between_com =
+ if !between_com then (KEYWORD (String.make 1 c), (bp, ep)), true
+ else process_chars bp c s,false
+ in
+ comment_stop bp; between_com := new_between_com; t
| [< s >] ->
match lookup_utf8 s with
| Utf8Token (Unicode.Letter, n) ->