From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martyn Jago Subject: [babel][patch] provide consistent result removal (type `wrap') Date: Tue, 24 Jan 2012 15:53:07 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([140.186.70.92]:54033) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rpigm-0003CF-NV for emacs-orgmode@gnu.org; Tue, 24 Jan 2012 10:53:46 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rpigg-0004ef-OY for emacs-orgmode@gnu.org; Tue, 24 Jan 2012 10:53:40 -0500 Received: from lo.gmane.org ([80.91.229.12]:55422) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rpigg-0004eY-AU for emacs-orgmode@gnu.org; Tue, 24 Jan 2012 10:53:34 -0500 Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1Rpige-00086E-DR for emacs-orgmode@gnu.org; Tue, 24 Jan 2012 16:53:32 +0100 Received: from 88-96-171-142.dsl.zen.co.uk ([88.96.171.142]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 24 Jan 2012 16:53:32 +0100 Received: from martyn.jago by 88-96-171-142.dsl.zen.co.uk with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Tue, 24 Jan 2012 16:53:32 +0100 List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org --=-=-= Content-Type: text/plain 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 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Fix-org-babel-result-end-command-to-provide-consiste.patch Content-Description: provide consistent result removal (type `wrap') >From a4b2f8484ec4810e7a891b4db0caf5463e96a58d Mon Sep 17 00:00:00 2001 From: Martyn Jago Date: Tue, 24 Jan 2012 15:39:30 +0000 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 --=-=-=--