diff options
author | Marco Wahl <marcowahlsoft@gmail.com> | 2018-06-06 15:41:50 +0200 |
---|---|---|
committer | Marco Wahl <marcowahlsoft@gmail.com> | 2018-06-06 15:58:20 +0200 |
commit | 2b76aebfc638b430e769d6250f9e15f20e2e5694 (patch) | |
tree | 2cb6b2f2dccf8ea88efd3b42a0694cf5dffae89b | |
parent | 8fbdf0ce1a84d6c66688530e05ab1fe2047c5e42 (diff) | |
download | org-mode-2b76aebfc638b430e769d6250f9e15f20e2e5694.tar.gz |
org-element: Fix interpretation as todo kwd when prefix of headline
* lisp/org-element.el (org-element-headline-parser): Check for space
after todo-kwd.
* testing/lisp/test-org-element.el (test-org-element/headline-todo-keyword):
Respective tests.
-rw-r--r-- | lisp/org-element.el | 4 | ||||
-rw-r--r-- | testing/lisp/test-org-element.el | 11 |
2 files changed, 13 insertions, 2 deletions
diff --git a/lisp/org-element.el b/lisp/org-element.el index d9c6522..f4452ea 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -931,10 +931,10 @@ Assume point is at beginning of the headline." (level (prog1 (org-reduced-level (skip-chars-forward "*")) (skip-chars-forward " \t"))) (todo (and org-todo-regexp - (let (case-fold-search) (looking-at org-todo-regexp)) + (let (case-fold-search) (looking-at (concat org-todo-regexp " "))) (progn (goto-char (match-end 0)) (skip-chars-forward " \t") - (match-string 0)))) + (match-string 1)))) (todo-type (and todo (if (member todo org-done-keywords) 'done 'todo))) (priority (and (looking-at "\\[#.\\][ \t]*") diff --git a/testing/lisp/test-org-element.el b/testing/lisp/test-org-element.el index 5dc455d..2425586 100644 --- a/testing/lisp/test-org-element.el +++ b/testing/lisp/test-org-element.el @@ -1014,6 +1014,17 @@ Some other text ;;;; Headline +(ert-deftest test-org-element/headline-todo-keyword () + "Test todo keyword recognition." + ;; Reference test. + (org-test-with-temp-text "* TODO Headline" + (let ((org-todo-keywords '((sequence "TODO" "DONE")))) + (should (org-element-property :todo-keyword (org-element-at-point))))) + ;; Todo keyword is prefix of headlines first word. + (org-test-with-temp-text "* TODOHeadline" + (let ((org-todo-keywords '((sequence "TODO" "DONE")))) + (should-not (org-element-property :todo-keyword (org-element-at-point)))))) + (ert-deftest test-org-element/headline-comment-keyword () "Test COMMENT keyword recognition." ;; Reference test. |