;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301!\210\302\301\303\304\305\306\307\310&\210\311\312\313\314\315DD\316\317\320%\210\311\321\313\314\322DD\323\317\324%\210\311\325\313\314\326DD\327\317\330%\210\311\331\313\314\332DD\333\317\334%\210\335\321!\210\335\325!\210\335\312!\207" [provide refer custom-declare-group nil "Look up references in bibliography files." :prefix "refer-" :group text custom-declare-variable refer-bib-directory funcall function #[0 "\300\207" [nil] 1 #1=""] "Directory, or list of directories, to search for \\.bib files.\nCan be set to `bibinputs' or `texinputs', in which case the environment\nvariable BIBINPUTS or TEXINPUTS, respectively, is used to obtain a\nlist of directories.  Useful only if `refer-bib-files' is set to `dir' or\na list of file names (without directory).  A value of nil indicates the\ncurrent working directory.\n\nIf `refer-bib-directory' is `bibinputs' or `texinputs', it is setq'd to\nthe appropriate list of directories when it is first used.\n\nNote that an empty directory is interpreted by BibTeX as indicating\nthe default search path.  Since Refer does not know that default path,\nit cannot search it.  Include that path explicitly in your BIBINPUTS\nenvironment if you really want it searched (which is not likely to\nhappen anyway)." :type (choice (repeat directory) (const bibinputs) (const texinputs)) refer-bib-files #[0 "\300\207" [dir] 1 #1#] "List of \\.bib files to search for references,\nor one of the following special values:\nnil  = prompt for \\.bib file (if visiting a \\.bib file, use it as default)\nauto = read \\.bib file names from appropriate command in buffer (see\n       `refer-bib-files-regexp') unless the buffer's mode is `bibtex-mode',\n       in which case only the buffer is searched\ndir  = use all \\.bib files in directories referenced by `refer-bib-directory'.\n\nIf a specified file doesn't exist and has no extension, a \\.bib extension\nis automatically tried.\n\nIf `refer-bib-files' is nil, auto or dir, it is setq'd to the appropriate\nlist of files when it is first used if `refer-cache-bib-files' is t.  If\n`refer-cache-bib-files' is nil, the list of \\.bib files to use is re-read\neach time it is needed." (choice (repeat file) (const nil) (const auto) (const dir)) refer-cache-bib-files #[0 "\300\207" [t] 1 #1#] "Variable determining whether the value of `refer-bib-files' should be cached.\nIf t, initialize the value of refer-bib-files the first time it is used.  If\nnil, re-read the list of \\.bib files depending on the value of `refer-bib-files'\neach time it is needed." boolean refer-bib-files-regexp #[0 "\300\207" ["\\\\bibliography"] 1 #1#] "Regexp matching a bibliography file declaration.\nThe current buffer is expected to contain a line such as\n\\bibliography{file1,file2,file3}\nwhich is read to set up `refer-bib-files'.  The regexp must specify the command\n(such as \\bibliography) that is used to specify the list of bib files.  The\ncommand is expected to specify a file name, or a list of comma-separated file\nnames, within curly braces.\nIf a specified file doesn't exist and has no extension, a \\.bib extension\nis automatically tried." regexp make-variable-buffer-local] 8)
(defvar refer-saved-state nil)
(defvar refer-previous-keywords nil)
(defvar refer-saved-pos nil)
(defvar refer-same-file nil)#@288 Find entry in refer-bib-files containing KEYWORDS.
If KEYWORDS is nil, prompt user for blank-separated list of keywords.
If CONTINUE is non-nil, or if called interactively with a prefix arg,
look for next entry by continuing search from previous point.

(fn KEYWORDS &optional CONTINUE)
(defalias 'refer-find-entry #[513 "\204 \211\203\f \202 \301\302!\262\303\"\207" [refer-previous-keywords read-string "Keywords: " refer-find-entry-internal] 5 (#$ . 3403) (list nil current-prefix-arg)])#@78 Find next occurrence of entry in `refer-bib-files'.  See `refer-find-entry'.
(defalias 'refer-find-next-entry #[0 "\301\302\"\207" [refer-previous-keywords refer-find-entry-internal t] 3 (#$ . 3908) nil])#@130 Inserts at point in current buffer the "key" field of the entry
found on the last `refer-find-entry' or `refer-find-next-entry'.
(defalias 'refer-yank-key #[0 "`\301 \302\303\"\216\212\304@!\210\305\306!\203 \307\224\307\225{\202! \310\311@\"*\262c\210`U?\2050 \312!\207" [refer-saved-state current-window-configuration make-closure #[0 "\301\300!\207" [V0 set-window-configuration] 2] find-file looking-at "[ 	\n]*@\\s-*[a-zA-Z][a-zA-Z0-9]*\\s-*{\\s-*\\([^ 	\n,]+\\)\\s-*," 1 error "Cannot find key for entry in file %s" set-mark] 5 (#$ . 4120) nil])#@26 

(fn KEYWORDS CONTINUE)
(defalias 'refer-find-entry-internal #[514 "\303!\304 \304 \203 \202 \305\306 C\307C\305C\310\311\312$!\262\2047 \313\314!\2031 \315 \262\316\314\"\262\317\n\203@ \202A !\210\3202\267 \242\203\256 \321\242@!\203Z \242@\202i \321\242@\322P!\205i \242@\322P\242\211\203\226 \323	#\203\212 `\324\307!\210\325\320\326!\"\266\202G \305\211\242A\240\266\202G \327 \210\330\331\242@\"\210\332\333!\210\211\242A\240\266\202G \327 \210\330\334	\"0\210\317!\207" [refer-saved-state refer-saved-pos refer-same-file refer-convert-string-to-list-of-strings selected-window nil refer-get-bib-files 0 get-window-with-predicate make-closure #[257 "\300\301\242\302\2428\240\203 \301\211\242T\240\210\300\242\303\304!!\230\203  \300\242\207" [V0 V1 V2 buffer-file-name window-buffer] 5 "\n\n(fn W)"] one-window-p nomini split-window next-window select-window found file-exists-p ".bib" refer-find-entry-in-file recenter throw find-file ding message "Scanning %s... No such file" sit-for 1 "Keywords \"%s\" not found in any .bib file"] 14 (#$ . 4684)])#@45 

(fn KEYWORDS-LIST FILE &optional OLD-POS)
(defalias 'refer-find-entry-in-file #[770 "\300\301\"\210\302!\210\303!q\210\304!\210\211\204 eb\210\202# \211b\210\305\306!\210`C\307C\310\211\204T m\204T \305\306!\210`\240\210\311\312\313#\"\262\211\204( \242\240\210\242b\210\202( \211\203h \242b\210\314\315\310\316#\210\300\317\"\207\300\320\"\210\310\207" [message "Scanning %s..." expand-file-name find-file-noselect find-file forward-paragraph 1 0 nil seq-every-p make-closure #[257 "\301\242b\210\302\300\242\303#\207" [V0 V1 re-search-forward t] 5 "\n\n(fn KEYWORD)"] re-search-forward "\\W" t "Scanning %s... found" "Scanning %s... not found"] 11 (#$ . 5789)])#@10 

(fn S)
(defalias 'refer-convert-string-to-list-of-strings #[257 "p\300\301!\211q\210\302 \210\303!c\210eb\210\304c\210\305\306\307\310#\203& \311\312\310\211#\210\202 db\210\313c\210eb\210\314!q\210\207" [get-buffer-create "*refer-temp*" erase-buffer regexp-quote "(\"" re-search-forward "[ 	]+" nil t replace-match "\" \"" "\")" read] 7 (#$ . 6481)])#@27 

(fn FILE-LIST DIR-LIST)
(defalias 'refer-expand-files #[514 "\300\211\211\211@\211\262\203_ \301!\262\211@\211\262\203X \302\303\"!\2033 \304\303\"C\"\262\300\262\202 \302\303\305P\"!\203Q \304\303\305P\"C\"\262\300\262\202 \211A\262\202 A\262\202 \207" [nil copy-alist file-exists-p expand-file-name append ".bib"] 11 (#$ . 6844)])
(defalias 'refer-get-bib-files #[0 "\204 \306\202z \307=\204 \310=\203o \311\307=\203 \312\202  \313!\314\204) \315\262\316\317\"\203T \320\211\224O\211\321\230\204I \322!\203I \323\314\"B\262\210\320\225\314O\262\202) \321\230\204e \322!\203e B\262\211\237\211\262\266\202\202z <\203x \202z C	\324\267\202\"\323\n\325=\203\234 \326\327\330\331\304 !\"\332\304 !\331\304 !\333$\202\242 \326\334\314\211\333$!C\202G\212\n\325=\211\203\265 \fC\202\366 eb\210\335\336P\314\333#\203\363 `\335\337\314\333#\210\340u\210`{C\341\342!\204\355 \343\344u\210`\335\337\314\333#\210\340u\210`{C\"\262\202\317 \211\262\202\366 \345\346!)\347\"\262\202G\211\237\314\211@\211\262\203\343\350\333\351#\"\262A\262\202\266\202\202G	<\203:\307=\2043\310=\203:\347	\"\202G	<\203C	\202G\345\352	\"\307=\204S\310=\203U+\203\\\211\207" [refer-bib-directory refer-bib-files major-mode refer-same-file buffer-file-name refer-bib-files-regexp (".") texinputs bibinputs getenv "TEXINPUTS" "BIBINPUTS" nil "." string-match ":" 0 "" file-directory-p expand-file-name #s(hash-table size 3 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (nil 128 auto 167 dir 256)) bibtex-mode read-file-name format-prompt ".bib file" file-name-nondirectory file-name-directory t ".bib file: " re-search-forward "\\s-*{" "[,}]" -1 looking-at "}" append 1 error "No \\\\bibliography command in this buffer, can't read refer-bib-files" refer-expand-files directory-files "\\.bib\\'" "Invalid value for refer-bib-files: %s" refer-cache-bib-files] 9])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias refer-every seq-every-p nil make-obsolete "28.1"] 4)
