[O] [babel][patch] provide consistent result removal (type `wrap')

2012-01-24 Thread Martyn Jago

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')

2012-01-24 Thread Martyn Jago
[...]


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')

2012-01-24 Thread Eric Schulte
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')

2012-01-24 Thread Eric Schulte
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/