Function: bibtex-autokey-get-names
bibtex-autokey-get-names is a byte-compiled function defined in
bibtex.el.gz.
Signature
(bibtex-autokey-get-names)
Documentation
Get contents of the name field of the current entry.
Do some modifications based on bibtex-autokey-name-change-strings.
Return the names as a concatenated string obeying bibtex-autokey-names
and bibtex-autokey-names-stretch.
Source Code
;; Defined in /usr/src/emacs/lisp/textmodes/bibtex.el.gz
(defun bibtex-autokey-get-names ()
"Get contents of the name field of the current entry.
Do some modifications based on `bibtex-autokey-name-change-strings'.
Return the names as a concatenated string obeying `bibtex-autokey-names'
and `bibtex-autokey-names-stretch'."
(let ((names (bibtex-autokey-get-field "author\\|editor"
bibtex-autokey-name-change-strings)))
;; Some entries do not have a name field.
(if (string= "" names)
names
(let* ((case-fold-search t)
(name-list (mapcar #'bibtex-autokey-demangle-name
(split-string names "[ \t\n]+and[ \t\n]+")))
additional-names)
(unless (or (not (numberp bibtex-autokey-names))
(<= (length name-list)
(+ bibtex-autokey-names
bibtex-autokey-names-stretch)))
;; Take `bibtex-autokey-names' elements from beginning of name-list
(setq name-list (nreverse (nthcdr (- (length name-list)
bibtex-autokey-names)
(nreverse name-list)))
additional-names bibtex-autokey-additional-names))
(concat (mapconcat #'identity name-list
bibtex-autokey-name-separator)
additional-names)))))