Sorting footnotes when org-footnote-section is nil can have very destructive consequences. For instance, the following file...
--8<---------------cut here---------------start------------->8--- * Heading one A footnote.[fn:one] [fn:one] A footnote Another footnote.[fn:two] [fn:two] Another footnote A third footnote.[fn:three] [fn:three] A third * Heading two Some text --8<---------------cut here---------------end--------------->8--- ...loses the second heading when sorted.... --8<---------------cut here---------------start------------->8--- * Heading one A footnote.[fn:one] Another footnote.[fn:two] A third footnote.[fn:three] [fn:one] A footnote [fn:two] Another footnote* Heading two Some text [fn:three] A third --8<---------------cut here---------------end--------------->8--- I traced the problem to an extra forward-line added to org-footnote-goto-local-insertion-point with commit 145109dc4a6f161e4ad826bea9cc970363649280, but seems to have had some unintended consequences for org buffers. The following patch fixes the sorting problem in org buffers. AFAICT, it has no effect on footnote insertion in message mode buffers with signatures. (Unfortunately, footnote sorting in message buffers with signatures is broken both before and after this patch.) --8<---------------cut here---------------start------------->8--- diff --git a/lisp/org-footnote.el b/lisp/org-footnote.el index b6a9bca..d28161e 100644 --- a/lisp/org-footnote.el +++ b/lisp/org-footnote.el @@ -511,8 +511,7 @@ ENTRY is (fn-label num-mark definition)." (beginning-of-line 0)) (if (looking-at "[ \t]*#\\+TBLFM:") (beginning-of-line 2)) (end-of-line 1) - (skip-chars-backward "\n\r\t ") - (forward-line)) + (skip-chars-backward "\n\r\t ")) (defun org-footnote-delete (&optional label) "Delete the footnote at point. --8<---------------cut here---------------end--------------->8--- Best, Matt