]> git.eshelyaron.com Git - emacs.git/commitdiff
lisp/textmodes/bibtex.el: fix bibtex-beginning-of-entry (bug#56636)
authorRoland Winkler <winkler@gnu.org>
Fri, 30 Dec 2022 05:31:08 +0000 (23:31 -0600)
committerRoland Winkler <winkler@gnu.org>
Fri, 30 Dec 2022 05:31:08 +0000 (23:31 -0600)
lisp/textmodes/bibtex.el (bibtex-beginning-of-entry):
use bibtex-any-entry-maybe-empty-head (bug#56636)

lisp/textmodes/bibtex.el

index a1a3cbd8f14f2e3a72f0b6a9c1d31d2d179deced..239097428898ff78b4cefffc3ee24b27f94a6057 100644 (file)
@@ -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 ()