org.el (org-at-TBLFM-p): Add functon

* org.el (org-at-TBLFM-p): New defun.
(org-TBLFM-regexp): New defconst.

* testing/lisp/test-org-table.el: Add test.
This commit is contained in:
Ippei FURUHASHI 2013-04-02 18:05:46 +09:00 committed by Bastien Guerry
parent 92af40344e
commit a268e33ef0
2 changed files with 31 additions and 0 deletions

View File

@ -4222,6 +4222,9 @@ This works for both table types.")
(org-autoload "org-table"
'(org-table-begin org-table-blank-field org-table-end)))
(defconst org-TBLFM-regexp "^[ \t]*#\\+TBLFM: "
"Detect a #+TBLFM line.")
;;;###autoload
(defun turn-on-orgtbl ()
"Unconditionally turn on `orgtbl-mode'."
@ -4316,6 +4319,15 @@ If TABLE-TYPE is non-nil, also check for table.el-type tables."
(declare-function org-clock-update-mode-line "org-clock" ())
(declare-function org-resolve-clocks "org-clock"
(&optional also-non-dangling-p prompt last-valid))
(defun org-at-TBLFM-p (&optional pos)
"Return t when point (or POS) is in #+TBLFM line."
(save-excursion
(let ((pos pos)))
(goto-char (or pos (point)))
(beginning-of-line 1)
(looking-at org-TBLFM-regexp)))
(defvar org-clock-start-time)
(defvar org-clock-marker (make-marker)
"Marker recording the last clock-in.")

View File

@ -749,6 +749,25 @@ reference (with row). Format specifier N."
;; "Remote reference."
;; (should
;; (string= "$3 = remote(FOO, @@#$2)" (org-table-convert-refs-to-rc "C& = remote(FOO, @@#B&)"))))
(ert-deftest test-org-table/org-at-TBLFM-p ()
(org-test-with-temp-text-in-file
"
| 1 |
| 2 |
#+TBLFM: $2=$1*2
"
(goto-char (point-min))
(forward-line 2)
(should (equal (org-at-TBLFM-p) nil))
(goto-char (point-min))
(forward-line 3)
(should (equal (org-at-TBLFM-p) t))
(goto-char (point-min))
(forward-line 4)
(should (equal (org-at-TBLFM-p) nil))))
(provide 'test-org-table)