mirror of
https://git.savannah.gnu.org/git/emacs/org-mode.git
synced 2024-07-17 00:46:25 +00:00
Reorganising R evaluation code.
With this change we avoid messing about extracting the output from the comint buffer in the :results value case (the value has already been written to file).
This commit is contained in:
parent
162b522728
commit
2b66de1c1b
|
@ -122,26 +122,26 @@ last statement in BODY, as elisp."
|
||||||
(full-body (mapconcat #'org-babel-chomp
|
(full-body (mapconcat #'org-babel-chomp
|
||||||
(list body last-value-eval org-babel-R-eoe-indicator) "\n"))
|
(list body last-value-eval org-babel-R-eoe-indicator) "\n"))
|
||||||
(raw (org-babel-comint-with-output buffer org-babel-R-eoe-output nil
|
(raw (org-babel-comint-with-output buffer org-babel-R-eoe-output nil
|
||||||
(insert full-body) (inferior-ess-send-input)))
|
(insert full-body) (inferior-ess-send-input))) broke results)
|
||||||
(results
|
|
||||||
(let ((broke nil))
|
|
||||||
(delete
|
|
||||||
nil
|
|
||||||
(mapcar (lambda (el)
|
|
||||||
(if (or broke
|
|
||||||
(and (string-match (regexp-quote org-babel-R-eoe-output)
|
|
||||||
el) (setq broke t)))
|
|
||||||
nil
|
|
||||||
(if (= (length el) 0)
|
|
||||||
nil
|
|
||||||
(if (string-match comint-prompt-regexp el)
|
|
||||||
(substring el (match-end 0))
|
|
||||||
el))))
|
|
||||||
(mapcar #'org-babel-trim raw))))))
|
|
||||||
(case result-type
|
(case result-type
|
||||||
(output (org-babel-chomp (mapconcat #'identity results "\n")))
|
|
||||||
(value (org-babel-R-process-value-result
|
(value (org-babel-R-process-value-result
|
||||||
(org-babel-import-elisp-from-file tmp-file) column-names-p)))))))
|
(org-babel-import-elisp-from-file tmp-file) column-names-p))
|
||||||
|
(output
|
||||||
|
(setq broke nil results
|
||||||
|
(delete
|
||||||
|
nil
|
||||||
|
(mapcar (lambda (el)
|
||||||
|
(if (or broke
|
||||||
|
(and (string-match (regexp-quote org-babel-R-eoe-output) el)
|
||||||
|
(setq broke t)))
|
||||||
|
nil
|
||||||
|
(if (= (length el) 0)
|
||||||
|
nil
|
||||||
|
(if (string-match comint-prompt-regexp el)
|
||||||
|
(substring el (match-end 0))
|
||||||
|
el))))
|
||||||
|
(mapcar #'org-babel-chomp raw))))
|
||||||
|
(mapconcat #'identity results "\n")))))))
|
||||||
|
|
||||||
(defun org-babel-R-process-value-result (result column-names-p)
|
(defun org-babel-R-process-value-result (result column-names-p)
|
||||||
"R-specific processing of return value prior to return to org-babel.
|
"R-specific processing of return value prior to return to org-babel.
|
||||||
|
|
Loading…
Reference in a new issue