summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTRS-80 <lists.trs-80@isnotmyreal.name>2021-01-09 11:50:50 -0500
committerKyle Meyer <kyle@kyleam.com>2021-01-14 00:16:40 -0500
commit1806abdc396d4987ed5e563c0204a13d14c25e1d (patch)
treea82e8eae187bf1241dd22f30b728009a20e53e86
parentd02c0218efdb39820df3d57fa74af5a4d54a4452 (diff)
downloadorg-mode-1806abdc396d4987ed5e563c0204a13d14c25e1d.tar.gz
org-footnote: Fix inserting new footnote mangling drawers
* org-footnote.el (org-footnote-create-definition): Replace `forward-line' with `org-end-of-meta-data' to skip over any properties and/or drawers that may be present on the `org-footnote-section' heading (default "Footnotes"). TINYCHANGE
-rw-r--r--lisp/org-footnote.el2
-rw-r--r--testing/lisp/test-org-footnote.el15
2 files changed, 15 insertions, 2 deletions
diff --git a/lisp/org-footnote.el b/lisp/org-footnote.el
index 3d42421..47ad4aa 100644
--- a/lisp/org-footnote.el
+++ b/lisp/org-footnote.el
@@ -704,7 +704,7 @@ function doesn't move point."
(concat "^\\*+[ \t]+" (regexp-quote org-footnote-section) "[ \t]*$")
nil t))
(goto-char (match-end 0))
- (forward-line)
+ (org-end-of-meta-data t)
(unless (bolp) (insert "\n")))
(t (org-footnote--clear-footnote-section)))
(when (zerop (org-back-over-empty-lines)) (insert "\n"))
diff --git a/testing/lisp/test-org-footnote.el b/testing/lisp/test-org-footnote.el
index eca24d3..50a4307 100644
--- a/testing/lisp/test-org-footnote.el
+++ b/testing/lisp/test-org-footnote.el
@@ -138,7 +138,20 @@
(org-test-with-temp-text
"Paragraph<point>\n# Local Variables:\n# foo: t\n# End:"
(let ((org-footnote-section "Footnotes")) (org-footnote-new))
- (buffer-string)))))
+ (buffer-string))))
+ (should
+ (equal "Para[fn:1]
+* Footnotes
+:properties:
+:custom_id: id
+:end:
+
+\[fn:1]"
+ (org-test-with-temp-text
+ "Para<point>\n* Footnotes\n:properties:\n:custom_id: id\n:end:"
+ (let ((org-footnote-section "Footnotes"))
+ (org-footnote-new))
+ (org-trim (buffer-string))))))
(ert-deftest test-org-footnote/delete ()
"Test `org-footnote-delete' specifications."