| 
					
				 | 
			
			
				@@ -117,20 +117,6 @@ you will need to run the following command after the change: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (string :tag "Collect footnotes under heading") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	  (const :tag "Define footnotes locally" nil))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(defcustom org-footnote-tag-for-non-org-mode-files "Footnotes:" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  "Tag marking the beginning of footnote section. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-The Org footnote engine can be used in arbitrary text files as well 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-as in Org-mode.  Outside Org mode, new footnotes are always placed at 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-the end of the file.  When you normalize the notes, any line containing 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-only this tag will be removed, a new one will be inserted at the end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-of the file, followed by the collected and normalized footnotes. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-If you don't want any tag in such buffers, set this variable to nil." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  :group 'org-footnote 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  :type '(choice 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (string :tag "Collect footnotes under tag") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (const :tag "Don't use a tag" nil))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defcustom org-footnote-define-inline nil 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Non-nil means define footnotes inline, at reference location. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 When nil, footnotes will be defined in a special section near 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -697,79 +683,25 @@ or new, let the user edit the definition of the footnote." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-footnote-create-definition (label) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Start the definition of a footnote with label LABEL. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Return buffer position at the beginning of the definition.  In an 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Org buffer, this function doesn't move point." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Return buffer position at the beginning of the definition.  This 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+function doesn't move point." 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   (let ((label (org-footnote-normalize-label label)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	electric-indent-mode)		; Prevent wrong indentation. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     ;; In an Org document. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     ((derived-mode-p 'org-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ;; If `org-footnote-section' is defined, find it, or create it 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ;; at the end of the buffer. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (org-with-wide-buffer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	((not org-footnote-section) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (org-footnote--goto-local-insertion-point)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	((save-excursion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   (goto-char (point-min)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   (re-search-forward 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    (concat "^\\*+[ \t]+" (regexp-quote org-footnote-section) "[ \t]*$") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    nil t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (goto-char (match-end 0)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (forward-line) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (unless (bolp) (insert "\n"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (goto-char (point-max)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (unless (bolp) (insert "\n")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 ;; Insert new section.  Separate it from the previous one 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 ;; with a blank line, unless `org-blank-before-new-entry' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 ;; explicitly says no. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (when (and (cdr (assq 'heading org-blank-before-new-entry)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		    (zerop (save-excursion (org-back-over-empty-lines)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	   (insert "\n")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 (insert "* " org-footnote-section "\n"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       (when (zerop (org-back-over-empty-lines)) (insert "\n")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       (insert "[fn:" label "] \n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-       (line-beginning-position 0))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-     (t 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ;; In a non-Org file.  Search for footnote tag, or create it if 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ;; specified (at the end of buffer, or before signature if in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ;; Message mode).  Set point after any definition already there. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (let ((tag (and org-footnote-tag-for-non-org-mode-files 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		      (concat "^" (regexp-quote 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				   org-footnote-tag-for-non-org-mode-files) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			      "[ \t]*$"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	    (max (if (and (derived-mode-p 'message-mode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			  (goto-char (point-max)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			  (re-search-backward 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			   message-signature-separator nil t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		     (progn 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		       ;; Ensure one blank line separates last 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		       ;; footnote from signature. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		       (beginning-of-line) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		       (open-line 2) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		       (point-marker)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		   (point-max-marker)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(set-marker-insertion-type max t) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(goto-char max) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	;; Check if the footnote tag is defined but missing.  In this 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	;; case, insert it, before any footnote or one blank line 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	;; after any previous text. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(when (and tag (not (re-search-backward tag nil t))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (skip-chars-backward " \t\r\n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (while (re-search-backward org-footnote-definition-re nil t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (unless (bolp) (newline 2)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	  (insert org-footnote-tag-for-non-org-mode-files "\n\n")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	;; Remove superfluous white space and clear marker. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(goto-char max) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(skip-chars-backward " \t\r\n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(delete-region (point) max) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(unless (bolp) (newline)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	(set-marker max nil)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (when (zerop (org-back-over-empty-lines)) (insert "\n")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (insert "[fn:" label "] \n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (backward-char) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      (line-beginning-position))))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    (org-with-wide-buffer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (cond 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ((not org-footnote-section) (org-footnote--goto-local-insertion-point)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ((save-excursion 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (goto-char (point-min)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 (re-search-forward 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  (concat "^\\*+[ \t]+" (regexp-quote org-footnote-section) "[ \t]*$") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	  nil t)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (goto-char (match-end 0)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (forward-line) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       (unless (bolp) (insert "\n"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      (t (org-footnote--clear-footnote-section))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (when (zerop (org-back-over-empty-lines)) (insert "\n")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (insert "[fn:" label "] \n") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     (line-beginning-position 0)))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 (defun org-footnote-delete-references (label) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   "Delete every reference to footnote LABEL. 
			 |