diff --git a/lisp/org-element.el b/lisp/org-element.el index 7ccdb103d..d61a7efb2 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -1103,7 +1103,7 @@ Assume point is at beginning of the headline." (skip-chars-forward " \t"))) (level (org-reduced-level true-level)) (todo (and org-todo-regexp - (let (case-fold-search) (looking-at (concat 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 1)))) diff --git a/testing/lisp/test-org-element.el b/testing/lisp/test-org-element.el index 304059c67..e2cdadbd1 100644 --- a/testing/lisp/test-org-element.el +++ b/testing/lisp/test-org-element.el @@ -1206,7 +1206,10 @@ Some other text ;; 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)))))) + (should-not (org-element-property :todo-keyword (org-element-at-point))))) + (org-test-with-temp-text "* TODO" + (let ((org-todo-keywords '((sequence "TODO" "DONE")))) + (should (org-element-property :todo-keyword (org-element-at-point)))))) (ert-deftest test-org-element/headline-comment-keyword () "Test COMMENT keyword recognition."