R - Evaluar una función anidada en un entorno

Estoy tratando de ejecutar un trozo de código R de forma sandbox ed, cargando todas las dependencias necesarias (funciones y datos) en un nuevo entorno y evaluando una expresión dentro de ese entorno. Sin embargo, estoy teniendo problemas con las funciones que llaman a otras funciones en el entorno. Aquí hay un ejemplo simple:

jobenv <- new.env(parent=globalenv())
assign("f1", function(x) x*2, envir=jobenv)
assign("f2", function(y) f1(y) + 1, envir=jobenv)
expr <- quote(f2(3))

Utilizandoeval enexpr falla desdef2 no puedo encontrarf1

> eval(expr, envir=jobenv)
Error in f2(3) : could not find function "f1"

mientras que adjuntar explícitamente el medio ambiente funciona

> attach(jobenv)
> eval(expr)
[1] 7

Probablemente me esté perdiendo algo obvio, pero no pude encontrar ninguna permutación de laeval Llamada que funciona. ¿Hay alguna forma de obtener el mismo efecto sin asociar el entorno?

Respuestas a la pregunta(2)

Su respuesta a la pregunta