From 18a95bdc2667ea01a75a7b9ddaff55cd4ea5c329 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Thu, 21 Feb 2013 15:30:16 +0100 Subject: [PATCH] Require 2 blank lines to separate footnote definition * lisp/org-element.el (org-element-footnote-definition-parser): Require 2 blank lines to separate footnote definition. * lisp/org-footnote.el (org-footnote-at-definition-p): Require 2 blank lines to separate footnote definition. Footnote definitions can still be separated with other footnote definitions and headlines. This change allows to have multiple paragraphs in a footnote definition. --- lisp/org-element.el | 2 +- lisp/org-footnote.el | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lisp/org-element.el b/lisp/org-element.el index 3dc1e72..012aea7 100644 --- a/lisp/org-element.el +++ b/lisp/org-element.el @@ -693,7 +693,7 @@ Assume point is at the beginning of the footnote definition." (re-search-forward (concat org-outline-regexp-bol "\\|" org-footnote-definition-re "\\|" - "^[ \t]*$") limit 'move)) + "\n\\([ \t]*\n\\)\\{2,\\}") limit 'move)) (match-beginning 0) (point)))) (contents-begin (progn (search-forward "]") diff --git a/lisp/org-footnote.el b/lisp/org-footnote.el index 9aa388b..d99bdec 100644 --- a/lisp/org-footnote.el +++ b/lisp/org-footnote.el @@ -251,11 +251,12 @@ otherwise." (when (save-excursion (beginning-of-line) (org-footnote-in-valid-context-p)) (save-excursion (end-of-line) - ;; Footnotes definitions are separated by new headlines or blank - ;; lines. - (let ((lim (save-excursion (re-search-backward - (concat org-outline-regexp-bol - "\\|^[ \t]*$") nil t)))) + ;; Footnotes definitions are separated by new headlines, another + ;; footnote definition or 2 blank lines. + (let ((lim (save-excursion + (re-search-backward + (concat org-outline-regexp-bol + "\\|\n\\([ \t]*\n\\)\\{2,\\}") nil t)))) (when (re-search-backward org-footnote-definition-re lim t) (let ((label (org-match-string-no-properties 1)) (beg (match-beginning 0)) @@ -271,7 +272,7 @@ otherwise." (re-search-forward (concat org-outline-regexp-bol "\\|" org-footnote-definition-re "\\|" - "^[ \t]*$") bound 'move)) + "\n\\([ \t]*\n\\)\\{2,\\}") bound 'move)) (match-beginning 0) (point))))) (list label beg end -- 1.8.1.4