Hi myq, myq <myqlar...@gmail.com> writes: > Sometime since Org version 8.3beta and now, the way Org Babel resolves > the value of the `:var` header argument when assigned to a reference has > changed. > > Previously, the following would work when exporting: > > * test > > #+BEGIN_SRC R :var dat=table-data > print(summary(dat)); > #+END_SRC > > ** COMMENT > > #+TBLNAME: table-data > | number | measurement | > |--------+-------------| > | 1 | 10 | > > > The above /still/ works when manually evaluating the block (C-c C-c whil > in the block), but when exporting, the following error is thrown: > `org-babel-ref-resolve: Reference `table-data' not found in this buffer` > > Curiously, the following tweak works for both manual evaluation and for > exporting and produces the same results that the above file used to > produce: > > #+OPTIONS: inline:nil > * test > > #+BEGIN_SRC R :var dat=table-data > print(summary(dat)); > #+END_SRC > > *************** test > #+TBLNAME: table-data > | number | measurement | > |--------+-------------| > | 1 | 10 | > *************** END > > This seems to be a bug, but perhaps there is a reason for this new > behaviour? > > Thank you in advance for any insights.
There are two ways to exclude subtrees from export: the COMMENT keyword and the :noexport: tag. I think what you want to use here is the :noexport: tag. Here is the difference: - COMMENTing a subtree is meant to be (roughly?) the same as putting '# ' at the beginning of all the lines from that region. - The :noexport: tag will simply skip the region from export. So, to me it is more surprising that the manual execution works. For instance, I might have two tables with the same name. Then, COMMENTing one of them should ensure that the other one is used. HTH, Andreas