On Wed, Apr 06 2016, Nicolas Goaziou wrote: > Hello, > > Daniele Pizzolli <d...@toel.it> writes: > >> is possible to update the “#+RESULTS: pid” when the block “#+NAME: >> echo-pid” is evaluated in the following snippet? > > Without `org-babel-execute-buffer', I don't think so.
Hello, Thanks Nicolas for the reply. Ok, but `org-babel-execute-buffer' produces an inconsistent document right now. >> This will lead to a consistent document generation with “M-x >> org-babel-execute-buffer” or by hitting “C-c C-c” on “#+NAME: >> echo-pid”. > > I'm not convinced that this behaviour should be enforced. If I C-c C-c > on a block, I expect only the results of the block to be updated, not > some other part of the document I am editing. Mmm, the same reasoning can be used for arguing about the current behaviour: If I C-c C-c on a block, I expect only the code of the block to be executed, not some other part of the document I am editing. This behaviour will fix my issue. I agree that neither case should be enforced, but the user should be in charge to choose. A reasonable default behaviour will be to not re-execute the other code block if the previous result is already present. > Also, what if the other block is in another document? I don't think it > should be updated either. But should it be either executed? > What is the harm in using `org-babel-execute-buffer' for your use case? Right now it does not produce a consistent document, that should be desirable. I do not have a strong preference about the solution (reuse without re-execute, or update the other result) but for sure, right now there is no way to produce a consistent document. I tried for a workaround, adding `:eval query' #+NAME: pid #+BEGIN_SRC shell :results value :cache no :eval query printf '%s' "${$}" #+END_SRC and then discarding the execution, but instead of reusing the actual result it pass `nil'... no luck. Thanks again, Daniele