Pārlūkot izejas kodu

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'.
Ihor Radchenko 3 gadi atpakaļ
vecāks
revīzija
9b58ead467
2 mainītis faili ar 3 papildinājumiem un 3 dzēšanām
  1. 1 1
      lisp/org-element.el
  2. 2 2
      testing/lisp/test-org-element.el

+ 1 - 1
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

+ 2 - 2
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<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)))))