diff --git a/lisp/org-element.el b/lisp/org-element.el index d8e3564c7..6488a99ad 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -706,7 +706,7 @@ Assume point is at beginning of the headline." (and todo (if (member todo org-done-keywords) 'done 'todo))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) - (raw-value (nth 4 components)) + (raw-value (or (nth 4 components) "")) (quotedp (let ((case-fold-search nil)) (string-match (format "^%s +" org-quote-string) raw-value))) @@ -849,8 +849,9 @@ CONTENTS is the contents of the element." Return a list whose CAR is `inlinetask' and CDR is a plist containing `:title', `:begin', `:end', `:hiddenp', `:contents-begin' and `:contents-end', `:level', `:priority', -`:tags', `:todo-keyword', `:todo-type', `:scheduled', -`:deadline', `:timestamp', `:clock' and `:post-blank' keywords. +`:raw-value', `:tags', `:todo-keyword', `:todo-type', +`:scheduled', `:deadline', `:timestamp', `:clock' and +`:post-blank' keywords. The plist also contains any property set in the property drawer, with its name in lowercase, the underscores replaced with hyphens @@ -870,6 +871,7 @@ Assume point is at beginning of the inline task." (if (member todo org-done-keywords) 'done 'todo))) (tags (let ((raw-tags (nth 5 components))) (and raw-tags (org-split-string raw-tags ":")))) + (raw-value (or (nth 4 components) "")) ;; Normalize property names: ":SOME_PROP:" becomes ;; ":some-prop". (standard-props (let (plist) @@ -906,7 +908,8 @@ Assume point is at beginning of the inline task." (inlinetask (list 'inlinetask (nconc - (list :begin begin + (list :raw-value raw-value + :begin begin :end end :hiddenp hidden :contents-begin contents-begin @@ -925,9 +928,9 @@ Assume point is at beginning of the inline task." (cadr keywords))))) (org-element-put-property inlinetask :title - (if raw-secondary-p (nth 4 components) + (if raw-secondary-p raw-value (org-element-parse-secondary-string - (nth 4 components) + raw-value (org-element-restriction 'inlinetask) inlinetask)))))) diff --git a/lisp/org.el b/lisp/org.el index fef7597b0..4d0cd9a33 100644 --- a/lisp/org.el +++ b/lisp/org.el @@ -4824,7 +4824,7 @@ but the stars and the body are.") (concat "^\\(\\*+\\)" "\\(?: +" org-todo-regexp "\\)?" "\\(?: +\\(\\[#.\\]\\)\\)?" - "\\(?: +\\(.*?\\)\\)?" + "\\(?: +\\(.*?\\)\\)??" (org-re "\\(?:[ \t]+\\(:[[:alnum:]_@#%:]+:\\)\\)?") "[ \t]*$") org-complex-heading-regexp-format @@ -4842,7 +4842,7 @@ but the stars and the body are.") org-todo-line-tags-regexp (concat "^\\(\\*+\\)" "\\(?: +" org-todo-regexp "\\)?" - "\\(?: +\\(.*?\\)\\)?" + "\\(?: +\\(.*?\\)\\)??" (org-re "\\(?:[ \t]+\\(:[[:alnum:]:_@#%]+:\\)\\)?") "[ \t]*$") org-deadline-regexp (concat "\\<" org-deadline-string)