[O] [babel][patch] provide consistent result removal (type `wrap')
Patch to fix `org-babel-result-end' command to provide consistent result removal where result is type `wrap'. Prior to this fix multiple (org-ctrl-c-ctrl-c) commands will add multiple newlines to the end of results (one newline per block execution). This patch also fixes the test `test-ob/org-babel-remove-result--results-wrap' which is uncommented in the patch. Best, Martyn From a4b2f8484ec4810e7a891b4db0caf5463e96a58d Mon Sep 17 00:00:00 2001 From: Martyn Jago martyn.j...@btinternet.com Date: Tue, 24 Jan 2012 15:39:30 + Subject: [PATCH] Fix `org-babel-result-end' command to provide consistent result removal where result is type `wrap'. * lisp/ob.el: Fix `org-babel-result-end' command to provide consistent result removal where result is type `wrap'. Prior to this fix multiple (org-ctrl-c-ctrl-c) commands will add multiple newlines to the end of results (one newline per block execution). This fixes the test `test-ob/org-babel-remove-result--results-wrap' * testing/lisp/test-ob.el: Uncomment test since it now passes. --- lisp/ob.el |3 ++- testing/lisp/test-ob.el | 28 ++-- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/lisp/ob.el b/lisp/ob.el index e8a6d88..895a5b6 100644 --- a/lisp/ob.el +++ b/lisp/ob.el @@ -1920,7 +1920,8 @@ code the results are extracted in the syntax of the source (prvs (org-list-prevs-alist struct))) (org-list-get-list-end (point-at-bol) struct prvs))) ((looking-at ^\\([ \t]*\\):RESULTS:) - (re-search-forward (concat ^ (match-string 1) :END:))) + (progn (re-search-forward (concat ^ (match-string 1) :END:)) + (forward-char 1)) (t (let ((case-fold-search t)) (if (looking-at (concat [ \t]*#\\+begin_\\([^ \t\n\r]+\\))) diff --git a/testing/lisp/test-ob.el b/testing/lisp/test-ob.el index 178556e..7dccd22 100644 --- a/testing/lisp/test-ob.el +++ b/testing/lisp/test-ob.el @@ -771,20 +771,20 @@ replacement happens correctly. * next heading)) -;; TODO FIXME Activate when Eric's trailing newline fix has been committed -;; (ert-deftest test-ob/org-babel-remove-result--results-wrap () -;; (test-ob-verify-result-and-removed-result -;;:RESULTS: -;; hello there -;; :END: -;; -;; * org-babel-remove-result -;; -;; +begin_src emacs-lisp :results wrap -;; \hello there\ -;; #+end_src -;; -;; * next heading)) +(ert-deftest test-ob/org-babel-remove-result--results-wrap () + Test `org-babel-remove-result' with :results wrap. + (test-ob-verify-result-and-removed-result + :RESULTS: +hello there +:END: + + * org-babel-remove-result + +#+begin_src emacs-lisp :results wrap +\hello there\ +#+end_src + +* next heading)) (ert-deftest test-ob/org-babel-remove-result--results-org () Test `org-babel-remove-result' with :results org. -- 1.7.3.4
Re: [O] [babel][patch] provide consistent result removal (type `wrap')
[...] Oops - patch provided at start of this thread is malformed and should be ignored. The correct patch is provided below for consideration. Apologies for the noise. Best, Martyn Martyn Jago martyn.j...@btinternet.com writes: Patch to fix `org-babel-result-end' command to provide consistent result removal where result is type `wrap'From 7b6f37164848931321c0f25d567cf65df2e5a4af Mon Sep 17 00:00:00 2001 From: Martyn Jago martyn.j...@btinternet.com Date: Tue, 24 Jan 2012 16:12:29 + Subject: [PATCH] Fix `org-babel-result-end' command to provide consistent result removal where result is type `wrap'. * lisp/ob.el: Fix `org-babel-result-end' command to provide consistent result removal where result is type `wrap'. Prior to this fix multiple (org-ctrl-c-ctrl-c) commands will add multiple newlines to the end of results (one newline per block execution). This fixes the test `test-ob/org-babel-remove-result--results-wrap' * testing/lisp/test-ob.el: Uncomment test since it now passes. --- lisp/ob.el |3 ++- testing/lisp/test-ob.el | 28 ++-- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/lisp/ob.el b/lisp/ob.el index e8a6d88..4541226 100644 --- a/lisp/ob.el +++ b/lisp/ob.el @@ -1920,7 +1920,8 @@ code the results are extracted in the syntax of the source (prvs (org-list-prevs-alist struct))) (org-list-get-list-end (point-at-bol) struct prvs))) ((looking-at ^\\([ \t]*\\):RESULTS:) - (re-search-forward (concat ^ (match-string 1) :END:))) + (progn (re-search-forward (concat ^ (match-string 1) :END:)) + (forward-char 1) (point))) (t (let ((case-fold-search t)) (if (looking-at (concat [ \t]*#\\+begin_\\([^ \t\n\r]+\\))) diff --git a/testing/lisp/test-ob.el b/testing/lisp/test-ob.el index 178556e..7dccd22 100644 --- a/testing/lisp/test-ob.el +++ b/testing/lisp/test-ob.el @@ -771,20 +771,20 @@ replacement happens correctly. * next heading)) -;; TODO FIXME Activate when Eric's trailing newline fix has been committed -;; (ert-deftest test-ob/org-babel-remove-result--results-wrap () -;; (test-ob-verify-result-and-removed-result -;;:RESULTS: -;; hello there -;; :END: -;; -;; * org-babel-remove-result -;; -;; +begin_src emacs-lisp :results wrap -;; \hello there\ -;; #+end_src -;; -;; * next heading)) +(ert-deftest test-ob/org-babel-remove-result--results-wrap () + Test `org-babel-remove-result' with :results wrap. + (test-ob-verify-result-and-removed-result + :RESULTS: +hello there +:END: + + * org-babel-remove-result + +#+begin_src emacs-lisp :results wrap +\hello there\ +#+end_src + +* next heading)) (ert-deftest test-ob/org-babel-remove-result--results-org () Test `org-babel-remove-result' with :results org. -- 1.7.3.4 .
Re: [O] [babel][patch] provide consistent result removal (type `wrap')
Martyn Jago martyn.j...@btinternet.com writes: Patch to fix `org-babel-result-end' command to provide consistent result removal where result is type `wrap'. Prior to this fix multiple (org-ctrl-c-ctrl-c) commands will add multiple newlines to the end of results (one newline per block execution). This patch also fixes the test `test-ob/org-babel-remove-result--results-wrap' which is uncommented in the patch. Best, Martyn Hi Martyn, Thanks for the patch I tried to apply it and it generated a syntax error (missing paren). I then re-placed the missing paren (at least where I thought it would be) and re-ran the test suite to many new failures. Could you resubmit? Thanks, -- Eric Schulte http://cs.unm.edu/~eschulte/
Re: [O] [babel][patch] provide consistent result removal (type `wrap')
Applied, Thanks, Martyn Jago martyn.j...@btinternet.com writes: [...] Oops - patch provided at start of this thread is malformed and should be ignored. The correct patch is provided below for consideration. Apologies for the noise. Best, Martyn Martyn Jago martyn.j...@btinternet.com writes: Patch to fix `org-babel-result-end' command to provide consistent result removal where result is type `wrap' . -- Eric Schulte http://cs.unm.edu/~eschulte/