summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Schulte <schulte.eric@gmail.com>2011-01-11 17:47:08 -0700
committerEric Schulte <schulte.eric@gmail.com>2011-01-11 17:51:45 -0700
commitca0e61d7848e7ec1f49f2076e4a120c3e7722147 (patch)
tree0b350ee34fdd3f9948a7302581eec0fb4cfe4577
parentb092d31d68add1b599813fb3cfef7524c41280a7 (diff)
downloadorg-mode-ca0e61d7848e7ec1f49f2076e4a120c3e7722147.tar.gz
doc: improved documentation of optional #+call: line header arguments
* doc/org.texi (Evaluating code blocks): Expanded discussion of #+call: line syntax. (Header arguments in function calls): Expanded discussion of #+call: line syntax.
-rw-r--r--doc/org.texi46
1 files changed, 32 insertions, 14 deletions
diff --git a/doc/org.texi b/doc/org.texi
index 409f94f..4d696ae 100644
--- a/doc/org.texi
+++ b/doc/org.texi
@@ -11376,28 +11376,36 @@ blocks located in the current Org-mode buffer or in the ``Library of Babel''
#+lob: <name>(<arguments>) <header arguments>
@end example
-All variable (@code{:var}) header arguments can be placed in the
-@code{<arguments>} section using normal function call syntax. For example:
-
-@example
-#+source: double
-#+begin_src emacs-lisp :var n=2
- (* n 2)
-#+end_src
-
-#+call: double(n=3)
-@end example
-
@table @code
@item <name>
The name of the code block to be evaluated.
@item <arguments>
-Arguments specified in this section will be passed to the code block.
+Arguments specified in this section will be passed to the code block. These
+arguments should relate to @code{:var} header arguments in the called code
+block expressed using standard function call syntax. For example if the
+original code block named @code{double} has the header argument @code{:var
+n=2}, then the call line passing the number four to that block would be
+written as @code{#+call: double(n=2)}.
@item <header arguments>
Header arguments can be placed after the function invocation. See
@ref{Header arguments} for more information on header arguments.
@end table
+All header arguments placed in the @code{<header arguments>} section
+described above will be applied to the evaluation of the @code{#+call:} line,
+however it is sometimes desirable to specify header arguments to be passed to
+the code block being evaluated.
+
+This is possible through the use of the following optional extended syntax.
+
+@example
+#+call: <name>[<block header arguments>](<arguments>) <header arguments>
+@end example
+
+Any header argument placed between the square brackets in the @code{<block
+header arguments>} section will be applied to the evaluation of the named
+code block. For more examples of passing header arguments to @code{#+call:}
+lines see @ref{Header arguments in function calls}.
@node Library of Babel, Languages, Evaluating code blocks, Working With Source Code
@section Library of Babel
@@ -11656,12 +11664,22 @@ Multi-line header arguments on a named code block:
@subsubheading Header arguments in function calls
At the most specific level, header arguments for ``Library of Babel'' or
-function call lines can be set as shown below:
+function call lines can be set as shown in the two examples below. For more
+information on the structure of @code{#+call:} lines see @ref{Evaluating code
+blocks}.
+The following will apply the @code{:exports results} header argument to the
+evaluation of the @code{#+call:} line.
@example
#+call: factorial(n=5) :exports results
@end example
+The following will apply the @code{:session special} header argument to the
+evaluation of the @code{factorial} code block.
+@example
+#+call: factorial[:session special](n=5)
+@end example
+
@node Specific header arguments, , Using header arguments, Header arguments
@subsection Specific header arguments
The following header arguments are defined: