11# ' Evaluate code in `qenv`
22# '
33# ' @details
4- # ' `eval_code` evaluates given code in the `qenv` environment and appends it to the `code` slot.
4+ # ' `eval_code() ` evaluates given code in the `qenv` environment and appends it to the `code` slot.
55# ' Thus, if the `qenv` had been instantiated empty, contents of the environment are always a result of the stored code.
66# '
77# ' @param object (`qenv`)
@@ -31,7 +31,7 @@ setMethod("eval_code", signature = c("qenv", "character"), function(object, code
3131 id <- sample.int(.Machine $ integer.max , size = 1 )
3232
3333 object @ id <- c(object @ id , id )
34- object @ env <- rlang :: env_clone(object @ env , parent = parent.env(.GlobalEnv ))
34+ object @ .xData <- rlang :: env_clone(object @ .xData , parent = parent.env(.GlobalEnv ))
3535 code <- paste(code , collapse = " \n " )
3636 object @ code <- c(object @ code , code )
3737
@@ -45,11 +45,11 @@ setMethod("eval_code", signature = c("qenv", "character"), function(object, code
4545 x <- withCallingHandlers(
4646 tryCatch(
4747 {
48- eval(single_call , envir = object @ env )
49- if (! identical(parent.env(object @ env ), parent.env(.GlobalEnv ))) {
50- # needed to make sure that @env is always a sibling of .GlobalEnv
48+ eval(single_call , envir = object @ .xData )
49+ if (! identical(parent.env(object @ .xData ), parent.env(.GlobalEnv ))) {
50+ # needed to make sure that @.xData is always a sibling of .GlobalEnv
5151 # could be changed when any new package is added to search path (through library or require call)
52- parent.env(object @ env ) <- parent.env(.GlobalEnv )
52+ parent.env(object @ .xData ) <- parent.env(.GlobalEnv )
5353 }
5454 NULL
5555 },
@@ -80,20 +80,19 @@ setMethod("eval_code", signature = c("qenv", "character"), function(object, code
8080 }
8181 }
8282
83-
8483 object @ warnings <- c(object @ warnings , current_warnings )
8584 object @ messages <- c(object @ messages , current_messages )
8685
87- lockEnvironment(object @ env , bindings = TRUE )
86+ lockEnvironment(object @ .xData , bindings = TRUE )
8887 object
8988})
9089
9190setMethod ("eval_code ", signature = c("qenv", "language"), function(object, code) {
92- eval_code(object , code = paste(lang2calls(code ), collapse = " \n " ))
91+ eval_code(object , code = paste(vapply( lang2calls(code ), deparse1 , collapse = " \n " , character ( 1L ) ), collapse = " \n " ))
9392})
9493
9594setMethod ("eval_code ", signature = c("qenv", "expression"), function(object, code) {
96- eval_code(object , code = paste(lang2calls(code ), collapse = " \n " ))
95+ eval_code(object , code = paste(vapply( lang2calls(code ), deparse1 , collapse = " \n " , character ( 1L ) ), collapse = " \n " ))
9796})
9897
9998setMethod ("eval_code ", signature = c("qenv.error", "ANY"), function(object, code) {
0 commit comments