(bibtex-find-text, bibtex-remove-double-quotes-or-braces):
Support both kind of delimiters (braces or quotes) regardless of the value of bibtex-field-left-delimiter and bibtex-field-right-delimiter. (bibtex-field-left-delimiter, bibtex-field-right-delimiter): Made buffer-local. (bibtex-beginning-of-entry): At the beginning of an entry, leave point at the beginning of that entry instead of moving to the beginning of the previous one. (bibtex-end-of-entry): Outside an entry, now move to the end of the *previous* entry (i.e. bibtex-beginning-of-entry and bibtex-end-of-entry are now idempotent). (bibtex-sort-entries, bibtex-clean-entry): Removed now obsolete calls of bibtex-beginning-of-entry just before calls to bibtex-end-of-entry. (bibtex-clean-entry): Minor change to adapt to new behavior of bibtex-beginning-of-entry.
This commit is contained in:
parent
da627a7158
commit
a9cb9b8010
1 changed files with 18 additions and 19 deletions
|
@ -1,6 +1,6 @@
|
|||
;;; bibtex.el --- BibTeX mode for GNU Emacs
|
||||
|
||||
;; Copyright (C) 1992, 1994 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Stefan Schoef <schoef@informatik.uni-oldenburg.de>
|
||||
;; Bengt Martensson <ubrinf!mond!bengt>
|
||||
|
@ -54,10 +54,14 @@
|
|||
;;; USER OPTIONS:
|
||||
|
||||
(defvar bibtex-field-left-delimiter "{"
|
||||
"*Set this to { or \" according to your personal preferences.")
|
||||
"*Set this to { or \" according to your personal preferences.
|
||||
This variable is buffer local.")
|
||||
(make-variable-buffer-local 'bibtex-field-left-delimiter)
|
||||
|
||||
(defvar bibtex-field-right-delimiter "}"
|
||||
"*Set this to } or \" according to your personal preferences.")
|
||||
"*Set this to } or \" according to your personal preferences.
|
||||
This variable is buffer local.")
|
||||
(make-variable-buffer-local 'bibtex-field-right-delimiter)
|
||||
|
||||
(defvar bibtex-include-OPTcrossref '("InProceedings" "InCollection")
|
||||
"*All entries listed here will have an OPTcrossref field.")
|
||||
|
@ -1390,22 +1394,18 @@ non-nil."
|
|||
If inside an entry, move to the beginning of it, otherwise move to the
|
||||
beginning of the previous entry."
|
||||
(interactive)
|
||||
(if (looking-at "^@")
|
||||
(forward-char))
|
||||
(re-search-backward "^@" nil 'move))
|
||||
|
||||
(defun bibtex-end-of-entry ()
|
||||
"Move to end of BibTeX entry.
|
||||
If inside an entry, move to the end of it, otherwise move to the end
|
||||
of the next entry."
|
||||
of the previous entry."
|
||||
(interactive)
|
||||
;; if point was previously at the end of an entry, this puts us
|
||||
;; inside the next entry, otherwise we remain in the current one.
|
||||
(progn
|
||||
(skip-whitespace-and-comments)
|
||||
(end-of-line))
|
||||
(bibtex-beginning-of-entry)
|
||||
(let ((parse-sexp-ignore-comments t))
|
||||
(forward-sexp) ; skip entry type
|
||||
(forward-sexp) ; skip entry body
|
||||
(forward-sexp 2) ;; skip entry type and body
|
||||
))
|
||||
|
||||
(defun bibtex-ispell-entry ()
|
||||
|
@ -1469,7 +1469,6 @@ Bugs:
|
|||
(point)
|
||||
(save-excursion
|
||||
(goto-char (point-max))
|
||||
(bibtex-beginning-of-entry)
|
||||
(bibtex-end-of-entry)
|
||||
(point)))
|
||||
(sort-subr
|
||||
|
@ -1608,10 +1607,12 @@ you can put comments here)."
|
|||
(if arg
|
||||
(progn
|
||||
(goto-char (match-beginning bibtex-text-in-field))
|
||||
(if (looking-at bibtex-field-left-delimiter)
|
||||
(if (looking-at "[{\"]")
|
||||
(forward-char 1)))
|
||||
(goto-char (match-end bibtex-text-in-field))
|
||||
(if (= (preceding-char) (aref bibtex-field-right-delimiter 0))
|
||||
(if (or
|
||||
(= (preceding-char) ?})
|
||||
(= (preceding-char) ?\"))
|
||||
(forward-char -1)))
|
||||
(if bibtex-help-message
|
||||
(bibtex-print-help-message)))
|
||||
|
@ -1642,10 +1643,10 @@ you can put comments here)."
|
|||
(stop (match-end bibtex-text-in-field)))
|
||||
(goto-char stop)
|
||||
(forward-char -1)
|
||||
(if (looking-at bibtex-field-right-delimiter)
|
||||
(if (looking-at "[}\"]")
|
||||
(delete-char 1))
|
||||
(goto-char start)
|
||||
(if (looking-at bibtex-field-left-delimiter)
|
||||
(if (looking-at "[{\"]")
|
||||
(delete-char 1)))))
|
||||
|
||||
(defun bibtex-kill-optional-field ()
|
||||
|
@ -1950,10 +1951,8 @@ given, calculate a new entry label."
|
|||
(forward-line -1)
|
||||
(end-of-line)
|
||||
(if (eq (preceding-char) ?,)
|
||||
(backward-delete-char 1)))
|
||||
(skip-whitespace-and-comments))
|
||||
(backward-delete-char 1))))
|
||||
(let* ((eob (progn
|
||||
(bibtex-beginning-of-entry)
|
||||
(bibtex-end-of-entry)
|
||||
(point)))
|
||||
(key (progn
|
||||
|
|
Loading…
Add table
Reference in a new issue