From d62e605ea127c18795e918b077da9155af31cacd Mon Sep 17 00:00:00 2001 From: stardiviner Date: Thu, 12 Apr 2018 09:54:23 +0800 Subject: [PATCH 2/2] ob-core.el: add document and test for "graphics" :results format. * doc/org-manual.org: add document. * lisp/ob-core.el (org-babel-common-header-args-w-values): add symbol "graphics". * testing/lisp/test-ob.el (test-ob/result-graphics-link-type-header-argument): add test for graphics result format. --- doc/org-manual.org | 14 ++++++++++++++ lisp/ob-core.el | 2 +- testing/lisp/test-ob.el | 16 ++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/doc/org-manual.org b/doc/org-manual.org index afd968a38..a2ad8df43 100644 --- a/doc/org-manual.org +++ b/doc/org-manual.org @@ -17236,6 +17236,20 @@ follows from the type specified above. wget -c "http://example.com/download.tar.gz" #+end_src +- =graphics= :: + + #+cindex: @samp{graphics}, header argument + It is technically same with =link= result type. This will be useful + for generating Org inline image for src blocks. Like following + example: + + #+begin_src R :results graphics :file "graphics-result.png" + plot(seq(1,10)) + #+end_src + + #+RESULTS: + [[file:graphics-result.png]] + *** Handling :PROPERTIES: :UNNUMBERED: notoc diff --git a/lisp/ob-core.el b/lisp/ob-core.el index 2b72d7b32..1580795db 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -414,7 +414,7 @@ then run `org-babel-switch-to-session'." (post . :any) (prologue . :any) (results . ((file list vector table scalar verbatim) - (raw html latex org code pp drawer link) + (raw html latex org code pp drawer link graphics) (replace silent none append prepend) (output value))) (rownames . ((no yes))) diff --git a/testing/lisp/test-ob.el b/testing/lisp/test-ob.el index e541ad726..3b7958552 100644 --- a/testing/lisp/test-ob.el +++ b/testing/lisp/test-ob.el @@ -1012,6 +1012,22 @@ echo \"test\" "hello\n" (buffer-substring-no-properties (point-min) (point-max))))))) +(ert-deftest test-ob/result-graphics-link-type-header-argument () + "Ensure that the result is a link to an image. +The file is just a link to :file value. Inhibit non-empty result write to :file." +(org-test-with-temp-text "#+begin_src shell :results value graphics :file \"/tmp/test.txt\" +echo \"hello\" > /tmp/test.txt +echo \"test\" +#+end_src" + (org-babel-execute-src-block) + (goto-char (point-min)) + (should (search-forward "[[file:/tmp/test.txt]]" nil nil)) + (should (with-temp-buffer + (insert-file-contents "/tmp/test.txt") + (string= + "hello\n" + (buffer-substring-no-properties (point-min) (point-max))))))) + (ert-deftest test-ob/inline-src_blk-preceded-punct-preceded-by-point () (let ((test-line ".src_emacs-lisp[ :results verbatim ]{ \"x\" }") (org-babel-inline-result-wrap "=%s=")) -- 2.17.0