From 9b58ead4671c556ca4800e0f60d61cfa3ca122ff Mon Sep 17 00:00:00 2001 From: Ihor Radchenko Date: Mon, 17 Jan 2022 20:11:37 +0800 Subject: [PATCH] org-element-context: Use element cache * lisp/org-element.el (org-element-context): Use `org-element-at-point', which makes use of cache. * testing/lisp/test-org-element.el (test-org-element/lineage): Expect full lineage up to org-data from `org-element-context'. --- lisp/org-element.el | 2 +- testing/lisp/test-org-element.el | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lisp/org-element.el b/lisp/org-element.el index a8e42af85..b99b68fe7 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -7751,7 +7751,7 @@ Providing it allows for quicker computation." (catch 'objects-forbidden (org-with-wide-buffer (let* ((pos (point)) - (element (or element (org-element-at-point-no-context))) + (element (or element (org-element-at-point))) (type (org-element-type element)) (post (org-element-property :post-affiliated element))) ;; If point is inside an element containing objects or diff --git a/testing/lisp/test-org-element.el b/testing/lisp/test-org-element.el index a4c94efe2..d650a4d54 100644 --- a/testing/lisp/test-org-element.el +++ b/testing/lisp/test-org-element.el @@ -3866,7 +3866,7 @@ Text ;; `org-element-at-point' or `org-element-context', the list is ;; limited to the current section. (should - (equal '(paragraph center-block section headline) + (equal '(paragraph center-block section headline headline org-data) (org-test-with-temp-text "* H1\n** H2\n#+BEGIN_CENTER\n*bold*\n#+END_CENTER" (mapcar #'car (org-element-lineage (org-element-context)))))) @@ -3891,7 +3891,7 @@ Text (org-element-lineage (org-element-context) '(example-block)))) ;; Test WITH-SELF optional argument. (should - (equal '(bold paragraph center-block section headline) + (equal '(bold paragraph center-block section headline headline org-data) (org-test-with-temp-text "* H1\n** H2\n#+BEGIN_CENTER\n*bold*\n#+END_CENTER" (mapcar #'car (org-element-lineage (org-element-context) nil t)))))