Mercurial > emacs
changeset 77206:389303f02afc
(bibtex-insert-kill): Pass non-nil NODELIM arg to bibtex-make-field.
(bibtex-make-field): Add optional fourth arg NODELIM. Insert
delimiters around INIT unless this arg is non-nil.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Sat, 14 Apr 2007 19:12:59 +0000 |
parents | 4c7f7728e65f |
children | ae4799c2816f |
files | lisp/textmodes/bibtex.el |
diffstat | 1 files changed, 12 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/textmodes/bibtex.el Sat Apr 14 19:12:31 2007 +0000 +++ b/lisp/textmodes/bibtex.el Sat Apr 14 19:12:59 2007 +0000 @@ -1785,7 +1785,7 @@ (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 @@ (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 @@ 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 @@ (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))