diff lisp/info.el @ 31942:55dd93c0d728

(Info-extract-pointer): Widen more carefully, to avoid finding pointers in other nodes. (Info-index): Use push.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Wed, 27 Sep 2000 21:55:54 +0000
parents 460c3cd7b368
children bd3d00aa97bf
line wrap: on
line diff
--- a/lisp/info.el	Wed Sep 27 14:23:47 2000 +0000
+++ b/lisp/info.el	Wed Sep 27 21:55:54 2000 +0000
@@ -371,7 +371,7 @@
 	       (save-buffers-kill-emacs)))
     (info)))
 
-;; See if the the accessible portion of the buffer begins with a node
+;; See if the accessible portion of the buffer begins with a node
 ;; delimiter, and the node header line which follows matches REGEXP.
 ;; Typically, this test will be followed by a loop that examines the
 ;; rest of the buffer with (search-forward "\n\^_"), and it's a pity
@@ -381,7 +381,7 @@
 ;; want to use the results of re-search-backward.
 
 ;; The return value is the value of point at the beginning of matching
-;; REGERXP, if the function succeeds, nil otherwise.
+;; REGEXP, if the function succeeds, nil otherwise.
 (defun Info-node-at-bob-matching (regexp)
   (and (bobp)				; are we at beginning of buffer?
        (looking-at "\^_")		; does it begin with node delimiter?
@@ -1144,8 +1144,10 @@
 	(goto-char (point-min))
 	(when Info-header-line
 	  ;; expose the header line in the buffer
-	  (widen)
-	  (forward-line -1))
+	  (let ((end (point-max)))
+	    (widen)
+	    (forward-line -1)
+	    (narrow-to-region (point) end)))
 	(let ((bound (point)))
 	  (forward-line 1)
 	  (cond ((re-search-backward (concat name ":") nil bound)
@@ -1736,13 +1738,12 @@
 	      (progn
 		(goto-char (point-min))
 		(while (re-search-forward pattern nil t)
-		  (setq matches
-			(cons (list (match-string-no-properties 1)
-				    (match-string-no-properties 2)
-				    Info-current-node
-				    (string-to-int (concat "0"
-							   (match-string 3))))
-			      matches)))
+		  (push (list (match-string-no-properties 1)
+			      (match-string-no-properties 2)
+			      Info-current-node
+			      (string-to-int (concat "0"
+						     (match-string 3))))
+			matches))
 		(and (setq node (Info-extract-pointer "next" t))
 		     (string-match "\\<Index\\>" node)))
 	    (Info-goto-node node))