Mercurial > emacs
changeset 11373:8381a25d021e
(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.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 11 Apr 1995 19:47:26 +0000 |
parents | 874b91f4adc4 |
children | 1ebc81f84aa4 |
files | lisp/textmodes/bibtex.el |
diffstat | 1 files changed, 18 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/textmodes/bibtex.el Tue Apr 11 15:56:53 1995 +0000 +++ b/lisp/textmodes/bibtex.el Tue Apr 11 19:47:26 1995 +0000 @@ -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 @@ 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 @@ (point) (save-excursion (goto-char (point-max)) - (bibtex-beginning-of-entry) (bibtex-end-of-entry) (point))) (sort-subr @@ -1608,10 +1607,12 @@ (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 @@ (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 @@ (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