;ELC   
;;; Compiled by pot@pot.cnuce.cnr.it on Tue Mar 18 15:52:42 2003
;;; from file /home/pot/gnu/emacs-pretest.new/lisp/textmodes/reftex-dcr.el
;;; in Emacs version 21.3
;;; with bytecomp version 2.85.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`reftex-dcr.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\303\304!\207" [provide reftex-dcr reftex-vcr require reftex] 2)
#@915 View cross reference of macro at point.  Point must be on the KEY
argument.  When at at `\ref' macro, show corresponding `\label'
definition, also in external documents (`xr').  When on a label, show
a locations where KEY is referenced.  Subsequent calls find additional
locations.  When on a `\cite', show the associated `\bibitem' macro or
the BibTeX database entry.  When on a `\bibitem', show a `\cite' macro
which uses this KEY. When on an `\index', show other locations marked
by the same index entry.
To define additional cross referencing items, use the option
`reftex-view-crossref-extra'.  See also `reftex-view-crossref-from-bibtex'.
With one or two C-u prefixes, enforce rescanning of the document.
With argument 2, select the window showing the cross reference.
AUTO-HOW is only for the automatic crossref display and is handed through
to the functions `reftex-view-cr-cite' and `reftex-view-cr-ref'.
(defalias 'reftex-view-crossref #[(&optional arg auto-how) "\306\307!@\310\311!\312\203 \313 \203 \314\315!\210p\316\317\"\203* \320\f	#\202\234 \316\321\"\203: \322\f	#\202\234 \204\234 \323\232\204K  \235\203_ \324\f!\210\325\326!\327	!\"\330\312\211$\202\234 \331\232\203y \324\f!\210\325\326\"\327	!\"\330\312\211$\202\234 #\235\203\224 \324\f!\210\325\326$\327	!\"\332\312\211$\202\234 \324\f!\210\333\334\215\210\f\335=\205\253 \336\n!\205\253 \337\n!+\207" [macro key dw reftex-call-back-to-this-buffer arg auto-how reftex-what-macro-safe 1 reftex-this-word "^{}%\n, 	" nil reftex-in-comment error "Not on a crossref macro argument" string-match "\\`\\\\cite\\|cite\\*?\\'\\|bibentry" reftex-view-cr-cite "\\`\\\\ref\\|ref\\(range\\)?\\*?\\'" reftex-view-cr-ref "\\label" reftex-access-scan-info reftex-view-regexp-match format regexp-quote 4 "\\bibitem" 3 exit (byte-code "\306\211\211\211\211A@\211\203; \f@\fA@\307\f8\310\"\203\n \311\312\n\"	\306\211$\313\314\315\"\210\202\n -\316\317!\207" [reftex-view-crossref-extra group action mre entry list nil 2 string-match reftex-view-regexp-match format throw exit t error "Not on a crossref macro argument" macro key dw] 5) 2 windowp select-window reftex-macros-with-labels reftex-find-reference-format reftex-find-citation-regexp-format reftex-macros-with-index reftex-find-index-entry-regexp-format] 5 (#$ . 736) "P"])
(defalias 'reftex-view-cr-cite #[(arg key how) "\306\206 	!\210\n\307=\203 \310\311\312\313 #\210\314\211\211`\315 \314+,-\316.J\236\2037 \314+\317 -\202i \320.J\236\203R \321+\322\323\324\325\320.J\"\"!-\202i \203a \314+\326 -\202i \n\204i \327\330!\210\n\331=\203z \332/-+#\202\314 \n\307=\204\216 \333/-\314\321+%\210\202\264 \314\334\335\217\210\336\337`\340+!\"],\3410\342\343 ,ZS!\210\344\345!\210)\346\347\350\"\210\346\347\351\"\210\315 \352\f!\210b\210\341\232\205\314 \352!.\207" [arg current-prefix-arg how pop-win win pos reftex-access-scan-info tmp-window put reftex-auto-view-crossref last-window-conf current-window-configuration nil selected-window bib reftex-get-bibfile-list thebib t reftex-uniquify mapcar cdr reftex-all-assq reftex-default-bibliography error "Cannot display crossref" echo reftex-echo-cite reftex-pop-to-bibtex-entry (reftex-pop-to-bibtex-entry key files nil t item) ((error (byte-code "b\210\302\303	\"\210\304\305!\207" [pos key message "cite: no such citation key %s" error ""] 3))) 1 count-lines reftex-end-of-bib-entry 2 shrink-window window-height recenter 0 add-hook pre-command-hook reftex-restore-window-conf reftex-highlight-shall-die select-window item size files reftex-docstruct-symbol key window-min-height] 6])
(defalias 'reftex-view-cr-ref #[(arg label how) "\306\206 	!\210\n\307=\203 \310\311\312\313 #\210\314\315J\"\316\f8\314'J\"(\317 )\320*`+(\204{ ';\203{ \203{ \321'\"\203{ \212\322 ,\323\216\324\314\325\326'\"\fA@\"A!\206d \327\330'\"q\210*'\326\225\320O'\306 \210\314'J\"()\n\331=\203\214 \332'(J#\202\311 \313 -\320\333\334\217\210)\335\336\337\"\210\n\307=\203\262 \340\341 \342ZS!\210\343\344!\210\335\336\345\"\210\317 *\346)!\210+b\210\316\232\205\311 \346*!.\207" [arg current-prefix-arg how reftex-docstruct-symbol xr-data xr-re reftex-access-scan-info tmp-window put reftex-auto-view-crossref last-window-conf current-window-configuration assoc xr 2 selected-window nil string-match match-data ((set-match-data save-match-data-internal)) reftex-get-file-buffer-force match-string 1 error "Problem with external label %s" echo reftex-echo-ref (byte-code "\301\302\303\302\211%\207" [entry reftex-show-label-location t nil] 6) ((error (byte-code "\302!\210\303\304	\"\210\305\304	\"\207" [window-conf label set-window-configuration message "ref: Label %s not found" error] 3))) add-hook pre-command-hook reftex-highlight-shall-die shrink-window window-height 9 recenter (4) reftex-restore-window-conf select-window label entry win pop-win pos save-match-data-internal window-conf] 5])
#@321 View cross reference of \ref or \cite macro where you click.
If the macro at point is a \ref, show the corresponding label definition.
If it is a \cite, show the BibTeX database entry.
If there is no such macro at point, search forward to find one.
With argument, actually select the window showing the cross reference.
(defalias 'reftex-mouse-view-crossref #[(ev) "\302!\210\303	!\207" [ev current-prefix-arg mouse-set-point reftex-view-crossref] 2 (#$ . 5709) "e"])
(defalias 'reftex-view-crossref-when-idle #[nil "\205) 	\303=\204 \304 ?\205) \n\305>?\205) \212\306\307\310\311#\210\312\313!)\205) \310\314\315\217\207" [reftex-mode reftex-auto-view-crossref last-command window current-message (reftex-view-crossref reftex-mouse-view-crossref) search-backward "\\" nil t looking-at "\\\\[a-zA-Z]*\\(cite\\|ref\\|bibentry\\)" (byte-code "\302	\303=\203 \304\305\306\"\202 	\307=\203 \304\305\310\"\202 \302)\207" [current-prefix-arg reftex-auto-view-crossref nil t reftex-view-crossref -1 echo window tmp-window] 3) ((error))] 4])
(defalias 'reftex-restore-window-conf #[nil "\300\301\302N!\210\303\301\302\304#\210\305\306\307\"\207" [set-window-configuration reftex-auto-view-crossref last-window-conf put nil remove-hook pre-command-hook reftex-restore-window-conf] 4])
(defalias 'reftex-echo-ref #[(label entry docstruct) "\204 \305\306\307	\310\"!!\207\n\204 \305\311\"\207\312\n8;\203' \305\313\nA@\312\n8#\210\314\315!\211\2057 \212\fq\210\316\317!))\207" [docstruct reftex-no-info-message entry label buf message substitute-command-keys format "ref" "ref: unknown label: %s" 2 "ref(%s): %s" get-buffer " *Echo Area*" run-hooks reftex-display-copied-context-hook] 6])
(defalias 'reftex-echo-cite #[(key files item) "\306J\236\307\n	A\"\310\310\310\203% \203% A\202L \2040 \311!\310\312\313\217\211\203L \203E \314\f!\202L \315\316\f!\"\203[ \317\232\204[ \320\321\"\210\322\323!\211\205m \212q\210\324\325!).\207" [reftex-docstruct-symbol cache key cache-entry entry string bibview-cache assoc nil reftex-visited-files (byte-code "\212\303	\304\211\n\305&)\207" [key files item reftex-pop-to-bibtex-entry nil t] 7) ((error (byte-code "\203 	GGU\203 \304\305\n\"\210\202 \304\306\307\310\"!!\210\311\207" [files all-files key reftex-no-info-message message "cite: no such database entry: %s" substitute-command-keys format "cite" nil] 5))) reftex-nicify-text reftex-make-cite-echo-string reftex-parse-bibtex-entry "" message "cite: %s" get-buffer " *Echo Area*" run-hooks reftex-display-copied-context-hook buf files all-files reftex-cache-cite-echo reftex-revisit-to-echo item] 4])
#@142 *Non-nil means use the idle timers in XEmacs for crossref display.
Currently, idle timer restart is broken and we use the post-command-hook.
(defvar reftex-use-itimer-in-xemacs nil (#$ . -8365))
#@181 Toggle the automatic display of crossref information in the echo area.
When active, leaving point idle in the argument of a \ref or \cite macro
will display info in the echo area.
(defalias 'reftex-toggle-auto-view-crossref #[nil "\203' \304\305!\203 	\203 \306!\210\202! \307\310\311\"\210\202! \312!\210\313\314\315!\207\304\305!\203D 	\203; \316\317\320\n\211\321%\202I \322\310\311\"\210\321\202I \323\n\321\320#\204P \321\314\324!\207" [reftex-auto-view-crossref-timer reftex-use-itimer-in-xemacs reftex-idle-time reftex-auto-view-crossref featurep xemacs delete-itimer remove-hook post-command-hook reftex-start-itimer-once cancel-timer nil message "Automatic display of crossref information was turned off" start-itimer "RefTeX Idle Timer" reftex-view-crossref-when-idle t add-hook run-with-idle-timer "Automatic display of crossref information was turned on"] 6 (#$ . 8567) nil])
(defalias 'reftex-start-itimer-once #[nil "\205 \303	!?\205 \304\305\306\n\307\310%\211\207" [reftex-mode reftex-auto-view-crossref-timer reftex-idle-time itimer-live-p start-itimer "RefTeX Idle Timer" reftex-view-crossref-when-idle nil t] 6])
#@345 View location in a LaTeX document which cites the BibTeX entry at point.
Since BibTeX files can be used by many LaTeX documents, this function
prompts upon first use for a buffer in RefTeX mode.  To reset this
link to a document, call the function with with a prefix arg.
Calling this function several times find successive citation locations.
(defalias 'reftex-view-crossref-from-bibtex #[(&optional arg) "\203\n \303\304\305\306#\210\304\305N\211\204( \212\307\310\311\306\312\313\314 \"\"\306\315$)\303\304\305	#\210\316 \210\317\320!\203E \321\224b\210\322\323\n\324\325\321!!\"\326	$\202H \327\330!)\207" [arg ref-buffer reftex-find-citation-regexp-format put reftex-bibtex-view-cite-locations :ref-buffer nil completing-read "Reference buffer: " delq mapcar #[(b) "q\210	\205 \302!C\207" [b reftex-mode buffer-name] 2] buffer-list t bibtex-beginning-of-entry looking-at "@[a-zA-Z]+[ 	\n]*[{(][ 	\n]*\\([^, 	\n}]+\\)" 1 reftex-view-regexp-match format regexp-quote match-string 4 error "Cannot find citation key in BibTeX entry"] 8 (#$ . 9719) "P"])
(defalias 'reftex-view-regexp-match #[(re &optional highlight-group new ref-buffer) "\306\307Np	D?\205 \n\232\211\203 \306\310N\202 \311\312 \313 \314\314\315 \2062 p!\210\314\316\317\217\210\203c \320\306\307\n#\210\320\306\310T\211#\210\321\311!\224!\225#\210\322\323\324\"\210\312 \202r \320\306\307\314#\210\f\204r \325!\210\326!\210\203\206 \327\330\"\210\202\224 \f\203\221 \331\332\"\202\224 \331\333!.\207" [oldprop re newprop new cont cnt reftex-view-regexp-match :props :cnt 0 selected-window current-window-configuration nil switch-to-buffer-other-window (byte-code "\203\n \303 \202 \304 \210\305\n\306 \"\303\207" [cont match re reftex-global-search-continue reftex-access-scan-info reftex-global-search reftex-all-document-files] 3) ((error)) put reftex-highlight add-hook pre-command-hook reftex-highlight-shall-die set-window-configuration select-window message "Match Nr. %s" error "No further matches (total number of matches: %d)" "No matches" current-window window-conf match pop-window ref-buffer highlight-group] 6])
(byte-code "\301B\302\301!\204 \303 \301\207" [current-load-list reftex-global-search-marker boundp make-marker] 2)
(defalias 'reftex-global-search #[(regexp file-list) "\303\304\305#\210\303\304\306	#\210\n\307\211\223\210\310 \207" [file-list regexp reftex-global-search-marker put reftex-global-search :file-list :regexp nil reftex-global-search-continue] 4])
(defalias 'reftex-global-search-continue #[nil "\306\307N\204\n \310\311!\210\306\307N\306\312N\313\n!\206 \314@!\315\n!\206$ \316\317\2040 \310\320\"\210\321!\210~\210\fb\210\322\323\215\203C \324\202K \n\317\211\223\210\310\325!-\207" [file-list regexp reftex-global-search-marker buf pos file reftex-global-search :file-list error "No global search to continue" :regexp marker-buffer reftex-get-file-buffer-force marker-position 1 nil "No such buffer %s" switch-to-buffer exit (byte-code "\305\306\307#\203 	`\306\223\210\310\311\307\"\210\n\211A@\210\n\204! \310\311\306\"\210\n@\312!\211\2041 \313\314\"\210\315\316\317\n#\210\320\f!\210~\210\321b\210\202  " [regexp reftex-global-search-marker file-list file buf re-search-forward nil t throw exit reftex-get-file-buffer-force error "Cannot access file %s" put reftex-global-search :file-list switch-to-buffer 1] 5) t "All files processed"] 3])
