Code block caching doesn't seem to notice if the value of a variable argument has changed. Here is what I get with Org-mode version 7.01trans (release_7.4.93.g40264e.dirty) when I run both code blocks (I'm expecting caller to recognize that random has changed).
#+srcname: random
#+begin_src R :cache yes
runif(3)
#+end_src
#+results[bbaaac2c187b718287fb9e9b60dc3d096eca28c0]: random
| 0.292331680655479 |
| 0.547373940004036 |
| 0.770326626254246 |
#+srcname: caller
#+begin_src emacs-lisp :var x=random :cache yes
x
#+end_src
#+results[9e659075e616e3fc068e697bd3aff9d0bfa0f5d8]: caller
: 0.707728253444657
Tom
On Oct 21, 2010, at 4:18 AM, Eric Schulte wrote:
Improved Caching
-----------------
Code block caches now notice if the value of a variable argument
to the code block has changed, if this is the case the cache is
invalidated and the code block is re-run. The following example
can provide intuition for the new behavior.
#+srcname: random
#+begin_src R :cache yes
runif(1)
#+end_src
#+results[a2a72cd647ad44515fab62e144796432793d68e1]: random
0.4659510825295
#+srcname: caller
#+begin_src emacs-lisp :var x=random :cache yes
x
#+end_src
#+results[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
0.254227238707244