Skip to content

Commit

Permalink
fix JuliaLang#35201, syntax error with named splatting inside functio…
Browse files Browse the repository at this point in the history
…n call (JuliaLang#35202)
  • Loading branch information
JeffBezanson authored and oxinabox committed Apr 8, 2020
1 parent e258468 commit 86246fb
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/julia-syntax.scm
Original file line number Diff line number Diff line change
Expand Up @@ -1418,6 +1418,8 @@
`(,(car x) ,(arg-to-temp (cadr x))))
((or (eq? (car x) 'kw) (and tup (eq? (car x) '=)))
`(,(car x) ,(cadr x) ,(arg-to-temp (caddr x))))
((eq? (car x) 'parameters)
`(parameters ,@(map arg-to-temp (cdr x))))
((eq? (car x) 'tuple)
(let ((tmp (remove-argument-side-effects x #t)))
(set! a (revappend (cdr tmp) a))
Expand Down
5 changes: 5 additions & 0 deletions test/syntax.jl
Original file line number Diff line number Diff line change
Expand Up @@ -2213,3 +2213,8 @@ end
Expr(:error, "invisible character \\u200b near column 3")
@test Meta.parse("aa\UE0080", raise=false) ==
Expr(:error, "invalid character \"\Ue0080\" near column 3")

# issue #35201
h35201(x; k=1) = (x, k)
f35201(c) = h35201((;c...), k=true)
@test f35201(Dict(:a=>1,:b=>3)) === ((a=1,b=3), true)

0 comments on commit 86246fb

Please sign in to comment.