changeset 77217:f00e4356c78d

(bibtex-field-list): Use functionp. (bibtex-make-field): Check that INIT is a string. Use functionp.
author Roland Winkler <Roland.Winkler@physik.uni-erlangen.de>
date Sun, 15 Apr 2007 16:03:07 +0000
parents 5a8fd913621c
children a25a5a78fd63
files lisp/textmodes/bibtex.el
diffstat 1 files changed, 8 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/textmodes/bibtex.el	Sun Apr 15 14:52:51 2007 +0000
+++ b/lisp/textmodes/bibtex.el	Sun Apr 15 16:03:07 2007 +0000
@@ -2831,7 +2831,7 @@
         (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)
@@ -3029,7 +3029,7 @@
 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
@@ -3059,14 +3059,12 @@
     (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)