Any idea why the eval implementation fires the callback before the function ends?
# on.exit fires on exit
exit_test1 = function(){
on.exit(expr = message('close'))
message('hello')
}
exit_test1()
#> hello
#> close
# on.exit fires before exit
exit_test2 = function(){
eval(parse(text = "on.exit(expr = message('close'))"))
message('hello')
}
exit_test2()
#> close
#> hello