]> git.eshelyaron.com Git - emacs.git/commitdiff
(bibtex-insert-kill): Pass non-nil NODELIM arg to bibtex-make-field.
authorGlenn Morris <rgm@gnu.org>
Sat, 14 Apr 2007 19:12:59 +0000 (19:12 +0000)
committerGlenn Morris <rgm@gnu.org>
Sat, 14 Apr 2007 19:12:59 +0000 (19:12 +0000)
(bibtex-make-field): Add optional fourth arg NODELIM.  Insert
delimiters around INIT unless this arg is non-nil.

lisp/textmodes/bibtex.el

index 06fa3a01186b1398b0304ef64c1a69956481cdda..e9c52ecb8d63bc28cf665227578a08030e7f8c17 100644 (file)
@@ -1785,7 +1785,7 @@ Optional arg COMMA is as in `bibtex-enclosing-field'."
           (set-mark (point))
           (message "Mark set")
           (bibtex-make-field (funcall fun 'bibtex-field-kill-ring-yank-pointer
-                                      bibtex-field-kill-ring) t))
+                                      bibtex-field-kill-ring) t nil t))
       ;; insert past the current entry
       (bibtex-skip-to-valid-entry)
       (set-mark (point))
@@ -3020,7 +3020,7 @@ interactive calls."
       (if comment (message "%s" (nth 1 comment))
         (message "No comment available")))))
 
-(defun bibtex-make-field (field &optional move interactive)
+(defun bibtex-make-field (field &optional move interactive nodelim)
   "Make a field named FIELD in current BibTeX entry.
 FIELD is either a string or a list of the form
 \(FIELD-NAME COMMENT-STRING INIT ALTERNATIVE-FLAG) as in
@@ -3028,7 +3028,8 @@ FIELD is either a string or a list of the form
 If MOVE is non-nil, move point past the present field before making
 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."
+MOVE and INTERACTIVE are t when called interactively.
+INIT is surrounded by delimiters, unless NODELIM is non-nil."
   (interactive
    (list (let ((completion-ignore-case t)
                (field-list (bibtex-field-list
@@ -3058,10 +3059,15 @@ MOVE and INTERACTIVE are t when called interactively."
     (indent-to-column (+ bibtex-entry-offset
                          bibtex-text-indentation)))
   (let ((init (nth 2 field)))
-    (insert (cond ((stringp init) init)
+    (insert (if nodelim
+                ""
+              (bibtex-field-left-delimiter))
+            (cond ((stringp init) init)
                   ((fboundp init) (funcall init))
-                  (t (concat (bibtex-field-left-delimiter)
-                             (bibtex-field-right-delimiter))))))
+                  (t ""))
+            (if nodelim
+                ""
+              (bibtex-field-right-delimiter))))
   (when interactive
     ;; (bibtex-find-text nil nil bibtex-help-message)
     (if (memq (preceding-char) '(?} ?\")) (forward-char -1))