Function: bibtex-entry-alist
bibtex-entry-alist is a byte-compiled function defined in
bibtex.el.gz.
Signature
(bibtex-entry-alist DIALECT)
Documentation
Return entry-alist for DIALECT.
Source Code
;; Defined in /usr/src/emacs/lisp/textmodes/bibtex.el.gz
(defun bibtex-entry-alist (dialect)
"Return entry-alist for DIALECT."
(let ((var (intern (format "bibtex-%s-entry-alist" dialect)))
entry-alist)
(if (boundp var)
(setq entry-alist (symbol-value var))
(user-error "BibTeX dialect `%s' undefined" dialect))
(if (not (consp (nth 1 (car entry-alist))))
;; new format
entry-alist
;; Convert old format of `bibtex-entry-field-alist'
(unless (get var 'entry-list-format)
(put var 'entry-list-format "pre-24")
(message "Old format of `%s' (pre GNU Emacs 24).
Please convert to the new format."
(if (eq (indirect-variable 'bibtex-entry-field-alist) var)
'bibtex-entry-field-alist var))
(sit-for 3))
(let (lst)
(dolist (entry entry-alist)
(let ((fl (nth 1 entry)) req xref opt)
(dolist (field (copy-tree (car fl)))
(if (nth 3 field) (setcar (nthcdr 3 field) 0))
(if (or (not (nth 2 entry))
(assoc-string (car field) (car (nth 2 entry)) t))
(push field req)
(push field xref)))
(dolist (field (nth 1 fl))
(push field opt))
(push (list (car entry) nil (nreverse req)
(nreverse xref) (nreverse opt))
lst)))
(nreverse lst)))))