Browse Source

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.
Martyn Jago 7 years ago
parent
commit
c82ca2f19a
2 changed files with 16 additions and 15 deletions
  1. 2 1
      lisp/ob.el
  2. 14 14
      testing/lisp/test-ob.el

+ 2 - 1
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]+\\)"))

+ 14 - 14
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."