+2007-04-15 Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
+
+ * textmodes/bibtex.el (bibtex-field-list): Use functionp.
+ (bibtex-make-field): Check that INIT is a string. Use functionp.
+
2007-04-14 Glenn Morris <rgm@gnu.org>
* complete.el (PC-goto-end): New buffer-local variable.
(push (list "key"
"Used for reference key creation if author and editor fields are missing"
(if (or (stringp bibtex-include-OPTkey)
- (fboundp bibtex-include-OPTkey))
+ (functionp bibtex-include-OPTkey))
bibtex-include-OPTkey))
optional))
(if (member-ignore-case entry-type bibtex-include-OPTcrossref)
the new field. If INTERACTIVE is non-nil, move point to the end of
the new field. Otherwise move point past the new field.
MOVE and INTERACTIVE are t when called interactively.
-INIT is surrounded by delimiters, unless NODELIM is non-nil."
+INIT is surrounded by field delimiters, unless NODELIM is non-nil."
(interactive
(list (let ((completion-ignore-case t)
(field-list (bibtex-field-list
(indent-to-column (+ bibtex-entry-offset
bibtex-text-indentation)))
(let ((init (nth 2 field)))
- (insert (if nodelim
- ""
- (bibtex-field-left-delimiter))
- (cond ((stringp init) init)
- ((fboundp init) (funcall init))
- (t ""))
- (if nodelim
- ""
+ (if (not init) (setq init "")
+ (if (functionp init) (setq init (funcall init)))
+ (unless (stringp init) (error "`%s' is not a string" init)))
+ ;; NODELIM is required by `bibtex-insert-kill'
+ (if nodelim (insert init)
+ (insert (bibtex-field-left-delimiter) init
(bibtex-field-right-delimiter))))
(when interactive
;; (bibtex-find-text nil nil bibtex-help-message)