alike(env.nest.1, env.nest.2, settings = vetr_settings(env.depth.max = 16))

`alike` environment stack exhausted at recursion depth 16; unable to recurse any further into environments; see `env.depth.max` parameter for `vetr_settings`.

Warning in alike(env.nest.1, env.nest.2, settings = vetr_settings(env.depth.max = 16)) :
  `alike` environment stack exhausted at recursion depth 16; unable to recurse any further into environments; see `env.depth.max` parameter for `vetr_settings`.

`env.nest.1` should be the global environment

[1] "`env.nest.1` should be the global environment"

`quote(x + y)[[2]]` should be "double" (is "symbol")

[1] "`quote(x + y)[[2]]` should be \"double\" (is \"symbol\")"

Warning: stack imbalance in 'withVisible', 57 then 56

alike(quote(fun(1 + 1)), quote(fun(x + y, 9)))

`quote(fun(x + y, 9))[[2]][[2]]` should be "double" (is "symbol")

alike(quote(fun(x + y, 9)), quote(fun(1 + 1)))

`quote(fun(1 + 1))[[2]][[2]]` should be "symbol" (is "double")

"%plusq%" <- function(x, y) call("+", substitute(x), substitute(y))

# Need to add parens in error messages, which we will illustrate with an
# operator

`(1 %plusq% b)[[3]]` should be "double" (is "symbol")

[1] "`(1 %plusq% b)[[3]]` should be \"double\" (is \"symbol\")"

alike(quote(fun(b = fun2(x, y), 1, 3)), quote(fun(NULL, fun2(a, 
    b), 1)))

# TRUE, since constants including NULL match any constants

alike(quote(fun(b = fun2(x, y), 1, 3)), quote(fun(NULL, fun2(a, 
    b), 1)), settings = vetr_settings(lang.mode = 1))

`quote(fun(NULL, fun2(a, b), 1))` should have argument `b` as first argument (has unnamed argument)

[1] "`quote(fun(NULL, fun2(a, b), 1))` should have argument `b` as first argument (has unnamed argument)"

alike(quote(fun(b = fun2(x, y), 1, 3)), quote(fun(fun2(a, b), 
    NULL, 1)))

`quote(fun(fun2(a, b), NULL, 1))[[2]]` should be "double" (is "language")

[1] "`quote(fun(fun2(a, b), NULL, 1))[[2]]` should be \"double\" (is \"language\")"

alike(quote(fun(a = 1)), quote(fun(b = 1)))

`quote(fun(b = 1))` should have argument `a` as first argument (has `b`)