Welcome! Please see the About page for a little more info on how this works.

+1 vote
in Compiler by

user=> ((fn (link: do) do) 1)
nil

user=> ((fn (link: do) (do do)) 1)
1

user=> ((fn (link: ) do))
nil

user=> ((fn (link: ) do do))
CompilerException java.lang.RuntimeException: Unable to resolve symbol: do in this context, compiling:(NO_SOURCE_PATH:0:0)

2 Answers

0 votes
by

Comment made by: bronsa

This patch creates a DoExpr class and makes DoExpr.Parser the DO special form parser.

DoExpr.Parser simply removes the 'do' symbol and delegates to BodyExpr, that was previously done by BodyExpr incorrectly.

0 votes
by
Reference: https://clojure.atlassian.net/browse/CLJ-1216 (reported by bronsa)
...