Skip to content

Commit b75638c

Browse files
committed
Merge pull request #9887 from hayd/markdown_macro_fix
parse md"##section" correctly
2 parents 653af8b + 0b20453 commit b75638c

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

base/markdown/Julia/interp.jl

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,48 @@
11
function Base.parse(stream::IOBuffer; greedy::Bool = true, raise::Bool = true)
2-
pos = position(stream)
3-
ex, Δ = Base.parse(readall(stream), 1, greedy = greedy, raise = raise)
4-
seek(stream, pos + Δ - 1)
5-
return ex
2+
pos = position(stream)
3+
ex, Δ = Base.parse(readall(stream), 1, greedy = greedy, raise = raise)
4+
seek(stream, pos + Δ - 1)
5+
return ex
66
end
77

88
function interpinner(stream::IO, greedy = false)
9-
startswith(stream, '$') || return
10-
(eof(stream) || peek(stream) in whitespace) && return
11-
try
12-
return Base.parse(stream::IOBuffer, greedy = greedy)
13-
catch e
14-
return
15-
end
9+
startswith(stream, '$') || return
10+
(eof(stream) || peek(stream) in whitespace) && return
11+
try
12+
return Base.parse(stream::IOBuffer, greedy = greedy)
13+
catch e
14+
return
15+
end
1616
end
1717

1818
@trigger '$' ->
1919
function interp(stream::IO)
20-
withstream(stream) do
21-
ex = interpinner(stream)
22-
return ex
23-
end
20+
withstream(stream) do
21+
ex = interpinner(stream)
22+
return ex
23+
end
2424
end
2525

2626
function blockinterp(stream::IO, md::MD, config::Config)
27-
withstream(stream) do
28-
ex = interpinner(stream)
29-
if ex nothing
30-
return false
31-
else
32-
push!(md, ex)
33-
return true
27+
withstream(stream) do
28+
ex = interpinner(stream)
29+
if ex nothing
30+
return false
31+
else
32+
push!(md, ex)
33+
return true
34+
end
3435
end
35-
end
3636
end
3737

3838
toexpr(x) = x
3939

4040
toexpr(xs::Vector{Any}) = Expr(:cell1d, map(toexpr, xs)...)
4141

4242
function deftoexpr(T)
43-
@eval function toexpr(md::$T)
44-
Expr(:call, $T, $(map(x->:(toexpr(md.$x)), names(T))...))
45-
end
43+
@eval function toexpr(md::$T)
44+
Expr(:call, typeof(md), $(map(x->:(toexpr(md.$x)), names(T))...))
45+
end
4646
end
4747

4848
map(deftoexpr, [MD, Paragraph, Header,

0 commit comments

Comments
 (0)