Commit 434057ad authored by Lars Ingebrigtsen's avatar Lars Ingebrigtsen

Fix footnote-mode problem when reopening an old file

* lisp/mail/footnote.el (footnote--regenerate-alist): New function
(bug#7258).
(footnote-mode): Use it to restore footnotes after opening an old
file with footnotes.
parent 7fe7efe0
Pipeline #8868 passed with stages
in 14 minutes and 38 seconds
......@@ -910,7 +910,32 @@ play around with the following keys:
(unless (assoc bullet-regexp filladapt-token-table)
(setq filladapt-token-table
(append filladapt-token-table
(list (list bullet-regexp 'bullet)))))))))
(list (list bullet-regexp 'bullet)))))))
(footnote--regenerate-alist)))
(defun footnote--regenerate-alist ()
(save-excursion
(goto-char (point-min))
(if (not (re-search-forward footnote-section-tag-regexp nil t))
(error "No footnote section in this buffer")
(setq footnote--markers-alist
(cl-loop
with start-of-footnotes = (match-beginning 0)
with regexp = (footnote--current-regexp)
for (note text) in
(cl-loop for pos = (re-search-forward regexp nil t)
while pos
collect (list (match-string 1)
(copy-marker (match-beginning 0) t)))
do (goto-char (point-min))
collect (cl-list*
(string-to-number note)
text
(cl-loop
for pos = (re-search-forward regexp start-of-footnotes t)
while pos
when (equal note (match-string 1))
collect (copy-marker (match-beginning 0) t))))))))
(provide 'footnote)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment