* ob-octave.el (org-babel-execute:octave): Use generic
expansion function
(org-babel-variable-assignments:octave): Change name of
function
(org-babel-variable-assignments:matlab): New defalias
(org-babel-prep-session:octave): Change name of function
(org-babel-expand-body:matlab): Delete function
(org-babel-expand-body:octave): Delete function
* ob-ocaml.el (org-babel-execute:ocaml): Use generic expansion
function
(org-babel-variable-assignments:ocaml): New function
(org-babel-expand-body:ocaml): Delete function
* ob-js.el (org-babel-execute:js): Use new variable assignment
function
(org-babel-expand-body:js): Delete function
(org-babel-prep-session:js): Use new variable assignment
function
(org-babel-variable-assignments:js): New function
* ob-haskell.el (org-babel-execute:haskell): Use generic
expansion function
(org-babel-expand-body:haskell): Delete function
(org-babel-prep-session:haskell): Use variable assignment function
(org-babel-variable-assignments:haskell): New function
* ob-gnuplot.el (org-babel-expand-body:gnuplot): Use variable
assignment function
(org-babel-prep-session:gnuplot): Use variable assignment
function
(org-babel-variable-assignments:gnuplot): New function
* ob-asymptote.el (org-babel-execute:asymptote): Use generic
expansion function
(org-babel-expand-body:asymptote): Delete function
(org-babel-variable-assignments:asymptote): New function
* ob-R.el (org-babel-expand-body:R): Use new function
`org-babel-variable-assignments:R'; don't trim body.
(org-babel-execute:R): Respond to changes in
`org-babel-expand-body:R'
(org-babel-prep-session:R): Called function is now named
`org-babel-variable-assignments:R'
(org-babel-variable-assignments:R): Receives processed-params
as new optional argument
* ob.el (org-babel-expand-src-block): Supply variable
assignment lines to generic expansion function
(org-babel-expand-body:generic): Prepend body with optional
variable assignment lines
* lisp/ob-exp.el (org-babel-exp-results): replaced old function call
* lisp/ob-lob.el (org-babel-lob-execute): replaced old function call
* lisp/ob-ref.el (org-babel-ref-parse): removed obsolete optional
params argument, also no longer chokes when handed an
already-resolved reference
(org-babel-ref-resolve): removed obsolete optional params argument
* lisp/ob.el (org-babel-ref-parse): updated function declaration
(org-babel-get-src-block-info): replaced old function call
(org-babel-header-arg-names): indentation
(org-babel-execute-src-block): now expanding all parameters using
the newly combined org-babel-process-params
(org-babel-switch-to-session-with-code): indentation
(org-mode-hook): indentation
(org-babel-process-params): now packages all results into the
parameter alist and does variable expansion, this should no longer
be called from inside of language functions
(org-babel-expand-noweb-references): updated function call for newly
removed obsolete function parameter
* lisp/ob-lob.el (org-babel-lob-execute): now expanding variable
references before execution
* lisp/ob.el (org-babel-merge-params): better indentation, and finally
sorted out the proper replacement of conflicting variable
definitions
* lisp/ob-clojure.el (org-babel-prep-session:clojure): purging all
calls to removed org-babel-ref-variables
* lisp/ob-gnuplot.el (org-babel-gnuplot-process-vars): purging all
calls to removed org-babel-ref-variables
* lisp/ob-ruby.el (org-babel-prep-session:ruby): purging all calls to
removed org-babel-ref-variables
* lisp/ob-scheme.el (org-babel-prep-session:scheme): purging all calls
to removed org-babel-ref-variables
* lisp/ob-sqlite.el (org-babel-expand-body:sqlite): purging all calls
to removed org-babel-ref-variables
(org-babel-execute:sqlite): purging all calls to removed
org-babel-ref-variables
ob-get-src-block-info wasn't correctly returning the name of the
code block
* lisp/ob-lob.el (org-babel-lob-ingest): now returns the count of
ingested code blocks
* lisp/ob.el (org-babel-get-src-block-info): walks up possible
additional header arg lines before checking for the code block name
(org-babel-merge-params): can now handle empty variables gracefully
includes a simple export test
* lisp/ob-exp.el (org-babel-exp-in-export-file): wrapper for
collecting information from within the original export file
(org-babel-exp-src-blocks): simplified through use of the above
macro
(org-babel-exp-code): simplified through the use of new functions
for parsing header arguments
(org-babel-exp-results): simpler high-level organization, also this
is now where the expansion of variable references takes place during
export
* lisp/ob.el (org-babel-expand-variables): broke variable replacement
in a parameter list into it's own function
(org-babel-get-src-block-info): now using the above function
for example, from the test of this functionality
* multi-line header arguments
:PROPERTIES:
:ID: b77c8857-6c76-4ea9-8a61-ddc2648d96c4
:END:
(map 'list #'list numbers letters)
| 1 | a |
| 2 | b |
| 3 | c |
| 4 | d |
| 5 | e |
| 6 | f |
| 7 | g |
* lisp/ob.el (org-babel-multi-line-header-regexp): new variable for
matching header lines preceding code blocks
(org-babel-src-name-w-name-regexp): now includes possible header
lines between source name and code block
(org-babel-get-src-block-info): now also collecting header arguments
from preceding header lines
(org-babel-src-block-names): updated match-string to reflect new
value of org-babel-src-name-w-name-regexp
(org-babel-merge-params): fixed error in variable string regexp
* ob-octave.el (org-babel-expand-body:octave): Refactor: break variable
assignment part out into a separate function
(org-babel-octave-variable-assignments): New function constructing
list of variable assignment statements
(org-babel-prep-session:octave): Use new function
`org-babel-octave-variable-assignments' instead of previous
(incorrect) variable assignment code.
* ob-sh.el (org-babel-expand-body:sh): Refactor: break variable
assignment part out into a separate function
(org-babel-sh-variable-assignments): New function constructing
list of variable assignment statements
(org-babel-prep-session:sh): Use new function
`org-babel-sh-variable-assignments' instead of previous
(incorrect) variable assignment code.
* ob-python.el (org-babel-expand-body:python): Refactor: break variable
assignment part out into a separate function
(org-babel-python-variable-assignments): New function constructing
list of variable assignment statements
(org-babel-prep-session:python): Use new function
`org-babel-python-variable-assignments' instead of previous
(incorrect) variable assignment code.
* ob-R.el (org-babel-expand-body:R): Refactor: break variable
assignment part out into a separate function
(org-babel-R-variable-assignments): New function constructing
list of variable assignment statements
(org-babel-prep-session:R): Use new function
`org-babel-R-variable-assignments' instead of previous
(incorrect) variable assignment code.
* ob.el (org-babel-mark-block): New function to mark the body
of a src block in the style of `mark-defun'.
* ob-keys.el (org-babel-key-bindings): Bind
`org-babel-mark-block' to C-c C-v C-M-h
* lisp/org-compat.el (org-number-sequence): New function.
* lisp/ob-R.el (org-babel-expand-body:R): Use `org-number-sequence'.
* lisp/ob.el (org-babel-where-is-src-block-result): Use `org-number-sequence'.
(org-babel-current-buffer-properties): Fix variable definition.
* lisp/ob-ref.el (org-babel-ref-index-list): Use `org-number-sequence'.
* lisp/ob-latex.el (org-babel-latex-tex-to-pdf): Use the 2-argument version
of `shell-command'.
* lisp/org-latex.el (org-export-as-pdf): Use the 2-argument version
of `shell-command'.