`all.equal(1:6, 1:5)` is not TRUE (is chr: "Numeric: lengths (6, 5) differ")

[1] "`all.equal(1:6, 1:5)` is not TRUE (is chr: \"Numeric: lengths (6, 5) differ\")"

vet(quote(quote(a + b)), quote(x2 + x3))

# Note issue #18; not 100% sure this is correct, actually it should be, the
# validator expression is always substituted, and any symbols pointing to
# language are used as language.

`quote(x2 + x3)[[1]]` should be a call to `quote` (is a call to `+`)

[1] "`quote(x2 + x3)[[1]]` should be a call to `quote` (is a call to `+`)"

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

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

`quote(x1 + x2 + x3)[[2]]` should be "symbol" (is "language")

[1] "`quote(x1 + x2 + x3)[[2]]` should be \"symbol\" (is \"language\")"

unlist(lapply(c("aaA", "bbB", "ccC", "ddD", "eeE"), find))

# Test recursive substitution across environments, first check that all the
# symbols we use don't actually exist currently
# should be length 0

evalq(vet(quote(x * y), quote(A * (B - C))), envir = my.env)

`quote(A * (B - C))[[2]]` should be a call to `+` (is "symbol")

[1] "`quote(A * (B - C))[[2]]` should be a call to `+` (is \"symbol\")"

evalq(vet(quote(eeE * y), quote(A * (B - C))), envir = my.env)

# TRUE because `eeE` is not expanded (but `y` is)

evalq(vet(quote(x * y), quote((A + D) * (B - C))), envir = my.env)

expA <- expB <- expC <- expD <- expE <- 0

Possible infinite recursion encountered when substituting symbol `expA`. `vetr` recursively substitutes the vetting expressions. See `vignette('vetr', package='vetr')`, "Non Standard Evaluation" section.

Error in vet(expA, TRUE) : 
  Possible infinite recursion encountered when substituting symbol `expA`. `vetr` recursively substitutes the vetting expressions. See `vignette('vetr', package='vetr')`, "Non Standard Evaluation" section.

# check that symbols (i.e. not call) are resolved recursively too

`vet` usage error: argument `env` must be an environment (is character).

Error in vet(1, 1, env = "hello") : 
  `vet` usage error: argument `env` must be an environment (is character).