From: Richard M. Stallman Date: Sun, 8 Dec 1996 07:37:55 +0000 (+0000) Subject: (Info-get-token): Find tokens where START matches X-Git-Tag: emacs-20.1~3306 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=345d9d7376c5f09febec087e3e60fadedb284b71;p=emacs.git (Info-get-token): Find tokens where START matches --- diff --git a/lisp/info.el b/lisp/info.el index c3df1a843be..ba24cec25d3 100644 --- a/lisp/info.el +++ b/lisp/info.el @@ -1471,7 +1471,16 @@ SIG optional fourth argument, controls action on no match a string: signal an error, using that string." (save-excursion (goto-char pos) - (re-search-backward start (max (point-min) (- pos 200)) 'yes) + ;; First look for a match for START that goes across POS. + (while (and (not (bobp)) (> (point) (- pos (length start))) + (not (looking-at start))) + (forward-char -1)) + ;; If we did not find one, search back for START + ;; (this finds only matches that end at or before POS). + (or (looking-at start) + (progn + (goto-char pos) + (re-search-backward start (max (point-min) (- pos 200)) 'yes))) (let (found) (while (and (re-search-forward all (min (point-max) (+ pos 200)) 'yes) (not (setq found (and (<= (match-beginning 0) pos)