org-element: Parse malformed clock lines as paragraphs

* lisp/org-element.el (org-element-clock-line-re): Update the regexp
matching the actual required clock line structure.
(org-element--set-regexps): Use `org-element-clock-line-re'.

Link: https://orgmode.org/list/87h7571bpb.fsf@localhost
This commit is contained in:
Ihor Radchenko 2022-10-05 12:50:05 +08:00
parent 1f8cc85542
commit e305755b1a
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
1 changed files with 10 additions and 2 deletions

View File

@ -126,7 +126,15 @@ Key is located in match group 1.")
Style, if any, is located in match group 1.")
(defconst org-element-clock-line-re
(rx line-start (0+ (or ?\t ?\s)) "CLOCK:")
(rx line-start (0+ (or ?\t ?\s))
"CLOCK: "
(regexp org-ts-regexp-inactive)
(opt "--"
(regexp org-ts-regexp-inactive)
(1+ (or ?\t ?\s)) "=>" (1+ (or ?\t ?\s))
(1+ digit) ":" digit digit)
(0+ (or ?\t ?\s))
line-end)
"Regexp matching a clock line.")
(defconst org-element-comment-string "COMMENT"
@ -219,7 +227,7 @@ specially in `org-element--object-lex'.")
;; LaTeX environments.
"\\\\begin{\\([A-Za-z0-9*]+\\)}" "\\|"
;; Clock lines.
"CLOCK:" "\\|"
org-element-clock-line-re "\\|"
;; Lists.
(let ((term (pcase org-plain-list-ordered-item-terminator
(?\) ")") (?. "\\.") (_ "[.)]")))