瀏覽代碼

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.
Tassilo Horn 13 年之前
父節點
當前提交
2e2bd083da
共有 1 個文件被更改,包括 3 次插入7 次删除
  1. 3 7
      lisp/org-footnote.el

+ 3 - 7
lisp/org-footnote.el

@@ -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."