[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r112279: lisp/textmodes/bibtex.el (bi
From: |
Roland Winkler |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r112279: lisp/textmodes/bibtex.el (bibtex-search-entries): Bug fix |
Date: |
Sat, 13 Apr 2013 15:45:03 -0500 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 112279
committer: Roland Winkler <address@hidden>
branch nick: trunk
timestamp: Sat 2013-04-13 15:45:03 -0500
message:
lisp/textmodes/bibtex.el (bibtex-search-entries): Bug fix
modified:
lisp/ChangeLog
lisp/textmodes/bibtex.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2013-04-13 20:41:52 +0000
+++ b/lisp/ChangeLog 2013-04-13 20:45:03 +0000
@@ -1,5 +1,10 @@
2013-04-13 Roland Winkler <address@hidden>
+ * textmodes/bibtex.el (bibtex-search-entries): Bug fix. Use match
+ data before it gets modified by bibtex-beginning-of-entry.
+
+2013-04-13 Roland Winkler <address@hidden>
+
* textmodes/bibtex.el (bibtex-url): Doc fix.
2013-04-13 Roland Winkler <address@hidden>
=== modified file 'lisp/textmodes/bibtex.el'
--- a/lisp/textmodes/bibtex.el 2013-04-13 20:41:52 +0000
+++ b/lisp/textmodes/bibtex.el 2013-04-13 20:45:03 +0000
@@ -5241,19 +5241,22 @@
(if (string= "" field)
;; Unrestricted search.
(while (re-search-forward regexp nil t)
- (let ((beg (bibtex-beginning-of-entry))
- (end (bibtex-end-of-entry))
- key)
- (if (and (<= beg (match-beginning 0))
- (<= (match-end 0) end)
- (save-excursion
- (goto-char beg)
- (and (looking-at bibtex-entry-head)
- (setq key (bibtex-key-in-head))))
- (not (assoc key entries)))
- (push (list key file
- (buffer-substring-no-properties beg end))
- entries))))
+ (save-excursion
+ (let ((mbeg (match-beginning 0))
+ (mend (match-end 0))
+ (beg (bibtex-beginning-of-entry))
+ (end (bibtex-end-of-entry))
+ key)
+ (if (and (<= beg mbeg)
+ (<= mend end)
+ (progn
+ (goto-char beg)
+ (looking-at bibtex-entry-head))
+ (setq key (bibtex-key-in-head))
+ (not (assoc key entries)))
+ (push (list key file
+ (buffer-substring-no-properties beg end))
+ entries)))))
;; The following is slow. But it works reliably even in more
;; complicated cases with BibTeX string constants and crossrefed
;; entries. If you prefer speed over reliability, perform an
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r112279: lisp/textmodes/bibtex.el (bibtex-search-entries): Bug fix,
Roland Winkler <=