• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.9.5/emacs-92/emacs/lisp/textmodes/

Lines Matching defs:refer

0 ;;; refer.el --- look up references in bibliography files
31 ;; keywords, similar to refer(1). I don't use tags since tags on .bib files
32 ;; only picks up the cite key, where as refer-find-entry looks for occurrences
36 ;; (autoload 'refer-find-entry "refer" nil t)
37 ;; or (require 'refer)
40 ;; Invoke refer-find-entry, then in response to the Keywords: prompt,
45 ;; of the keywords, use refer-find-next-entry, or invoke refer-find-entry
49 ;; refer-yank-key to insert it at point in the current buffer
52 ;; I use (define-key tex-mode-map "\C-c\C-y" 'refer-yank-key)
56 ;; refer-bib-files.
59 ;; See variables refer-bib-files, refer-cache-bib-files and
60 ;; refer-bib-files-regexp. By default, these are set up so that refer
65 ;; of entries, one to a paragraph. refer-find-entry searches paragraph by
70 ;; the (forward-paragraph 1) call in refer-find-entry-in-file.
74 (provide 'refer)
76 (defgroup refer nil
78 :prefix "refer-"
81 (defcustom refer-bib-directory nil
85 list of directories. Useful only if `refer-bib-files' is set to 'dir or
89 If `refer-bib-directory' is 'bibinputs or 'texinputs, it is setq'd to
98 :group 'refer)
100 (defcustom refer-bib-files 'dir
105 `refer-bib-files-regexp') unless the buffer's mode is `bibtex-mode',
107 dir = use all \\.bib files in directories referenced by `refer-bib-directory'.
112 If `refer-bib-files' is nil, auto or dir, it is setq'd to the appropriate
113 list of files when it is first used if `refer-cache-bib-files' is t. If
114 `refer-cache-bib-files' is nil, the list of \\.bib files to use is re-read
117 :group 'refer)
119 (defcustom refer-cache-bib-files t
120 "*Variable determining whether the value of `refer-bib-files' should be cached.
121 If t, initialize the value of refer-bib-files the first time it is used. If
122 nil, re-read the list of \\.bib files depending on the value of `refer-bib-files'
125 :group 'refer)
127 (defcustom refer-bib-files-regexp "\\\\bibliography"
131 which is read to set up `refer-bib-files'. The regexp must specify the command
138 :group 'refer)
140 (make-variable-buffer-local 'refer-bib-files)
141 (make-variable-buffer-local 'refer-cache-bib-files)
142 (make-variable-buffer-local 'refer-bib-directory)
145 (defvar refer-saved-state nil)
146 (defvar refer-previous-keywords nil)
147 (defvar refer-saved-pos nil)
148 (defvar refer-same-file nil)
150 (defun refer-find-entry (keywords &optional continue)
151 "Find entry in refer-bib-files containing KEYWORDS.
157 refer-previous-keywords
159 (setq refer-previous-keywords keywords)
160 (refer-find-entry-internal keywords continue))
162 (defun refer-find-next-entry ()
163 "Find next occurrence of entry in `refer-bib-files'. See `refer-find-entry'."
165 (refer-find-entry-internal refer-previous-keywords t))
167 (defun refer-yank-key ()
169 found on the last `refer-find-entry' or `refer-find-next-entry'."
175 (find-file (car refer-saved-state))
180 (car refer-saved-state))))))
184 (defun refer-find-entry-internal (keywords continue)
185 (let ((keywords-list (refer-convert-string-to-list-of-strings keywords))
190 refer-saved-state
191 (setq refer-saved-pos nil)
192 (refer-get-bib-files)))
213 (select-window (if refer-same-file
221 (setq refer-saved-state files)
223 (if (refer-find-entry-in-file keywords-list file refer-saved-pos)
225 (setq refer-saved-pos (point))
228 (setq refer-saved-pos nil
238 (defun refer-find-entry-in-file (keywords-list file &optional old-pos)
255 (refer-every (function (lambda (keyword)
270 (defun refer-every (pred l)
274 (refer-every pred (cdr l))))))
276 (defun refer-convert-string-to-list-of-strings (s)
278 (temp-buffer (get-buffer-create "*refer-temp*")))
292 (defun refer-expand-files (file-list dir-list)
308 (defun refer-get-bib-files ()
311 ((null refer-bib-directory)
313 ((or (eq refer-bib-directory 'texinputs)
314 (eq refer-bib-directory 'bibinputs))
315 (let ((envvar (getenv (if (eq refer-bib-directory 'texinputs)
332 ((listp refer-bib-directory)
333 refer-bib-directory)
335 (list refer-bib-directory))))
338 ((null refer-bib-files)
349 ((eq refer-bib-files 'auto)
352 (if (setq refer-same-file (eq major-mode 'bibtex-mode))
356 (re-search-forward (concat refer-bib-files-regexp
376 "buffer, can't read refer-bib-files")))))))
377 (refer-expand-files files dir-list)))
378 ((eq refer-bib-files 'dir)
387 ((and (listp refer-bib-files)
388 (or (eq refer-bib-directory 'texinputs)
389 (eq refer-bib-directory 'bibinputs)))
390 (refer-expand-files refer-bib-files dir-list))
391 ((listp refer-bib-files) refer-bib-files)
392 (t (error "Invalid value for refer-bib-files: %s"
393 refer-bib-files)))))
394 (if (or (eq refer-bib-directory 'texinputs)
395 (eq refer-bib-directory 'bibinputs))
396 (setq refer-bib-directory dir-list))
397 (if refer-cache-bib-files
398 (setq refer-bib-files files))
402 ;;; refer.el ends here