diff options
Diffstat (limited to 'lisp/textmodes/reftex-sel.el')
| -rw-r--r-- | lisp/textmodes/reftex-sel.el | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/lisp/textmodes/reftex-sel.el b/lisp/textmodes/reftex-sel.el index 627dfba0071..68355f9b16f 100644 --- a/lisp/textmodes/reftex-sel.el +++ b/lisp/textmodes/reftex-sel.el @@ -4,8 +4,6 @@ ;; Author: Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: auctex-devel@gnu.org -;; Version: 4.31 -;; Package: reftex ;; This file is part of GNU Emacs. @@ -27,9 +25,8 @@ ;;; Code: (eval-when-compile (require 'cl)) -(provide 'reftex-sel) + (require 'reftex) -;;; ;; Common bindings in reftex-select-label-mode-map ;; and reftex-select-bib-mode-map. @@ -86,8 +83,8 @@ (loop for x in '(("b" . reftex-select-jump-to-previous) ("z" . reftex-select-jump) - ("v" . reftex-select-toggle-varioref) - ("V" . reftex-select-toggle-fancyref) + ("v" . reftex-select-cycle-ref-style-forward) + ("V" . reftex-select-cycle-ref-style-backward) ("m" . reftex-select-mark) ("u" . reftex-select-unmark) ("," . reftex-select-mark-comma) @@ -245,12 +242,8 @@ During a selection process, these are the local bindings. (if (memq reftex-highlight-selection '(mouse both)) reftex-mouse-selected-face nil)) - (label-face (reftex-verified-face reftex-label-face - 'font-lock-constant-face - 'font-lock-reference-face)) - (index-face (reftex-verified-face reftex-index-face - 'font-lock-constant-face - 'font-lock-reference-face)) + (label-face reftex-label-face) + (index-face reftex-index-face) all cell text label typekey note comment master-dir-re prev-inserted offset from to index-tag docstruct-symbol) @@ -515,6 +508,7 @@ During a selection process, these are the local bindings. (defvar last-data) (defvar call-back) (defvar help-string) +(defvar reftex-refstyle) ;; The selection commands @@ -608,23 +602,28 @@ Useful for large TOC's." (setq reftex-last-follow-point -1) (setq cb-flag (not cb-flag))) -(defvar reftex-refstyle) ; from reftex-reference +(defun reftex-select-cycle-ref-style-internal (&optional reverse) + "Cycle through macros used for referencing. +Cycle in reverse order if optional argument REVERSE is non-nil." + (let (list) + (dolist (style (reftex-ref-style-list)) + (mapc (lambda (x) (add-to-list 'list (car x) t)) + (nth 2 (assoc style reftex-ref-style-alist)))) + (when reverse + (setq list (reverse list))) + (setq reftex-refstyle (or (cadr (member reftex-refstyle list)) (car list)))) + (force-mode-line-update)) -(defun reftex-select-toggle-varioref () - "Toggle the macro used for referencing the label between \\ref and \\vref." +(defun reftex-select-cycle-ref-style-forward () + "Cycle forward through macros used for referencing." (interactive) - (if (string= reftex-refstyle "\\ref") - (setq reftex-refstyle "\\vref") - (setq reftex-refstyle "\\ref")) - (force-mode-line-update)) -(defun reftex-select-toggle-fancyref () - "Toggle the macro used for referencing the label between \\ref and \\vref." + (reftex-select-cycle-ref-style-internal)) + +(defun reftex-select-cycle-ref-style-backward () + "Cycle backward through macros used for referencing." (interactive) - (setq reftex-refstyle - (cond ((string= reftex-refstyle "\\ref") "\\fref") - ((string= reftex-refstyle "\\fref") "\\Fref") - (t "\\ref"))) - (force-mode-line-update)) + (reftex-select-cycle-ref-style-internal t)) + (defun reftex-select-show-insertion-point () "Show the point from where selection was started in another window." (interactive) @@ -725,7 +724,7 @@ Useful for large TOC's." (if sep (format "*%c%d* " sep (decf cnt)) (format "*%d* " (decf cnt))))) - reftex-select-marked) + reftex-select-marked) (message "Entry no longer marked"))) (defun reftex-select-help () @@ -735,4 +734,6 @@ Useful for large TOC's." (princ help-string)) (reftex-enlarge-to-fit "*RefTeX Help*" t)) +(provide 'reftex-sel) + ;;; reftex-sel.el ends here |
