- (org-if-unprotected
- (setq def (match-string 4)
- idef def
- ref (or (match-string 1) (match-string 2))
- before (char-to-string (char-after (match-beginning 0))))
- (if (equal ref "fn:") (setq ref nil))
- (if (and ref (setq a (assoc ref ref-table)))
- (progn
- (setq marker (nth 1 a))
- (unless (nth 2 a) (setf (caddr a) def)))
- (setq marker (number-to-string (incf count))))
- (save-match-data
- (if def
- (setq def (org-trim def))
- (save-excursion
- (goto-char (point-min))
- (if (not (re-search-forward (concat "^\\[" (regexp-quote ref)
- "\\]") nil t))
- (setq def nil)
- (setq beg (match-beginning 0))
- (setq beg1 (match-end 0))
- (re-search-forward
- (org-re "^[ \t]*$\\|^\\*+ \\|^\\[\\([0-9]+\\|fn:[-_[:word:]]+\\)\\]")
- nil 'move)
- (setq def (buffer-substring beg1 (or (match-beginning 0)
- (point-max))))
- (goto-char beg)
- (skip-chars-backward " \t\n\t")
- (delete-region (1+ (point)) (match-beginning 0))))))
- (unless sort-only
- (replace-match (concat before "[" marker "]"))
- (and idef
- org-footnote-fill-after-inline-note-extraction
- (fill-paragraph)))
- (if (not a) (push (list ref marker def) ref-table))))
-
+ (unless (or (org-in-commented-line) (org-in-verbatim-emphasis)
+ (org-inside-latex-macro-p))
+ (org-if-unprotected
+ (setq def (match-string 4)
+ idef def
+ ref (or (match-string 1) (match-string 2))
+ before (char-to-string (char-after (match-beginning 0))))
+ (if (equal ref "fn:") (setq ref nil))
+ (if (and ref (setq a (assoc ref ref-table)))
+ (progn
+ (setq marker (nth 1 a))
+ (unless (nth 2 a) (setf (caddr a) def)))
+ (setq marker (number-to-string (incf count))))
+ (save-match-data
+ (if def
+ (setq def (org-trim def))
+ (save-excursion
+ (goto-char (point-min))
+ (if (not (re-search-forward (concat "^\\[" (regexp-quote ref)
+ "\\]") nil t))
+ (setq def nil)
+ (setq beg (match-beginning 0))
+ (setq beg1 (match-end 0))
+ (re-search-forward
+ (org-re "^[ \t]*$\\|^\\*+ \\|^\\[\\([0-9]+\\|fn:[-_[:word:]]+\\)\\]")
+ nil 'move)
+ (setq def (buffer-substring beg1 (or (match-beginning 0)
+ (point-max))))
+ (goto-char beg)
+ (skip-chars-backward " \t\n\t")
+ (delete-region (1+ (point)) (match-beginning 0))))))
+ (unless sort-only
+ (replace-match (concat before "[" marker "]") t t)
+ (and idef
+ org-footnote-fill-after-inline-note-extraction
+ (fill-paragraph)))
+ (if (not a) (push (list ref marker def (if idef t nil))
+ ref-table)))))
+