From 3370984c2444ac8b862da1fa69e96b4450d630c5 Mon Sep 17 00:00:00 2001 From: Yihui Xie Date: Sat, 10 Mar 2012 23:37:08 -0600 Subject: [PATCH] completely fixes #138 --- R/block.R | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/R/block.R b/R/block.R index 72a596a828..48627a1ad8 100644 --- a/R/block.R +++ b/R/block.R @@ -95,6 +95,7 @@ block_exec = function(params) { options$fig.ext = dev2ext(options$dev) } + obj.before = ls(globalenv(), all.names = TRUE) # global objects before chunk res.before = run_hooks(before = TRUE, options, env) # run 'before' hooks owd = setwd(input_dir()) res = evaluate(code, envir = env) # run code @@ -172,7 +173,8 @@ block_exec = function(params) { plot_counter(reset = TRUE) # restore plot number if (options$cache) { - objs = ls(env, all.names = TRUE) + obj.after = ls(globalenv(), all.names = TRUE) # figure out new global objs + objs = c(ls(env, all.names = TRUE), setdiff(obj.after, obj.before)) block_cache(options, output, objs) if (options$autodep) cache$objects(objs, code, options$label, options$cache.path) }