Function: bibtex-field-alist

bibtex-field-alist is a byte-compiled function defined in bibtex.el.gz.

Signature

(bibtex-field-alist DIALECT)

Documentation

Return field-alist for DIALECT.

Source Code

;; Defined in /usr/src/emacs/lisp/textmodes/bibtex.el.gz
(defun bibtex-field-alist (dialect)
  "Return field-alist for DIALECT."
  ;; This function is used only once by `bibtex-set-dialect'
  ;; to set the variable `bibtex-field-alist'.
  (cl-flet ((vfun (fmt)
              (let ((var (intern (format fmt dialect))))
                (if (boundp var)
                    (symbol-value var)
                  (user-error "BibTeX dialect `%s': `%s' undefined"
                              dialect var)))))
    (let ((field-alist (vfun "bibtex-%s-field-alist")))
      (cl-flet ((f-push (field)
                  (unless (assoc-string (car field) field-alist t)
                    (push (take 2 field) field-alist))))
        ;; Give higher precedence to entry definitions in aux-opt-alist
        (mapc #'f-push (vfun "bibtex-%s-aux-opt-alist"))
        (mapc #'f-push bibtex-aux-opt-alist)
        (mapc (lambda (entry)
                (if (listp (nth 2 entry)) ; not an alias
                    (mapc #'f-push (apply #'append (nthcdr 2 entry)))))
              (append (vfun "bibtex-%s-aux-entry-alist")
                      (vfun "bibtex-%s-entry-alist")))
        field-alist))))