emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals-release/org 13c78a5: footnote: Allow new footnotes in e


From: ELPA Syncer
Subject: [elpa] externals-release/org 13c78a5: footnote: Allow new footnotes in empty cells
Date: Thu, 20 May 2021 09:57:09 -0400 (EDT)

branch: externals-release/org
commit 13c78a590001d7966a63c2ac35ce803a7a54fc26
Author: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Commit: Nicolas Goaziou <mail@nicolasgoaziou.fr>

    footnote: Allow new footnotes in empty cells
    
    * lisp/org-footnote.el (org-footnote--allow-reference-p): allow
    inserting new footnotes in empty cells.
    * testing/lisp/test-org-footnote.el (test-org-footnote/new): Add
    tests.
    
    Reported-by: Uwe Brauer <oub@mat.ucm.es>
    <http://lists.gnu.org/r/emacs-orgmode/2021-05/msg00940.html>
---
 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 6769663..fdf4b3c 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 50a4307..5525626 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=



reply via email to

[Prev in Thread] Current Thread [Next in Thread]