diff options
author | Bjarte Johansen <bjarte.johansen@gmail.com> | 2015-05-24 13:42:20 +0200 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2015-05-26 10:19:42 +0200 |
commit | b6934e3471b93e4da10ae381745091017046995a (patch) | |
tree | a0fdc0ffe82fc9c1fdf79f3a9e8e7668872b0f20 | |
parent | 0fa37f5ff0810a1a3935dfbdd002a2a5f1188548 (diff) | |
download | org-mode-b6934e3471b93e4da10ae381745091017046995a.tar.gz |
ob-core: Fix indented cached result returning nil
Fix a problem where a source block would return nil oif the result was
cached and it was indented.
* lisp/ob-core.el (org-babel-execute-src-block): Move point to the the
first character of the result instead of the beginning of the line.
* testing/lisp/test-ob.el
(test-org-babel/indented-cached-org-bracket-link): Added test to
to see if the indented cached result returns what it should return.
-rw-r--r-- | lisp/ob-core.el | 3 | ||||
-rw-r--r-- | testing/lisp/test-ob.el | 16 |
2 files changed, 18 insertions, 1 deletions
diff --git a/lisp/ob-core.el b/lisp/ob-core.el index d25bb7c..f4a8345 100644 --- a/lisp/ob-core.el +++ b/lisp/ob-core.el @@ -653,7 +653,8 @@ block." (cache-current-p (save-excursion ;; return cached result (goto-char (org-babel-where-is-src-block-result nil info)) - (end-of-line 1) (forward-char 1) + (forward-line) + (skip-chars-forward " \t") (let ((result (org-babel-read-result))) (message (replace-regexp-in-string "%" "%%" (format "%S" result))) result))) diff --git a/testing/lisp/test-ob.el b/testing/lisp/test-ob.el index f52ff24..83b4d00 100644 --- a/testing/lisp/test-ob.el +++ b/testing/lisp/test-ob.el @@ -20,6 +20,22 @@ ;;; Code: +(ert-deftest test-org-babel/indented-cached-org-bracket-link () + "When the result of a source block is a cached indented link it +should still return the link." + (should + (let ((default-directory temporary-file-directory)) + (org-test-with-temp-text + " +* Test + #+<point>BEGIN_SRC emacs-lisp :file test.txt :cache yes + (message \"test\") + #+END_SRC" + ;; Execute twice as the first time creates the cache. + (org-babel-execute-src-block) + (string= (concat default-directory "test.txt") + (org-babel-execute-src-block)))))) + (ert-deftest test-org-babel/multi-line-header-regexp () (should(equal "^[ \t]*#\\+headers?:[ \t]*\\([^\n]*\\)$" org-babel-multi-line-header-regexp)) |