From 2dfdafd35afac6cdd8bdb6abd8a0bb05896345d2 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Mon, 29 Aug 2016 00:29:37 +0200 Subject: [PATCH] org-table: Fix column formulas * lisp/org-table.el (org-table-recalculate): Fix column formulas in tables consisting of a single row group. Reported-by: Michael Welle --- lisp/org-table.el | 4 ++-- testing/lisp/test-org-table.el | 27 +++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/lisp/org-table.el b/lisp/org-table.el index c57eb5d33..5a2e31ea7 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -3199,8 +3199,8 @@ existing formula for column %s" (re-search-forward org-table-hline-regexp end t) (re-search-forward org-table-dataline-regexp end t)) (setq beg (match-beginning 0))) - ;; Just leave BEG where it is. - (t (setq beg (line-beginning-position))))) + ;; Just leave BEG at the start of the table. + (t nil))) (setq beg (line-beginning-position) end (copy-marker (line-beginning-position 2)))) (goto-char beg) diff --git a/testing/lisp/test-org-table.el b/testing/lisp/test-org-table.el index efa88fd2d..89912af6b 100644 --- a/testing/lisp/test-org-table.el +++ b/testing/lisp/test-org-table.el @@ -1909,6 +1909,33 @@ is t, then new columns should be added as needed" (org-table-calc-current-TBLFM) (buffer-string))))) +(ert-deftest test-org-table/single-rowgroup () + "Test column formula in a table with a single rowgroup." + (should + (equal + " +|---+---| +| 1 | 0 | +|---+---| +#+TBLFM: $2=$1-1" + (org-test-with-temp-text " +|---+---| +| 1 | | +|---+---| +#+TBLFM: $2=$1-1" + (org-table-calc-current-TBLFM) + (buffer-string)))) + (should + (equal + " +| 1 | 0 | +#+TBLFM: $2=$1-1" + (org-test-with-temp-text " +| 1 | | +#+TBLFM: $2=$1-1" + (org-table-calc-current-TBLFM) + (buffer-string))))) + (provide 'test-org-table)