[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/org 20b33106cd 2/2: org-element-headline-parser: Fix em
From: |
ELPA Syncer |
Subject: |
[elpa] externals/org 20b33106cd 2/2: org-element-headline-parser: Fix empty headings with tags |
Date: |
Wed, 22 Mar 2023 11:58:53 -0400 (EDT) |
branch: externals/org
commit 20b33106cdd108fd3212e5fef135a55e25ede4a4
Author: Ihor Radchenko <yantar92@posteo.net>
Commit: Ihor Radchenko <yantar92@posteo.net>
org-element-headline-parser: Fix empty headings with tags
* lisp/org-element.el (org-element-headline-parser): Allow empty title
with tags. Do not consider space after COMMENT to be a part of title.
*
testing/lisp/test-org-element.el (test-org-element/headline-todo-keyword):
Add tests.
Reported-by: Leo Butler <Leo.Butler@umanitoba.ca>
Link: https://orgmode.org/list/87zg8t4zgo.fsf@localhost
---
lisp/org-element.el | 15 ++++++---------
testing/lisp/test-org-element.el | 10 +++++++++-
2 files changed, 15 insertions(+), 10 deletions(-)
diff --git a/lisp/org-element.el b/lisp/org-element.el
index d61a7efb2d..357ad5596f 100644
--- a/lisp/org-element.el
+++ b/lisp/org-element.el
@@ -1114,16 +1114,13 @@ Assume point is at beginning of the headline."
(aref (match-string 0) 2))))
(commentedp
(and (let ((case-fold-search nil))
- (looking-at org-element-comment-string))
- (goto-char (match-end 0))
- (when (looking-at-p "\\(?:[ \t]\\|$\\)")
- (point))))
- (title-start (prog1 (point)
- (unless (or todo priority commentedp)
- ;; Headline like "* :tag:"
- (skip-chars-backward " \t"))))
+ (looking-at (concat org-element-comment-string "\\(?:
\\|$\\)")))
+ (prog1 t
+ (goto-char (match-end 0))
+ (skip-chars-forward " \t"))))
+ (title-start (point))
(tags (when (re-search-forward
- "[ \t]+\\(:[[:alnum:]_@#%:]+:\\)[ \t]*$"
+ "\\(:[[:alnum:]_@#%:]+:\\)[ \t]*$"
(line-end-position)
'move)
(goto-char (match-beginning 0))
diff --git a/testing/lisp/test-org-element.el b/testing/lisp/test-org-element.el
index e2cdadbd1a..6f95b0f0a4 100644
--- a/testing/lisp/test-org-element.el
+++ b/testing/lisp/test-org-element.el
@@ -1209,7 +1209,15 @@ Some other text
(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))))))
+ (should (org-element-property :todo-keyword (org-element-at-point)))))
+ (org-test-with-temp-text "* :tag:"
+ (should (member "tag" (org-element-property :tags
(org-element-at-point)))))
+ (org-test-with-temp-text "* COMMENT"
+ (should (org-element-property :commentedp (org-element-at-point))))
+ (org-test-with-temp-text "* COMMENT title"
+ (should (equal "title" (org-element-property :raw-value
(org-element-at-point)))))
+ (org-test-with-temp-text "* COMMENT:tag:"
+ (should-not (org-element-property :commentedp (org-element-at-point)))))
(ert-deftest test-org-element/headline-comment-keyword ()
"Test COMMENT keyword recognition."