Fix renumbering for footnotes at BOL.

Hi all,

org-footnote-renumber-fn:N invalidates footnotes that appear as the
first thing on a line.  Here's a test file including the recipe.

--8<---------------cut here---------------start------------->8---
* Bla

  This is a line in which the following footnote that is inserted exactly
  [fn:1] is the first thing in that line.  And now invoke
  org-footnote-renumber-fn:N and see it breaking.

* Footnotes

[fn:1] Test
--8<---------------cut here---------------end--------------->8---

Note, that in larger org files, it's likely that you don't even notice
that the footnotes break.

Once I added a patch on patchwork that fixed this issue, and that's
shown as "accepted".

  http://patchwork.newartisans.com/patch/705/

I think, I've marked it as deferred or so myself because I've thought
the issue was fixed in the meantime, but that doesn't seem to be true.

Here's an updated patch.
This commit is contained in:
Tassilo Horn 2011-09-29 14:19:58 +00:00 committed by Nicolas Goaziou
parent c00fe037be
commit 2e2bd083da
1 changed files with 3 additions and 7 deletions

View File

@ -895,16 +895,12 @@ If LABEL is non-nil, delete that footnote instead."
(goto-char (point-min))
(while (re-search-forward "\\[fn:\\([0-9]+\\)[]:]" nil t)
(setq i (string-to-number (match-string 1)))
(when (and (string-match "\\S-" (buffer-substring
(point-at-bol) (match-beginning 0)))
(not (assq i map)))
(when (not (assq i map))
(push (cons i (number-to-string (incf n))) map)))
(goto-char (point-min))
(while (re-search-forward "\\(\\[fn:\\)\\([0-9]+\\)\\([]:]\\)" nil t)
(replace-match (concat "\\1"
(cdr (assq (string-to-number (match-string 2))
map))
"\\3")))))))
(setq i (cdr (assq (string-to-number (match-string 2)) map)))
(replace-match (concat "\\1" i "\\3")))))))
(defun org-footnote-auto-adjust-maybe ()
"Renumber and/or sort footnotes according to user settings."