diff --git a/bundle/bundle--org.el b/bundle/bundle--org.el index fd88c571..b25cf2f4 100644 --- a/bundle/bundle--org.el +++ b/bundle/bundle--org.el @@ -543,10 +543,10 @@ (let ((result-buffer (generate-new-buffer "*Extracted Headlines*"))) (with-current-buffer result-buffer (org-mode) - (insert "* Extracted Headlines by Tag: " tag " *\n\n")) - (goto-char (point-min)) - (while (re-search-forward (format "^\\*+\\s-+\\(.*?\\)\\s-+:.*?%s.*?:\\(.*?\n\n\\)" tag) nil t) - (let ((headline (match-string 1))) - (with-current-buffer result-buffer - (insert headline "\n")))) + (insert "* Extracted Headlines by Tag: " tag " *\n")) + (org-element-map (org-element-parse-buffer) 'headline + (lambda (headline) + (when (member tag (org-element-property :tags headline)) + (with-current-buffer result-buffer + (insert (org-element-interpret-data headline) "\n"))))) (pop-to-buffer result-buffer))))