Browse Source

org-footnote: remove every footnote tag when normalizing non Org buffers

* lisp/org-footnote.el (org-footnote-normalize): effectively remove
  any footnote tag in non Org buffers, as detailled in
  org-footnote-tag-for-non-org-mode-files doc-string.
Nicolas Goaziou 13 năm trước cách đây
mục cha
commit
a8d621c3da
1 tập tin đã thay đổi với 8 bổ sung7 xóa
  1. 8 7
      lisp/org-footnote.el

+ 8 - 7
lisp/org-footnote.el

@@ -709,13 +709,14 @@ Additional note on `org-footnote-insert-pos-for-preprocessor':
 	  (unless (bolp) (newline))
 	  (unless (bolp) (newline))
 	  (setq ins-point (point))))
 	  (setq ins-point (point))))
        (t
        (t
-	(when (and (not (equal org-footnote-tag-for-non-org-mode-files ""))
-		   (re-search-forward
-		    (concat "^" (regexp-quote
-				 org-footnote-tag-for-non-org-mode-files)
-			    "[ \t]*$")
-		    nil t))
-	  (replace-match ""))
+	;; Remove any left-over tag in the buffer, if one is set up.
+	(when org-footnote-tag-for-non-org-mode-files
+	  (let ((tag (concat "^" (regexp-quote
+				  org-footnote-tag-for-non-org-mode-files)
+			     "[ \t]*$")))
+	    (while (re-search-forward tag nil t)
+	      (replace-match "")
+	      (delete-region (point) (progn (forward-line) (point))))))
 	;; In Message mode, ensure footnotes are inserted before the
 	;; In Message mode, ensure footnotes are inserted before the
 	;; signature.
 	;; signature.
 	(let ((pt-max (if (and (derived-mode-p 'message-mode)
 	(let ((pt-max (if (and (derived-mode-p 'message-mode)