]> code.delx.au - gnu-emacs/blobdiff - lisp/textmodes/reftex-sel.el
Add missing :version tags
[gnu-emacs] / lisp / textmodes / reftex-sel.el
index c583b67f13a1238d2c522eb9bacf214e28842db6..68355f9b16f932db848b21f3ddfcc1f971ccdee0 100644 (file)
@@ -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.
@@ -71,6 +68,8 @@
     (define-key map "-" 'negative-argument)
     map))
 
+(define-obsolete-variable-alias
+  'reftex-select-label-map 'reftex-select-label-mode-map "24.1")
 (defvar reftex-select-label-mode-map
   (let ((map (make-sparse-keymap)))
     (set-keymap-parent map reftex-select-shared-map)
@@ -84,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)
   "Keymap used for *RefTeX Select* buffer, when selecting a label.
 This keymap can be used to configure the label selection process which is
 started with the command \\[reftex-reference].")
-(define-obsolete-variable-alias
-  'reftex-select-label-map 'reftex-select-label-mode-map "24.1")
 
 (define-derived-mode reftex-select-label-mode fundamental-mode "LSelect"
   "Major mode for selecting a label in a LaTeX document.
@@ -126,6 +123,8 @@ During a selection process, these are the local bindings.
   ;; We do not set a local map - reftex-select-item does this.
   )
 
+(define-obsolete-variable-alias
+  'reftex-select-bib-map 'reftex-select-bib-mode-map "24.1")
 (defvar reftex-select-bib-mode-map
   (let ((map (make-sparse-keymap)))
     (set-keymap-parent map reftex-select-shared-map)
@@ -147,8 +146,6 @@ During a selection process, these are the local bindings.
   "Keymap used for *RefTeX Select* buffer, when selecting a BibTeX entry.
 This keymap can be used to configure the BibTeX selection process which is
 started with the command \\[reftex-citation].")
-(define-obsolete-variable-alias
-  'reftex-select-bib-map 'reftex-select-bib-mode-map "24.1")
 
 (define-derived-mode reftex-select-bib-mode fundamental-mode "BSelect"
   "Major mode for selecting a citation key in a LaTeX document.
@@ -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