(Info-get-token): Find tokens where START matches
authorRichard M. Stallman <rms@gnu.org>
Sun, 8 Dec 1996 07:37:55 +0000 (07:37 +0000)
committerRichard M. Stallman <rms@gnu.org>
Sun, 8 Dec 1996 07:37:55 +0000 (07:37 +0000)
lisp/info.el

index c3df1a8..ba24cec 100644 (file)
@@ -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)