branch: externals/org
commit dce8b3f254e174b9b79858d70858056c248fb6a3
Merge: 507cf71 13c78a5
Author: Nicolas Goaziou <[email protected]>
Commit: Nicolas Goaziou <[email protected]>
Merge branch 'maint'
---
lisp/org-footnote.el | 4 ++++
testing/lisp/test-org-footnote.el | 19 +++++++++++++++++++
2 files changed, 23 insertions(+)
diff --git a/lisp/org-footnote.el b/lisp/org-footnote.el
index f59b861..729a4a9 100644
--- a/lisp/org-footnote.el
+++ b/lisp/org-footnote.el
@@ -288,6 +288,10 @@ otherwise."
((= (point) (org-element-property :begin context)))
;; Within recursive object too, but not in a link.
((eq type 'link) nil)
+ ((eq type 'table-cell)
+ ;; :contents-begin is not reliable on empty cells, so special
+ ;; case it.
+ (<= (point) (org-element-property :contents-end context)))
((let ((cbeg (org-element-property :contents-begin context))
(cend (org-element-property :contents-end context)))
(and cbeg (>= (point) cbeg) (<= (point) cend))))))))
diff --git a/testing/lisp/test-org-footnote.el
b/testing/lisp/test-org-footnote.el
index 9f23076..4ce5b34 100644
--- a/testing/lisp/test-org-footnote.el
+++ b/testing/lisp/test-org-footnote.el
@@ -90,6 +90,25 @@
(org-test-with-temp-text " *bold*<point>"
(let ((org-footnote-auto-label t)) (org-footnote-new))
(buffer-string))))
+ ;; Arrow new footnotes in empty cells.
+ (should
+ (string-match-p
+ " \\[fn:1\\]"
+ (org-test-with-temp-text "| <point> |"
+ (let ((org-footnote-auto-label t)) (org-footnote-new))
+ (buffer-string))))
+ (should
+ (string-match-p
+ "|\\[fn:1\\]"
+ (org-test-with-temp-text "|<point> |"
+ (let ((org-footnote-auto-label t)) (org-footnote-new))
+ (buffer-string))))
+ (should
+ (string-match-p
+ " \\[fn:1\\]"
+ (org-test-with-temp-text "| <point>|"
+ (let ((org-footnote-auto-label t)) (org-footnote-new))
+ (buffer-string))))
;; When creating a new footnote, move to its definition.
(should
(string=