Skip to content

Commit 38025d7

Browse files
authored
Merge pull request #490 from JuliaDebug/teh/testfail_promote_typeof
Don't splat in call to `append_any`
2 parents 0a78c30 + 84bd33f commit 38025d7

File tree

5 files changed

+25
-19
lines changed

5 files changed

+25
-19
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "JuliaInterpreter"
22
uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a"
3-
version = "0.8.18"
3+
version = "0.8.19"
44

55
[deps]
66
CodeTracking = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2"

bin/generate_builtins.jl

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -146,14 +146,13 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
146146
print(io,
147147
"""
148148
$head f === $fstr
149-
argswrapped = getargs(args, frame)
149+
args = getargs(args, frame)
150150
if !expand
151-
return Some{Any}($fstr(argswrapped...))
151+
return Some{Any}($fstr(args...))
152152
end
153-
new_expr = Expr(:call, argswrapped[1])
154-
popfirst!(argswrapped)
155-
argsflat = append_any(argswrapped...)
156-
for x in argsflat
153+
new_expr = Expr(:call, args[1])
154+
popfirst!(args)
155+
for x in args
157156
push!(new_expr.args, (isa(x, Symbol) || isa(x, Expr) || isa(x, QuoteNode)) ? QuoteNode(x) : x)
158157
end
159158
return new_expr

src/builtins.jl

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -64,26 +64,24 @@ function maybe_evaluate_builtin(frame, call_expr, expand::Bool)
6464
end
6565
return new_expr
6666
elseif @static isdefined(Core, :_call_latest) ? f === Core._call_latest : false
67-
argswrapped = getargs(args, frame)
67+
args = getargs(args, frame)
6868
if !expand
69-
return Some{Any}(Core._call_latest(argswrapped...))
69+
return Some{Any}(Core._call_latest(args...))
7070
end
71-
new_expr = Expr(:call, argswrapped[1])
72-
popfirst!(argswrapped)
73-
argsflat = append_any(argswrapped...)
74-
for x in argsflat
71+
new_expr = Expr(:call, args[1])
72+
popfirst!(args)
73+
for x in args
7574
push!(new_expr.args, (isa(x, Symbol) || isa(x, Expr) || isa(x, QuoteNode)) ? QuoteNode(x) : x)
7675
end
7776
return new_expr
7877
elseif @static isdefined(Core, :_apply_latest) ? f === Core._apply_latest : false
79-
argswrapped = getargs(args, frame)
78+
args = getargs(args, frame)
8079
if !expand
81-
return Some{Any}(Core._apply_latest(argswrapped...))
80+
return Some{Any}(Core._apply_latest(args...))
8281
end
83-
new_expr = Expr(:call, argswrapped[1])
84-
popfirst!(argswrapped)
85-
argsflat = append_any(argswrapped...)
86-
for x in argsflat
82+
new_expr = Expr(:call, args[1])
83+
popfirst!(args)
84+
for x in args
8785
push!(new_expr.args, (isa(x, Symbol) || isa(x, Expr) || isa(x, QuoteNode)) ? QuoteNode(x) : x)
8886
end
8987
return new_expr

test/dummy_file.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Don't change the value below, it's used in an `include` test
2+
55

test/interpret.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -811,3 +811,10 @@ end
811811
JuliaInterpreter.finish_and_return!(Frame(m, ex), true)
812812
@test isdefined(m, :foo)
813813
end
814+
815+
# Related to fixing https://github.com/timholy/Revise.jl/issues/625
816+
module ForInclude end
817+
@testset "include" begin
818+
ex = :(include("dummy_file.jl"))
819+
@test JuliaInterpreter.finish_and_return!(Frame(ForInclude, ex), true) == 55
820+
end

0 commit comments

Comments
 (0)