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'.
This commit is contained in:
Ihor Radchenko 2022-01-17 20:11:37 +08:00
parent f41ba23689
commit 9b58ead467
No known key found for this signature in database
GPG Key ID: 6470762A7DA11D8B
2 changed files with 3 additions and 3 deletions

View File

@ -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

View File

@ -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<point>*\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<point>*\n#+END_CENTER"
(mapcar #'car (org-element-lineage (org-element-context) nil t)))))