Quellcode durchsuchen

Merge branch 'bugfix'

Nicolas Goaziou vor 4 Jahren
Ursprung
Commit
af67fa1ebe
2 geänderte Dateien mit 32 neuen und 2 gelöschten Zeilen
  1. 4 1
      lisp/org-footnote.el
  2. 28 1
      testing/lisp/test-org-footnote.el

+ 4 - 1
lisp/org-footnote.el

@@ -281,7 +281,10 @@ otherwise."
 	    (save-excursion (goto-char (org-element-property :end context))
 			    (skip-chars-backward " \r\t\n")
 			    (if (eq (org-element-class context) 'object) (point)
-			      (1+ (line-beginning-position 2))))))
+			      (line-beginning-position 2)))))
+       ;; At the beginning of a footnote definition, right after the
+       ;; label, is OK.
+       ((eq type 'footnote-definition) (looking-at (rx space)))
        ;; Other elements are invalid.
        ((eq (org-element-class context) 'element) nil)
        ;; Just before object is fine.

+ 28 - 1
testing/lisp/test-org-footnote.el

@@ -90,7 +90,34 @@
     (org-test-with-temp-text " *bold*<point>"
       (let ((org-footnote-auto-label t)) (org-footnote-new))
       (buffer-string))))
-  ;; Arrow new footnotes in table cells.
+  ;; Allow new footnotes at the start of a footnote definition.
+  (should
+   (string-match-p
+    "\\[fn:1\\]\\[fn:2\\]"
+    (org-test-with-temp-text "[fn:1]<point>"
+      (let ((org-footnote-auto-label t)) (org-footnote-new))
+      (buffer-string))))
+  (should
+   (string-match-p
+    "\\[fn:1\\] \\[fn:2\\]"
+    (org-test-with-temp-text "[fn:1] <point>"
+      (let ((org-footnote-auto-label t)) (org-footnote-new))
+      (buffer-string))))
+  (should
+   (string-match-p
+    "\\[fn:1\\]\\[fn:2\\]"
+    (org-test-with-temp-text "[fn:1]<point> \nParagraph"
+      (let ((org-footnote-auto-label t)) (org-footnote-new))
+      (buffer-string))))
+  (should-error
+   (org-test-with-temp-text "[fn:<point>1]"
+     (let ((org-footnote-auto-label t)) (org-footnote-new))
+     (buffer-string)))
+  (should-error
+   (org-test-with-temp-text "<point>[fn:1]"
+     (let ((org-footnote-auto-label t)) (org-footnote-new))
+     (buffer-string)))
+  ;; Allow new footnotes in table cells.
   (should
    (string-match-p
     " \\[fn:1\\]"