diff options
author | Chong Yidong <cyd@stupidchicken.com> | 2007-04-15 17:21:21 +0000 |
---|---|---|
committer | Chong Yidong <cyd@stupidchicken.com> | 2007-04-15 17:21:21 +0000 |
commit | 3715ab231d69d2ee3c2339457edd1cdeb50f6d7a (patch) | |
tree | fccfb5a65e8350883cabdc8df1632127c6434a93 | |
parent | 807707ad9e9f4b19710b97d6d77437f6e089185d (diff) | |
download | emacs-3715ab231d69d2ee3c2339457edd1cdeb50f6d7a.tar.gz |
(footnote-current-style): New var.
(Footnote-index-to-string, Footnote-current-regexp)
(Footnote-cycle-style, Footnote-set-style): Use it instead of
footnote-style.
(footnote-mode): Make footnote-current style buffer-local instead
of footnote-style, and initialize it to footnote-style.
(footnote-style): Update docstring.
-rw-r--r-- | lisp/mail/footnote.el | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el index 9e3a375c50d..2e10f1ec308 100644 --- a/lisp/mail/footnote.el +++ b/lisp/mail/footnote.el @@ -294,7 +294,7 @@ See footnote-han.el, footnote-greek.el and footnote-hebrew.el for more exciting styles.") (defcustom footnote-style 'numeric - "*Style used for footnoting. + "*Default style used for footnoting. numeric == 1, 2, 3, ... english-lower == a, b, c, ... english-upper == A, B, C, ... @@ -306,6 +306,10 @@ See also variables `footnote-start-tag' and `footnote-end-tag'." footnote-style-alist)) :group 'footnote) +(defvar footnote-current-style + "Style used for footnoting in the current buffer. +The possible values are the same as in `footnote-style'.") + ;;; Style utilities & functions (defun Footnote-style-p (style) "Return non-nil if style is a valid style known to footnote-mode." @@ -314,14 +318,14 @@ See also variables `footnote-start-tag' and `footnote-end-tag'." (defun Footnote-index-to-string (index) "Convert a binary index into a string to display as a footnote. Conversion is done based upon the current selected style." - (let ((alist (if (Footnote-style-p footnote-style) - (assq footnote-style footnote-style-alist) + (let ((alist (if (Footnote-style-p footnote-current-style) + (assq footnote-current-style footnote-style-alist) (nth 0 footnote-style-alist)))) (funcall (nth 1 alist) index))) (defun Footnote-current-regexp () "Return the regexp of the index of the current style." - (concat (nth 2 (or (assq footnote-style footnote-style-alist) + (concat (nth 2 (or (assq footnote-current-style footnote-style-alist) (nth 0 footnote-style-alist))) "*")) (defun Footnote-refresh-footnotes (&optional index-regexp) @@ -378,13 +382,13 @@ styles." (defun Footnote-cycle-style () "Select next defined footnote style." (interactive) - (let ((old (Footnote-assoc-index footnote-style footnote-style-alist)) + (let ((old (Footnote-assoc-index footnote-current-style footnote-style-alist)) (max (length footnote-style-alist)) idx) (setq idx (1+ old)) (when (>= idx max) (setq idx 0)) - (setq footnote-style (car (nth idx footnote-style-alist))) + (setq footnote-current-style (car (nth idx footnote-style-alist))) (Footnote-refresh-footnotes (nth 2 (nth old footnote-style-alist))))) (defun Footnote-set-style (&optional style) @@ -393,7 +397,7 @@ styles." (list (intern (completing-read "Footnote Style: " obarray #'Footnote-style-p 'require-match)))) - (setq footnote-style style)) + (setq footnote-current-style style)) ;; Internal functions (defun Footnote-insert-numbered-footnote (arg &optional mousable) @@ -733,7 +737,7 @@ key binding (> (prefix-numeric-value arg) 0))) (when footnote-mode ;; (Footnote-setup-keybindings) - (make-local-variable 'footnote-style) + (set (make-local-variable 'footnote-current-style) footnote-style) (if (fboundp 'force-mode-line-update) (force-mode-line-update) (set-buffer-modified-p (buffer-modified-p))) |