comparison lisp/textmodes/reftex.el @ 46612:7522419c4db0

Updated to reftex 4.17
author Carsten Dominik <dominik@science.uva.nl>
date Mon, 22 Jul 2002 10:36:26 +0000
parents 7a94f1c588c4
children 060f433ebf11
comparison
equal deleted inserted replaced
46611:ae5b4f42f14c 46612:7522419c4db0
1 ;;; reftex.el --- minor mode for doing \label, \ref, \cite, \index in LaTeX 1 ;;; reftex.el --- minor mode for doing \label, \ref, \cite, \index in LaTeX
2 ;; Copyright (c) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. 2 ;; Copyright (c) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
3 3
4 ;; Author: Carsten Dominik <dominik@strw.LeidenUniv.nl> 4 ;; Author: Carsten Dominik <dominik@science.uva.nl>
5 ;; Version: 4.16 5 ;; Version: 4.17
6 ;; Keywords: tex 6 ;; Keywords: tex
7 7
8 ;; This file is part of GNU Emacs. 8 ;; This file is part of GNU Emacs.
9 9
10 ;; GNU Emacs is free software; you can redistribute it and/or modify 10 ;; GNU Emacs is free software; you can redistribute it and/or modify
298 ;;; ========================================================================= 298 ;;; =========================================================================
299 ;;; 299 ;;;
300 ;;; Define the formal stuff for a minor mode named RefTeX. 300 ;;; Define the formal stuff for a minor mode named RefTeX.
301 ;;; 301 ;;;
302 302
303 (defconst reftex-version "RefTeX version 4.16" 303 (defconst reftex-version "RefTeX version 4.17"
304 "Version string for RefTeX.") 304 "Version string for RefTeX.")
305 305
306 (defvar reftex-mode nil 306 (defvar reftex-mode nil
307 "Determines if RefTeX mode is active.") 307 "Determines if RefTeX mode is active.")
308 (make-variable-buffer-local 'reftex-mode) 308 (make-variable-buffer-local 'reftex-mode)
310 (defvar reftex-mode-map (make-sparse-keymap) 310 (defvar reftex-mode-map (make-sparse-keymap)
311 "Keymap for RefTeX mode.") 311 "Keymap for RefTeX mode.")
312 312
313 (defvar reftex-mode-menu nil) 313 (defvar reftex-mode-menu nil)
314 (defvar reftex-syntax-table nil) 314 (defvar reftex-syntax-table nil)
315 (defvar reftex-syntax-table-for-bib nil)
315 316
316 (defvar reftex-auto-view-crossref-timer nil 317 (defvar reftex-auto-view-crossref-timer nil
317 "The timer used for auto-view-crossref.") 318 "The timer used for auto-view-crossref.")
318 319
319 ;;;###autoload 320 ;;;###autoload
369 (put 'reftex-auto-view-crossref 'initialized t)) 370 (put 'reftex-auto-view-crossref 'initialized t))
370 (unless reftex-syntax-table 371 (unless reftex-syntax-table
371 (setq reftex-syntax-table (copy-syntax-table (syntax-table))) 372 (setq reftex-syntax-table (copy-syntax-table (syntax-table)))
372 (modify-syntax-entry ?\( "." reftex-syntax-table) 373 (modify-syntax-entry ?\( "." reftex-syntax-table)
373 (modify-syntax-entry ?\) "." reftex-syntax-table)) 374 (modify-syntax-entry ?\) "." reftex-syntax-table))
375 (unless reftex-syntax-table-for-bib
376 (setq reftex-syntax-table-for-bib (copy-syntax-table reftex-syntax-table))
377 (modify-syntax-entry ?\' "." reftex-syntax-table-for-bib)
378 (modify-syntax-entry ?\" "." reftex-syntax-table-for-bib)
379 (modify-syntax-entry ?\[ "." reftex-syntax-table-for-bib)
380 (modify-syntax-entry ?\] "." reftex-syntax-table-for-bib))
374 (run-hooks 'reftex-mode-hook)) 381 (run-hooks 'reftex-mode-hook))
375 ;; Mode was turned off 382 ;; Mode was turned off
376 (easy-menu-remove reftex-mode-menu))) 383 (easy-menu-remove reftex-mode-menu)))
377 384
378 (if (fboundp 'add-minor-mode) 385 (if (fboundp 'add-minor-mode)
608 ;;; Functions to compile the tables, reset the mode etc. 615 ;;; Functions to compile the tables, reset the mode etc.
609 616
610 ;; The following constants are derived from `reftex-label-alist'. 617 ;; The following constants are derived from `reftex-label-alist'.
611 618
612 ;; Prompt used for label type queries directed to the user. 619 ;; Prompt used for label type queries directed to the user.
613 (defconst reftex-type-query-prompt nil) 620 (defvar reftex-type-query-prompt nil)
614 621
615 ;; Help string for label type queries. 622 ;; Help string for label type queries.
616 (defconst reftex-type-query-help nil) 623 (defvar reftex-type-query-help nil)
617 624
618 ;; Alist relating label type to reference format. 625 ;; Alist relating label type to reference format.
619 (defconst reftex-typekey-to-format-alist nil) 626 (defvar reftex-typekey-to-format-alist nil)
620 627
621 ;; Alist relating label type to label prefix. 628 ;; Alist relating label type to label prefix.
622 (defconst reftex-typekey-to-prefix-alist nil) 629 (defvar reftex-typekey-to-prefix-alist nil)
623 630
624 ;; Alist relating environments or macros to label type and context regexp. 631 ;; Alist relating environments or macros to label type and context regexp.
625 (defconst reftex-env-or-mac-alist nil) 632 (defvar reftex-env-or-mac-alist nil)
626 633
627 ;; List of special environment parser functions 634 ;; List of special environment parser functions
628 (defconst reftex-special-env-parsers nil) 635 (defvar reftex-special-env-parsers nil)
629 636
630 ;; List of macros carrying a label. 637 ;; List of macros carrying a label.
631 (defconst reftex-label-mac-list nil) 638 (defvar reftex-label-mac-list nil)
632 639
633 ;; List of environments carrying a label. 640 ;; List of environments carrying a label.
634 (defconst reftex-label-env-list nil) 641 (defvar reftex-label-env-list nil)
635 642
636 ;; List of all typekey letters in use. 643 ;; List of all typekey letters in use.
637 (defconst reftex-typekey-list nil) 644 (defvar reftex-typekey-list nil)
638 645
639 ;; Alist relating magic words to a label type. 646 ;; Alist relating magic words to a label type.
640 (defconst reftex-words-to-typekey-alist nil) 647 (defvar reftex-words-to-typekey-alist nil)
641 648
642 ;; The last list-of-labels entry used in a reference. 649 ;; The last list-of-labels entry used in a reference.
643 (defvar reftex-last-used-reference (list nil nil nil nil)) 650 (defvar reftex-last-used-reference (list nil nil nil nil))
644 651
645 ;; Alist relating index macros to other info. 652 ;; Alist relating index macros to other info.
646 (defconst reftex-key-to-index-macro-alist nil) 653 (defvar reftex-key-to-index-macro-alist nil)
647 ;; Prompt for index macro queries 654 ;; Prompt for index macro queries
648 (defconst reftex-query-index-macro-prompt nil) 655 (defvar reftex-query-index-macro-prompt nil)
649 ;; Help string for index macro queries 656 ;; Help string for index macro queries
650 (defconst reftex-query-index-macro-help nil) 657 (defvar reftex-query-index-macro-help nil)
651 658
652 ;; The message when follow-mode is suspended 659 ;; The message when follow-mode is suspended
653 (defconst reftex-no-follow-message 660 (defvar reftex-no-follow-message
654 "No follow-mode into unvisited file. Press SPC to visit it.") 661 "No follow-mode into unvisited file. Press SPC to visit it.")
655 (defconst reftex-no-info-message 662 (defvar reftex-no-info-message
656 "%s: info not available, use `\\[reftex-view-crossref]' to get it.") 663 "%s: info not available, use `\\[reftex-view-crossref]' to get it.")
657 664
658 ;; Global variables used for communication between functions. 665 ;; Global variables used for communication between functions.
659 (defvar reftex-default-context-position nil) 666 (defvar reftex-default-context-position nil)
660 (defvar reftex-location-start nil) 667 (defvar reftex-location-start nil)
1090 (append toc-levels 1097 (append toc-levels
1091 (get reftex-docstruct-symbol 'reftex-section-levels) 1098 (get reftex-docstruct-symbol 'reftex-section-levels)
1092 reftex-section-levels)) 1099 reftex-section-levels))
1093 1100
1094 ;; Calculate the regular expressions 1101 ;; Calculate the regular expressions
1095 (let* ((wbol "\\(\\`\\|[\n\r]\\)[ \t]*") 1102 (let* (
1103 ; (wbol "\\(\\`\\|[\n\r]\\)[ \t]*")
1104 (wbol "\\(\\`\\|[\n\r]\\)[ \t]*")
1096 (label-re "\\\\label{\\([^}]*\\)}") 1105 (label-re "\\\\label{\\([^}]*\\)}")
1097 (include-re (concat wbol "\\\\\\(include\\|input\\)[{ \t]+\\([^} \t\n\r]+\\)")) 1106 (include-re (concat wbol
1107 "\\\\\\("
1108 (mapconcat 'identity
1109 reftex-include-file-commands "\\|")
1110 "\\)[{ \t]+\\([^} \t\n\r]+\\)"))
1098 (section-re 1111 (section-re
1099 (concat wbol "\\\\\\(" 1112 (concat wbol "\\\\\\("
1100 (mapconcat (lambda (x) (regexp-quote (car x))) 1113 (mapconcat (lambda (x) (regexp-quote (car x)))
1101 reftex-section-levels-all "\\|") 1114 reftex-section-levels-all "\\|")
1102 "\\)\\*?\\(\\[[^]]*\\]\\)?[[{ \t\r\n]")) 1115 "\\)\\*?\\(\\[[^]]*\\]\\)?[[{ \t\r\n]"))