babel-doc: host of minor aesthetic changes to babel documentation

also stripped out superfluous function documentation.
This commit is contained in:
Eric Schulte 2010-06-09 20:52:09 -07:00
parent 8d2e2caa37
commit b89ce3712e
1 changed files with 112 additions and 258 deletions

View File

@ -8547,9 +8547,9 @@ be used to fontify the example:
@example @example
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(defun org-xor (a b) (defun org-xor (a b)
"Exclusive or." "Exclusive or."
(if a (not b) b)) (if a (not b) b))
#+END_SRC #+END_SRC
@end example @end example
@ -9425,9 +9425,9 @@ respectively. For example
@example @example
#+BEGIN_EXAMPLE -t -w 40 #+BEGIN_EXAMPLE -t -w 40
(defun org-xor (a b) (defun org-xor (a b)
"Exclusive or." "Exclusive or."
(if a (not b) b)) (if a (not b) b))
#+END_EXAMPLE #+END_EXAMPLE
@end example @end example
@ -10854,9 +10854,9 @@ e.g.
@example @example
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
(defun org-xor (a b) (defun org-xor (a b)
"Exclusive or." "Exclusive or."
(if a (not b) b)) (if a (not b) b))
#+END_SRC #+END_SRC
@end example @end example
@ -10867,25 +10867,25 @@ their results to a number of formats. The following sections provide a
thorough tour of Org-mode's sophisticated code block handling facilities. thorough tour of Org-mode's sophisticated code block handling facilities.
@menu @menu
* Structure of Code Blocks:: * Structure of code blocks::
* Editing Source Code:: * Editing source code::
* Exporting Code Blocks:: * Exporting code blocks::
* Extracting Source Code:: * Extracting source code::
* Evaluating Code Blocks:: * Evaluating code blocks::
* Library of Babel:: * Library of Babel::
* Languages:: * Languages::
* Header Arguments:: * Header arguments::
* Results:: * Results::
* Noweb Reference Syntax:: * Noweb reference syntax::
* Key Bindings & Useful Functions:: * Key bindings & useful functions::
* Batch Execution:: * Batch execution::
@end menu @end menu
@node Structure of Code Blocks, Editing Source Code, Working With Source Code, Working With Source Code @node Structure of code blocks, Editing source code, Working With Source Code, Working With Source Code
@comment node-name, next, previous, up @comment node-name, next, previous, up
@comment Structure of Code Blocks, Editing Source Code, Working With Source Code, Working With Source Code @comment Structure of code blocks, Editing source code, Working With Source Code, Working With Source Code
@section Structure of Code Blocks @section Structure of code blocks
The structure of code blocks is as follows: The structure of code blocks is as follows:
@ -10910,17 +10910,17 @@ Switches controling exportation of the code block (see switches discussion in
@ref{Literal examples}) @ref{Literal examples})
@item <header arguments> @item <header arguments>
Optional header arguments control many aspects of evaluation, export and Optional header arguments control many aspects of evaluation, export and
tangling of source code blocks. See the @ref{Header Arguments} tangling of source code blocks. See the @ref{Header arguments}
section. Header arguments can also be set on a per-buffer or per-subtree section. Header arguments can also be set on a per-buffer or per-subtree
basis using properties. basis using properties.
@item <body> @item <body>
The code The code
@end table @end table
@node Editing Source Code, Exporting Code Blocks, Structure of Code Blocks, Working With Source Code @node Editing source code, Exporting code blocks, Structure of code blocks, Working With Source Code
@comment node-name, next, previous, up @comment node-name, next, previous, up
@comment Editing Source Code, Exporting Code Blocks, Structure of Code Blocks, Working With Source Code @comment Editing source code, Exporting code blocks, Structure of code blocks, Working With Source Code
@section Editing Source Code @section Editing source code
Use @kbd{C-c '} to edit the current code block. This brings up a language Use @kbd{C-c '} to edit the current code block. This brings up a language
major-mode edit buffer containing the body of the code block. Saving this major-mode edit buffer containing the body of the code block. Saving this
@ -10948,10 +10948,10 @@ By default, Org will ask before returning to an open edit buffer. Set
to a non-nil value to switch without asking. to a non-nil value to switch without asking.
@end table @end table
@node Exporting Code Blocks, Extracting Source Code, Editing Source Code, Working With Source Code @node Exporting code blocks, Extracting source code, Editing source code, Working With Source Code
@comment node-name, next, previous, up @comment node-name, next, previous, up
@comment Exporting Code Blocks, Extracting Source Code, Editing Source Code, Working With Source Code @comment Exporting code blocks, Extracting source code, Editing source code, Working With Source Code
@section Exporting Code Blocks @section Exporting code blocks
It is possible to export the @emph{contents} of code blocks, the It is possible to export the @emph{contents} of code blocks, the
@emph{results} of code block evaluation, or @emph{neither} or @emph{both}. @emph{results} of code block evaluation, or @emph{neither} or @emph{both}.
@ -10982,16 +10982,16 @@ exported as well.
No part of the code block or it's results will be exported. No part of the code block or it's results will be exported.
@end table @end table
@node Extracting Source Code, Evaluating Code Blocks, Exporting Code Blocks, Working With Source Code @node Extracting source code, Evaluating code blocks, Exporting code blocks, Working With Source Code
@comment node-name, next, previous, up @comment node-name, next, previous, up
@comment Extracting Source Code, Evaluating Code Blocks, Exporting Code Blocks, Working With Source Code @comment Extracting source code, Evaluating code blocks, Exporting code blocks, Working With Source Code
@section Extracting Source Code @section Extracting source code
Creating pure source code files by extracting code from source blocks is Creating pure source code files by extracting code from source blocks is
referred to as ``tangling'' -- a term adopted from the literate programming referred to as ``tangling'' -- a term adopted from the literate programming
community. During ``tangling'' of code blocks their bodies are expanded community. During ``tangling'' of code blocks their bodies are expanded
using @code{org-babel-expand-src-block} which can expand both variable and using @code{org-babel-expand-src-block} which can expand both variable and
``noweb'' (see @ref{Noweb Reference Syntax}) style references. ``noweb'' (see @ref{Noweb reference syntax}) style references.
@subsubheading header arguments: @subsubheading header arguments:
@table @code @table @code
@ -11013,15 +11013,15 @@ Tangle the current file
Choose a file to tangle Choose a file to tangle
@end table @end table
@node Evaluating Code Blocks, Library of Babel, Extracting Source Code, Working With Source Code @node Evaluating code blocks, Library of Babel, Extracting source code, Working With Source Code
@comment node-name, next, previous, up @comment node-name, next, previous, up
@comment Evaluating Code Blocks, , Extracting Source Code, Working With Source Code @comment Evaluating code blocks, , Extracting source code, Working With Source Code
@section Evaluating Code Blocks @section Evaluating code blocks
Blocks of code can be evaluated and the results incorporated into the Blocks of code can be evaluated and the results incorporated into the
org-mode buffer. Check the value of the @code{org-babel-interpreters} for a org-mode buffer. Check the value of the @code{org-babel-interpreters} for a
list of evaluable languages on your system, also see @ref{Languages} for a list of evaluable languages on your system, also see @ref{Languages} for a
list of supported languages. See @ref{Structure of Code Blocks} for list of supported languages. See @ref{Structure of code blocks} for
information on the syntax used to define a code block. information on the syntax used to define a code block.
There are a number of ways of evaluating code blocks. The simplest is to There are a number of ways of evaluating code blocks. The simplest is to
@ -11046,11 +11046,11 @@ This name is associated with the source code block to be evaluated.
Arguments specified in this section will be passed to the code block. Arguments specified in this section will be passed to the code block.
@item <header arguments> @item <header arguments>
Header arguments can be placed after the function invocation. See Header arguments can be placed after the function invocation. See
@ref{Header Arguments} for more information on header arguments. @ref{Header arguments} for more information on header arguments.
@end table @end table
@node Library of Babel, Languages, Evaluating Code Blocks, Working With Source Code @node Library of Babel, Languages, Evaluating code blocks, Working With Source Code
@section Library of Babel @section Library of Babel
The ``Library of Babel'' is two things. First it is a library of code blocks The ``Library of Babel'' is two things. First it is a library of code blocks
which can be called from any Org-mode file, and second it is an actual which can be called from any Org-mode file, and second it is an actual
@ -11059,14 +11059,14 @@ Org-mode users may deposit functions which they believe to be generally
useful. useful.
Code blocks defined in the``Library of Babel'' can be called remotely as if Code blocks defined in the``Library of Babel'' can be called remotely as if
they were in the current Org-mode buffer (see @ref{Evaluating Code Blocks} they were in the current Org-mode buffer (see @ref{Evaluating code blocks}
for information on the syntax of remote code block evaluation). for information on the syntax of remote code block evaluation).
Code blocks located in any Org-mode file can be loaded into the ``Library of Code blocks located in any Org-mode file can be loaded into the ``Library of
Babel'' with the @code{org-babel-lob-ingest} function, bound to @key{C-c C-v Babel'' with the @code{org-babel-lob-ingest} function, bound to @key{C-c C-v
l}. l}.
@node Languages, Header Arguments, Library of Babel, Working With Source Code @node Languages, Header arguments, Library of Babel, Working With Source Code
@section Languages @section Languages
Org-babel provides support for the following languages. See the language Org-babel provides support for the following languages. See the language
specific documentation and an up to date list of languages is available at specific documentation and an up to date list of languages is available at
@ -11168,20 +11168,20 @@ of the language names from the above table).
@end example @end example
@node Header Arguments, Results, Languages, Working With Source Code @node Header arguments, Results, Languages, Working With Source Code
@section Header Arguments @section Header arguments
Most code block functionality is configurable using header arguments. This Most code block functionality is configurable using header arguments. This
section provides an overview of the use of header arguments, and then section provides an overview of the use of header arguments, and then
exhaustively covers all header arguments. exhaustively covers all header arguments.
@menu @menu
* Using Header Arguments:: * Using Header arguments::
* Specific Header Arguments:: * Specific Header arguments::
@end menu @end menu
@node Using Header Arguments, Specific Header Arguments, , Header Arguments @node Using Header arguments, Specific Header arguments, , Header arguments
@subsection Using Header Arguments @subsection Using Header arguments
The values of header arguments can be set in five different ways, each more The values of header arguments can be set in five different ways, each more
specific (and having higher priority) than the last. specific (and having higher priority) than the last.
@ -11193,7 +11193,7 @@ specific (and having higher priority) than the last.
* Source Code Block specific header arguments:: * Source Code Block specific header arguments::
@end menu @end menu
@node System-wide header arguments, Language Specific header arguments, , Using Header Arguments @node System-wide header arguments, Language Specific header arguments, , Using Header arguments
@subsubheading System-wide header arguments @subsubheading System-wide header arguments
System-wide values of header arguments can be specified by customizing the System-wide values of header arguments can be specified by customizing the
@code{org-babel-default-header-args} variable: @code{org-babel-default-header-args} variable:
@ -11223,18 +11223,18 @@ blocks.
(assq-delete-all :noweb org-babel-default-header-args))) (assq-delete-all :noweb org-babel-default-header-args)))
@end example @end example
@node Language Specific header arguments, Buffer Wide header arguments, System-wide header arguments, Using Header Arguments @node Language Specific header arguments, Buffer Wide header arguments, System-wide header arguments, Using Header arguments
@subsubheading Language Specific header arguments @subsubheading Language Specific header arguments
Each language can define it's own set of default header arguments. See the Each language can define it's own set of default header arguments. See the
language-specific documentation available at language-specific documentation available at
@uref{http://orgmode.org/worg/org-contrib/babel/reference.php#languages}. @uref{http://orgmode.org/worg/org-contrib/babel/reference.php#languages}.
for information on language-specific header arguments. for information on language-specific header arguments.
@node Buffer Wide header arguments, header arguments in Org-mode Properties, Language Specific header arguments, Using Header Arguments @node Buffer Wide header arguments, header arguments in Org-mode Properties, Language Specific header arguments, Using Header arguments
@subsubheading Buffer Wide header arguments @subsubheading Buffer Wide header arguments
FIXME FIXME
@node header arguments in Org-mode Properties, Source Code Block specific header arguments, Buffer Wide header arguments, Using Header Arguments @node header arguments in Org-mode Properties, Source Code Block specific header arguments, Buffer Wide header arguments, Using Header arguments
@subsubheading header arguments in Org-mode Properties @subsubheading header arguments in Org-mode Properties
Header arguments are also read from Org-mode properties (see @ref{Property Header arguments are also read from Org-mode properties (see @ref{Property
@ -11262,7 +11262,7 @@ Properties defined in this way override the properties set in
@code{org-set-property} function bound to @key{C-c C-x p} to set properties @code{org-set-property} function bound to @key{C-c C-x p} to set properties
in Org-mode documents. in Org-mode documents.
@node Source Code Block specific header arguments, , header arguments in Org-mode Properties, Using Header Arguments @node Source Code Block specific header arguments, , header arguments in Org-mode Properties, Using Header arguments
@subsubheading Source Code Block specific header arguments @subsubheading Source Code Block specific header arguments
The most common way to assign values to header arguments is at the source The most common way to assign values to header arguments is at the source
@ -11297,8 +11297,8 @@ and for ``Library of Babel'' or function call lines as shown below.
#+call: factorial(n=5) :exports results #+call: factorial(n=5) :exports results
@end example @end example
@node Specific Header Arguments, , Using Header Arguments, Header Arguments @node Specific Header arguments, , Using Header arguments, Header arguments
@subsection Specific Header Arguments @subsection Specific Header arguments
Description of every standard (non language-specific) Org-babel header Description of every standard (non language-specific) Org-babel header
argument. argument.
@ -11314,7 +11314,7 @@ argument.
* cache:: * cache::
@end menu @end menu
@node var, results, , Specific Header Arguments @node var, results, , Specific Header arguments
@subsubsection var @subsubsection var
The @code{:var} header argument is used to pass arguments to The @code{:var} header argument is used to pass arguments to
source code blocks. The specifics of how arguments are included source code blocks. The specifics of how arguments are included
@ -11453,7 +11453,7 @@ Note: In Emacs, the documentation for any function or variable can be read
using the @code{describe-function} (M-x describe function) and using the @code{describe-function} (M-x describe function) and
@code{describe-variable} (M-x describe variable) functions, respectively. @code{describe-variable} (M-x describe variable) functions, respectively.
@node results, file, var, Specific Header Arguments @node results, file, var, Specific Header arguments
@subsubsection results @subsubsection results
There are three types of results header argument: There are three types of results header argument:
@ -11549,7 +11549,7 @@ be prepended to the existing results. Otherwise the new results will be
inserted as with @code{replace}. inserted as with @code{replace}.
@end itemize @end itemize
@node file, dir and remote execution, results, Specific Header Arguments @node file, dir and remote execution, results, Specific Header arguments
@subsubsection file @subsubsection file
@code{:file} is used to specify a path for file output in which case an @code{:file} is used to specify a path for file output in which case an
Org-mode style link (see @ref{Link format}) @code{file:} link is inserted Org-mode style link (see @ref{Link format}) @code{file:} link is inserted
@ -11566,7 +11566,7 @@ corresponding to the path indicated by @code{:file}.
While the @code{:file} header argument can be used to specify the path to the While the @code{:file} header argument can be used to specify the path to the
output file, output file,
@node dir and remote execution, exports, file, Specific Header Arguments @node dir and remote execution, exports, file, Specific Header arguments
@subsubsection dir and remote execution @subsubsection dir and remote execution
@code{:dir} specifies the /default directory/ during code block execution. If @code{:dir} specifies the /default directory/ during code block execution. If
it is absent, then the directory associated with the current buffer is it is absent, then the directory associated with the current buffer is
@ -11632,7 +11632,7 @@ it probable that the file will be created in a location to which the link
does not point. does not point.
@end itemize @end itemize
@node exports, tangle, dir and remote execution, Specific Header Arguments @node exports, tangle, dir and remote execution, Specific Header arguments
@subsubsection exports @subsubsection exports
Specify what should be included in HTML or LaTeX exports of the Org-mode Specify what should be included in HTML or LaTeX exports of the Org-mode
file. file.
@ -11651,7 +11651,7 @@ both the code and results are included in the exported file. E.g.,
nothing is included in the exported file. E.g., @code{:exports none}. nothing is included in the exported file. E.g., @code{:exports none}.
@end itemize @end itemize
@node tangle, session, exports, Specific Header Arguments @node tangle, session, exports, Specific Header arguments
@subsubsection tangle @subsubsection tangle
Specify whether or not the source code block should be included in tangled Specify whether or not the source code block should be included in tangled
extraction of source code files. extraction of source code files.
@ -11670,7 +11670,7 @@ as a file basename to which the block will be exported. E.g., @code{:tangle
basename}. basename}.
@end itemize @end itemize
@node session, noweb, tangle, Specific Header Arguments @node session, noweb, tangle, Specific Header arguments
@subsubsection session @subsubsection session
Start a session for an interpreted language where state is preserved. This Start a session for an interpreted language where state is preserved. This
applies particularly to the supported languages python, R and ruby. applies particularly to the supported languages python, R and ruby.
@ -11681,9 +11681,9 @@ A string passed to the @code{:session} header argument will give the session
a name. This makes it possible to run concurrent sessions for each a name. This makes it possible to run concurrent sessions for each
interpreted language. interpreted language.
@node noweb, cache, session, Specific Header Arguments @node noweb, cache, session, Specific Header arguments
@subsubsection noweb @subsubsection noweb
Controls the expansion of ``noweb'' style (see @ref{Noweb Reference Syntax}) Controls the expansion of ``noweb'' style (see @ref{Noweb reference syntax})
references in a source code block. This header argument can have one of two references in a source code block. This header argument can have one of two
values: @code{yes} or @code{no}. values: @code{yes} or @code{no}.
@ -11722,7 +11722,7 @@ Note that noweb replacement text that does not contain any newlines will not
be affected by this change, so it is still possible to use inline noweb be affected by this change, so it is still possible to use inline noweb
references. references.
@node cache, , noweb, Specific Header Arguments @node cache, , noweb, Specific Header arguments
@subsubsection cache @subsubsection cache
Controls the use of in-buffer caching of source code block results to avoid Controls the use of in-buffer caching of source code block results to avoid
re-running unchanged source code blocks. This header argument can have one re-running unchanged source code blocks. This header argument can have one
@ -11740,7 +11740,7 @@ executions of the source code block. If the source code block has not
changed since the last time it was evaluated, it will not be re-evaluated. changed since the last time it was evaluated, it will not be re-evaluated.
@end itemize @end itemize
@node Results, Noweb Reference Syntax, Header Arguments, Working With Source Code @node Results, Noweb reference syntax, Header arguments, Working With Source Code
@section Results @section Results
The way in which results are handled depends on whether a session is invoked, The way in which results are handled depends on whether a session is invoked,
as well as on whether @code{:results value} or @code{:results output} is as well as on whether @code{:results value} or @code{:results output} is
@ -11820,8 +11820,8 @@ But in @code{:session} mode, the interactive interpreter receives input '2'
and prints out its value, '2'. (Indeed, the other print statements are and prints out its value, '2'. (Indeed, the other print statements are
unnecessary here). unnecessary here).
@node Noweb Reference Syntax, Key Bindings & Useful Functions, Results, Working With Source Code @node Noweb reference syntax, Key bindings & useful functions, Results, Working With Source Code
@section Noweb Reference Syntax @section Noweb reference syntax
The ``noweb'' (see @uref{http://www.cs.tufts.edu/~nr/noweb/}) Literate The ``noweb'' (see @uref{http://www.cs.tufts.edu/~nr/noweb/}) Literate
Programming system allows named blocks of code to be referenced by using the Programming system allows named blocks of code to be referenced by using the
familiar Noweb syntax: familiar Noweb syntax:
@ -11842,8 +11842,8 @@ Org-babel does not break correct code in a language, such as Ruby, where
syntactically valid in languages that you use, then please consider setting syntactically valid in languages that you use, then please consider setting
the default value. the default value.
@node Key Bindings & Useful Functions, Batch Execution, Noweb Reference Syntax, Working With Source Code @node Key bindings & useful functions, Batch execution, Noweb reference syntax, Working With Source Code
@section Key Bindings & Useful Functions @section Key bindings & useful functions
Org-babel re-binds many common Org-mode key sequences depending on Org-babel re-binds many common Org-mode key sequences depending on
the context. Within a source-code block the following sequences the context. Within a source-code block the following sequences
@ -11852,213 +11852,67 @@ are rebound:
@multitable @columnfractions 0.25 0.75 @multitable @columnfractions 0.25 0.75
@item @key{C-c C-c} @tab org-babel-execute-src-block @item @key{C-c C-c} @tab org-babel-execute-src-block
@item @key{C-c C-o} @tab org-babel-open-src-block-result @item @key{C-c C-o} @tab org-babel-open-src-block-result
@item @key{C-up} @tab org-babel-load-in-session @item @key{C-up} @tab org-babel-load-in-session
@item @key{M-down} @tab org-babel-pop-to-session @item @key{M-down} @tab org-babel-pop-to-session
@end multitable @end multitable
Org-babel also exposes a number of functions behind the common
=org-babel-key-prefix= of =C-c C-v=:
@example
#+begin_src emacs-lisp :exports none
(lambda (binding
(list (format "\\C-c \\M-b %s"
(car binding))
(format "[[function-%s][%s]]"
(cdr binding) (cdr binding))))
org-babel-key-bindings)
#+end_src
@end example
@multitable @columnfractions 0.25 0.75 @multitable @columnfractions 0.25 0.75
@item @key{C-c C-v t} @tab org-babel-tangle @item @key{C-c C-v a} @tab org-babel-sha1-hash
@item @key{C-c C-v T} @tab org-babel-tangle-file
@item @key{C-c C-v e} @tab org-babel-execute-src-block
@item @key{C-c C-v s} @tab org-babel-execute-subtree
@item @key{C-c C-v b} @tab org-babel-execute-buffer @item @key{C-c C-v b} @tab org-babel-execute-buffer
@item @key{C-c C-v h} @tab org-babel-sha1-hash @item @key{C-c C-v f} @tab org-babel-tangle-file
@item @key{C-c C-v g} @tab org-babel-goto-named-source-block @item @key{C-c C-v g} @tab org-babel-goto-named-source-block
@item @key{C-c C-v h} @tab org-babel-describe-bindings
@item @key{C-c C-v l} @tab org-babel-lob-ingest @item @key{C-c C-v l} @tab org-babel-lob-ingest
@item @key{C-c C-v p} @tab org-babel-expand-src-block
@item @key{C-c C-v s} @tab org-babel-execute-subtree
@item @key{C-c C-v t} @tab org-babel-tangle
@item @key{C-c C-v z} @tab org-babel-switch-to-session
@end multitable @end multitable
@subsection Functions When possible these keybindings were extended to work when the control key is
@itemize @bullet kept pressed, resulting in the following additional keybindings.
@item org-babel-execute-src-block
@example @multitable @columnfractions 0.25 0.75
org-babel-execute-src-block is an interactive Lisp function in @item @key{C-c C-v C-a} @tab org-babel-sha1-hash
`org-babel.el'. @item @key{C-c C-v C-b} @tab org-babel-execute-buffer
@item @key{C-c C-v C-f} @tab org-babel-tangle-file
@item @key{C-c C-v C-l} @tab org-babel-lob-ingest
@item @key{C-c C-v C-p} @tab org-babel-expand-src-block
@item @key{C-c C-v C-s} @tab org-babel-execute-subtree
@item @key{C-c C-v C-t} @tab org-babel-tangle
@item @key{C-c C-v C-z} @tab org-babel-switch-to-session
@end multitable
(org-babel-execute-src-block &optional ARG INFO PARAMS) @node Batch execution, , Key bindings & useful functions, Working With Source Code
@section Batch execution
Evaluate the current source code block, and insert the results
into the buffer. Source code execution and the collection and
formatting of results can be controlled through a variety of
header arguments.
Optionally supply a value for INFO in the form returned by
`org-babel-get-src-block-info'.
Optionally supply a value for PARAMS which will be merged with
the header arguments specified at the front of the source code
block.
@end example
@item org-babel-open-src-block-result
@example
org-babel-open-src-block-result is an interactive Lisp function in
`org-babel.el'.
(org-babel-open-src-block-result &optional RE-RUN)
If `point' is on a src block then open the results of the
source code block, otherwise return nil. With optional prefix
argument RE-RUN the source-code block is evaluated even if
results already exist.
@end example
@item org-babel-load-in-session
@example
org-babel-load-in-session is an interactive Lisp function in
`org-babel.el'.
(org-babel-load-in-session &optional ARG INFO)
Load the body of the current source-code block. Evaluate the
header arguments for the source block before entering the
session. After loading the body this pops open the session.
[back]
@end example
@item org-babel-pop-to-session
@example
org-babel-pop-to-session is an interactive Lisp function in
`org-babel.el'.
(org-babel-pop-to-session &optional ARG INFO)
Pop to the session of the current source-code block. If
called with a prefix argument then evaluate the header arguments
for the source block before entering the session. Copy the body
of the source block to the kill ring.
[back]
@end example
@item org-babel-tangle
@example
org-babel-tangle is an interactive Lisp function in
`org-babel-tangle.el'.
It is bound to C-c C-v t.
(org-babel-tangle &optional TARGET-FILE LANG)
Extract the bodies of all source code blocks from the current
file into their own source-specific files. Optional argument
TARGET-FILE can be used to specify a default export file for all
source blocks. Optional argument LANG can be used to limit the
exported source code blocks by language.
@end example
@item org-babel-execute-subtree
@example
org-babel-execute-subtree is an interactive Lisp function in
`org-babel.el'.
It is bound to C-c C-v s.
(org-babel-execute-subtree &optional ARG)
Replace EVAL snippets in the entire subtree.
@end example
@item org-babel-execute-buffer
@example
org-babel-execute-buffer is an interactive Lisp function in
`org-babel.el'.
It is bound to C-c C-v b.
(org-babel-execute-buffer &optional ARG)
Replace EVAL snippets in the entire buffer.
@end example
@item org-babel-sha1-hash
@example
org-babel-sha1-hash is an interactive Lisp function in `org-babel.el'.
It is bound to C-c C-v h.
(org-babel-sha1-hash &optional INFO)
Not documented.
@end example
@item org-babel-goto-named-source-block
@example
org-babel-goto-named-source-block is an interactive Lisp function in
`org-babel.el'.
It is bound to C-c C-v g.
(org-babel-goto-named-source-block &optional NAME)
Go to a named source-code block.
@end example
@item org-babel-lob-ingest
@example
org-babel-lob-ingest is an interactive Lisp function in
`org-babel-lob.el'.
It is bound to C-c C-v l.
(org-babel-lob-ingest &optional FILE)
Add all source-blocks defined in FILE to `org-babel-library-of-babel'.
@end example
@end itemize
@node Batch Execution, , Key Bindings & Useful Functions, Working With Source Code
@section Batch Execution
It is possible to call Org-babel functions from the command line. This shell It is possible to call Org-babel functions from the command line. This shell
script calls @code{org-babel-tangle} on every one of its arguments. script calls @code{org-babel-tangle} on every one of its arguments.
Be sure to adjust the paths to fit your system. Be sure to adjust the paths to fit your system.
@example @example
#!/bin/sh #!/bin/sh
# -*- mode: shell-script -*- # -*- mode: shell-script -*-
# #
# tangle a file with org-babel # tangle a file with org-babel
# #
DIR=`pwd` DIR=`pwd`
FILES="" FILES=""
# wrap each argument in the code required to call tangle on it # wrap each argument in the code required to call tangle on it
for i in $@@; do for i in $@@; do
FILES="$FILES \"$i\"" FILES="$FILES \"$i\""
done done
emacsclient \ emacsclient \
--eval "(progn --eval "(progn
(add-to-list 'load-path (expand-file-name \"~/src/org/lisp/\")) (add-to-list 'load-path (expand-file-name \"~/src/org/lisp/\"))
(add-to-list 'load-path (expand-file-name \"~/src/org/contrib/lisp/\")) (add-to-list 'load-path (expand-file-name \"~/src/org/contrib/lisp/\"))
(require 'org)(require 'org-exp)(require 'org-babel) (require 'org)(require 'org-exp)(require 'org-babel)
(mapc (lambda (file) (mapc (lambda (file)
(find-file (expand-file-name file \"$DIR\")) (find-file (expand-file-name file \"$DIR\"))
(org-babel-tangle) (org-babel-tangle)
(kill-buffer)) '($FILES)))" (kill-buffer)) '($FILES)))"
@end example @end example
@node Miscellaneous, Hacking, Working With Source Code, Top @node Miscellaneous, Hacking, Working With Source Code, Top