Synching org-babel.org across branches

This commit is contained in:
Dan Davison 2009-06-13 19:01:06 -04:00
parent 3b026b806e
commit 6f9985a749
1 changed files with 23 additions and 2 deletions

View File

@ -116,6 +116,12 @@ and the results to be collected in the same table.
* Tasks [22/41] * Tasks [22/41]
** TODO add a function to jump to a source-block by name ** TODO add a function to jump to a source-block by name
I've had an initial stab at that in org-babel-find-named-block
(library-of-babel branch).
At the same time I introduced org-babel-named-src-block-regexp, to
match src-blocks with srcname.
** TODO Create objects in top level (global) environment [3/5] ** TODO Create objects in top level (global) environment [3/5]
*sessions* *sessions*
@ -882,11 +888,11 @@ msg + " y python"
one that comes to mind is the ability to treat a source-code block one that comes to mind is the ability to treat a source-code block
like a function which accepts arguments and returns results. Actually like a function which accepts arguments and returns results. Actually
this can be it's own TODO (see [[* source blocks as functions][source blocks as functions]]). this can be it's own TODO (see [[* source blocks as functions][source blocks as functions]]).
*** Objectives *** Objectives [Dan]
- We want to provide convenient off-the-shelf actions - We want to provide convenient off-the-shelf actions
(e.g. plotting data) that make use of our new code evaluation (e.g. plotting data) that make use of our new code evaluation
environment but do not require any actual coding. environment but do not require any actual coding.
*** Design proposal *** Initial Design proposal [Dan]
- *Input data* will be specified using the same mechanism as :var - *Input data* will be specified using the same mechanism as :var
references, thus the input data may come from a table, or references, thus the input data may come from a table, or
another source block, and it is initially available as an elisp another source block, and it is initially available as an elisp
@ -909,6 +915,21 @@ msg + " y python"
be executed with the :data referent passed in using a :var arg. be executed with the :data referent passed in using a :var arg.
- :showcode or something controlling whether to show the code - :showcode or something controlling whether to show the code
*** Modification to design
I'm implementing this, at least initially, as a new interpreter
named 'babel', which has an empty body. 'babel' blocks take
a :srcname header arg, and look for the source-code block with
that name. They then execute the referenced block, after first
appending their own header args on to the target block's header
args.
If the target block is in the library of babel (a.o.t. e.g. the
current buffer), then the code in the block will refer to the
input data with a name dictated by convention (e.g. __data__
(something which is syntactically legal in all languages...). Thus
the babel block will use a :var __data__ = whatever header arg to
reference the data to be plotted.
** TODO share org-babel ** TODO share org-babel
how should we share org-babel? how should we share org-babel?