emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-29 644c71d678 2/2: lisp/textmodes/bibtex.el: fix bibtex-beginning-


From: Roland Winkler
Subject: emacs-29 644c71d678 2/2: lisp/textmodes/bibtex.el: fix bibtex-beginning-of-entry (bug#56636)
Date: Fri, 30 Dec 2022 00:33:53 -0500 (EST)

branch: emacs-29
commit 644c71d6788d268cb065bd9317efb8a16a8236e6
Author: Roland Winkler <winkler@gnu.org>
Commit: Roland Winkler <winkler@gnu.org>

    lisp/textmodes/bibtex.el: fix bibtex-beginning-of-entry (bug#56636)
    
    lisp/textmodes/bibtex.el (bibtex-beginning-of-entry):
    use bibtex-any-entry-maybe-empty-head (bug#56636)
---
 lisp/textmodes/bibtex.el | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
index a1a3cbd8f1..2390974288 100644
--- a/lisp/textmodes/bibtex.el
+++ b/lisp/textmodes/bibtex.el
@@ -4083,11 +4083,19 @@ INIT is surrounded by field delimiters, unless NODELIM 
is non-nil."
 If inside an entry, move to the beginning of it, otherwise move to the
 beginning of the previous entry.  If point is ahead of all BibTeX entries
 move point to the beginning of buffer.  Return the new location of point."
+  ;; This command is similar to `beginning-of-defun', but with historical
+  ;; differences.
+  ;; - It does not move point to the previous entry if point is already
+  ;;   at the beginning of an entry
+  ;; - It does not take an optional ARG that moves backward to the beginning
+  ;;   of a defun ARG times.
+  ;; - It returns point and the code relies on this.
   (interactive)
-  (skip-chars-forward " \t")
-  (if (looking-at "@")
-      (forward-char))
-  (re-search-backward "^[ \t]*@" nil 'move)
+  (beginning-of-line)
+  ;; `bibtex-any-valid-entry-type' would fail if users "disable"
+  ;; an entry by chosing an invalid entry type.
+  (or (looking-at bibtex-any-entry-maybe-empty-head)
+      (re-search-backward bibtex-any-entry-maybe-empty-head nil 'move))
   (point))
 
 (defun bibtex-end-of-entry ()



reply via email to

[Prev in Thread] Current Thread [Next in Thread]