]> code.delx.au - gnu-emacs/blobdiff - lisp/textmodes/reftex-ref.el
Add new maintainer (deego).
[gnu-emacs] / lisp / textmodes / reftex-ref.el
index 982062e12f99d6483f77ee6e71da817651b5402c..b5088a34ff42f821b4c7eafa622cb06ed0ff195e 100644 (file)
@@ -2,7 +2,7 @@
 ;; Copyright (c) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
 
 ;; Author: Carsten Dominik <dominik@science.uva.nl>
-;; Version: 4.17
+;; Version: 4.18
 
 ;; This file is part of GNU Emacs.
 
@@ -421,7 +421,7 @@ When called with 2 C-u prefix args, disable magic word recognition."
                   (reftex-offer-label-menu type)))
     (reftex-ensure-compiled-variables)
     (set-marker reftex-select-return-marker nil)
-    ;; If the first entry is the symbol 'concat, concat all all labels.
+    ;; If the first entry is the symbol 'concat, concat all labels.
     ;; We keep the cdr of the first label for typekey etc information.
     (if (eq (car labels) 'concat)
        (setq labels (list (list (mapconcat 'car (cdr labels) ",")
@@ -646,7 +646,7 @@ When called with 2 C-u prefix args, disable magic word recognition."
              selection-buffers)
       (reftex-kill-temporary-buffers))
     ;; Add the prefixes, put together the relevant information in the form
-    ;; (LABEL TYPEKEY SEPERATOR) and return a list of those.
+    ;; (LABEL TYPEKEY SEPARATOR) and return a list of those.
     (mapcar (lambda (x)
              (if (listp x)
                  (list (concat prefix (car (car x)))
@@ -802,4 +802,36 @@ When called with 2 C-u prefix args, disable magic word recognition."
 (defun reftex-format-fref (label def-fmt)
   (format "\\fref{%s}" label))
 
+
+;(defun reftex-goto-label ()
+;  (interactive)
+;  (reftex-access-scan-info)
+;  (let* ((docstruct (symbol-value reftex-docstruct-symbol))
+;       (label (completing-read "Label: " docstruct
+;                               (lambda (x) (stringp (car x))) t))
+;       (selection (assoc label docstruct)))
+;    (reftex-show-label-location selection t nil 'stay)
+;    (reftex-unhighlight 0)))
+
+(defun reftex-goto-label (&optional other-window)
+  "Prompt for a label (with completion) and jump to the location of this label.
+Optional prefix argument OTHER-WINDOW goes to the label in another window."
+  (interactive "P")
+  (reftex-access-scan-info)
+  (let* ((wcfg (current-window-configuration))
+        (docstruct (symbol-value reftex-docstruct-symbol))
+        (label (completing-read "Label: " docstruct
+                                (lambda (x) (stringp (car x))) t))
+        (selection (assoc label docstruct))
+        (where (progn
+                 (reftex-show-label-location selection t nil 'stay)
+                 (point-marker))))
+    (unless other-window
+      (set-window-configuration wcfg)
+      (switch-to-buffer (marker-buffer where))
+      (goto-char where))      
+    (reftex-unhighlight 0)))
+
+
+
 ;;; reftex-ref.el ends here