* lisp/ob-R.el (org-babel-execute:R): Collect and pass along the
result-params.
(org-babel-R-evaluate): Accept result-params and if "scalar" or
"verbatim" don't process output.
(org-babel-R-evaluate-session): Accept result-params and if "scalar"
or "verbatim" don't process output.
Also remove blank lines before the ";;; org*el ends here" declarations.
Having a "Version" header forced us to update every file when releasing a
new version of Org; it also forced us to update every file when merging Org
with Emacs trunk, thus cluttering the diffs between the previously merged
version and the new one with useless information.
Glenn Morris suggested this in emacs-devel:
http://lists.gnu.org/archive/html/emacs-devel/2011-08/msg00322.html
* lisp/ob-R.el (ess-local-process-name): This variable wasn't known to
be defined.
* lisp/ob-lisp.el (org-babel-lisp-dir-fmt): This defcustom now has a
group specified.
* lisp/ob-tangle.el (org-bracket-link-regexp): This variable wasn't
known to be defined.
(org-babel-tangle-combine-named-blocks): Roll my own version of a
forbidden common lisp function.
* lisp/ob.el (org-babel-sha1-hash): Using a non-deprecated version of
called-interactively.
Slight modification of patch by Christophe Rhodes
* lisp/ob-R.el (org-babel-R-write-object-command): Ensure that all
data is written to the results file before Emacs notices that the file
exists.
* lisp/ob-R.el (org-babel-edit-prep:R): Associate the appropriate R
process with the edit buffer when :session is specified.
* lisp/org-src.el (org-edit-src-code): Allow language-specific
edit-buffer preparation by calling the org-babel-edit-prep:lang
function when it is defined.
* lisp/ob-R.el (org-babel-R-write-object-command): Force evaluation of
user code prior to the R exception-handling, so that errors in user
code are unhandled.
":results graphics" is now required in addition to ":file filename" in
order for graphical output to be sent automatically to file. If :file
is supplied, but not ":results graphics", then the default behavior
obtains: i.e., either "value" or "output" results are written to file,
depending on which of those options is in effect.
* lisp/ob-R.el (org-babel-R-graphical-output-file): New function
returns the name of the output file iff R has been instructed to send
graphical output to file by means of the ":results graphics"
directive.
(org-babel-expand-body:R): Use `org-babel-R-graphical-output-file'
when constructing the R code to evaluate, which may be augmented with
code implementing the writing of graohical output to file.
(org-babel-execute:R): Use `org-babel-R-graphical-output-file' to
determine whether R is taking responsibility for writing output to
file; if so, this is signalled to ob.el by returning a nil result.
* lisp/ob-C.el (org-babel-C-execute): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-R.el (org-babel-execute:R): removing call to
org-babel-process-params which should no longer be called from
within a language file
(org-babel-R-variable-assignments): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-asymptote.el (org-babel-execute:asymptote): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-clojure.el (org-babel-execute:clojure): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-dot.el (org-babel-execute:dot): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-emacs-lisp.el (org-babel-expand-body:emacs-lisp): removing
call to org-babel-process-params which should no longer be called
from within a language file
(org-babel-execute:emacs-lisp): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-haskell.el (org-babel-execute:haskell): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-js.el (org-babel-execute:js): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-lisp.el (org-babel-execute:lisp): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-ocaml.el (org-babel-execute:ocaml): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-octave.el (org-babel-execute:octave): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-perl.el (org-babel-execute:perl): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-python.el (org-babel-execute:python): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-ruby.el (org-babel-execute:ruby): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-scheme.el (org-babel-execute:scheme): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-screen.el (org-babel-execute:screen): removing call to
org-babel-process-params which should no longer be called from
within a language file
(org-babel-prep-session:screen): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-sh.el (org-babel-execute:sh): removing call to
org-babel-process-params which should no longer be called from
within a language file
* lisp/ob-sql.el (org-babel-execute:sql): removing call to
org-babel-process-params which should no longer be called from
within a language file
* ob-haskell.el (org-babel-execute:haskell): Remove reference
to processed params
* ob-clojure.el (org-babel-execute:clojure): Remove reference
to processed params
* ob-R.el (org-babel-execute:R): Remove reference to processed
params
* 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-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.
* 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'.
* ob.el (org-babel-process-file-name): New function
(org-babel-maybe-remote-file): Delete function
* ob-sql.el (org-babel-execute:sql):
Use org-babel-process-file-name
* ob-scheme.el (org-babel-execute:scheme):
Use org-babel-process-file-name
* ob-sass.el (org-babel-execute:sass):
Use org-babel-process-file-name
* ob-ruby.el (org-babel-ruby-evaluate):
Use org-babel-process-file-name
* ob-python.el (org-babel-python-evaluate-external-process):
Use org-babel-process-file-name
(org-babel-python-evaluate-session):
Use org-babel-process-file-name
* ob-plantuml.el (org-babel-execute:plantuml):
Use org-babel-process-file-name
* ob-perl.el (org-babel-perl-evaluate):
Use org-babel-process-file-name
* ob-octave.el (org-babel-octave-evaluate-external-process):
Use org-babel-process-file-name
(org-babel-octave-evaluate-session):
Use org-babel-process-file-name,
don't use org-babel-maybe-remote-file
* ob-lisp.el (org-babel-execute:lisp):
Use org-babel-process-file-name
* ob-ledger.el (org-babel-execute:ledger):
Use org-babel-process-file-name
* ob-js.el (org-babel-execute:js):
Use org-babel-process-file-name
* ob-haskell.el (org-babel-haskell-export-to-lhs):
Use org-babel-process-file-name
* ob-gnuplot.el (org-babel-execute:gnuplot):
Use org-babel-process-file-name
* ob-eval.el (org-babel-eval-read-file): Don't use
org-babel-maybe-remote-file
* ob-dot.el (org-babel-execute:dot):
Use org-babel-process-file-name
* ob-ditaa.el (org-babel-execute:ditaa):
Use org-babel-process-file-name
* ob-clojure.el (org-babel-clojure-evaluate-external-process):
Use org-babel-process-file-name
* ob-asymptote.el (org-babel-execute:asymptote):
Use org-babel-process-file-name
* ob-R.el (org-babel-R-assign-elisp): Don't use
org-babel-maybe-remote-file, use org-babel-process-file-name
(org-babel-R-evaluate-external-process):
Use org-babel-process-file-name
(org-babel-R-evaluate-session):
Use org-babel-process-file-name
* ob-C.el (org-babel-C-execute):
Use org-babel-process-file-name
In addition to passing the file path through `expand-file-name',
tramp-style remote file names are converted to conventional (local)
file paths. The reason is that, if a tramp file name was in use in
emacs, then the shell command will be executing on the remote machine
in question. Further, by default the file name is passed through
`shell-quote-argument'.
* ob.el (org-babel-temp-file): Don't use babel temporary
directory in remote case; use make-temp-file with remote file
name so that temp file is guaranteed not to exist previously
on remote machine.
(org-babel-tramp-localname): New function to return local name
portion of possibly remote file specification
* ob-R.el (org-babel-R-evaluate-external-process): Respond to
changes in `org-babel-temp-file'; pass local file name to
remote R process.
(org-babel-R-evaluate-session) Respond to
changes in `org-babel-temp-file'; pass local file name to
remote R process.
* ob-R.el (org-babel-R-write-object-command): New unified R
command for writing results to file
(org-babel-R-wrapper-method): Remove variable
(org-babel-R-wrapper-lastvar): Remove variable
(org-babel-R-evaluate-external-process): Use new R command
(org-babel-R-evaluate-session): Use new R command