Skip to content

Commit 96351b0

Browse files
committed
;;\n
1 parent 6a29084 commit 96351b0

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/components/lists.jl

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,18 +48,22 @@ end
4848
# XXX: Avert thine eyes.
4949
function count_semicolons(ps)
5050
dims = 0
51+
has_newline = false
5152
old_pos = position(ps.l.io)
5253
seek(ps.l.io, ps.ws.startbyte)
5354
while true
5455
c = readchar(ps.l.io)
5556
if c == ';'
5657
dims += 1
58+
elseif c == '\n'
59+
# technically, only trailing newlines are allowed; we're a bit more lenient here
60+
has_newline = true
5761
else
5862
dims == 0 || break
5963
end
6064
end
6165
seek(ps.l.io, old_pos)
62-
dims
66+
return dims == 2 && has_newline ? 0 : dims
6367
end
6468

6569
"""
@@ -98,11 +102,11 @@ function parse_array(ps::ParseState, isref = false)
98102
end
99103

100104
binding_power(ps) =
101-
if kindof(ps.ws) == Tokens.SEMICOLON_WS
105+
if kindof(ps.ws) == SemiColonWS
102106
-count_semicolons(ps)
103-
elseif kindof(ps.ws) == Tokens.NEWLINE_WS
107+
elseif kindof(ps.ws) == NewLineWS
104108
-1
105-
elseif kindof(ps.ws) == Tokens.WS
109+
elseif kindof(ps.ws) == WS
106110
0
107111
else
108112
1

0 commit comments

Comments
 (0)