changeset 14560:b0df80fef82c

(Info-find-index-name): New subroutine, from Info-index-next. Match any type of definition, not just Function and Command. (Info-index-next): Use Info-find-index-name. (Info-find-node, Info-index, Info-index-next): Use `...' in err msgs.
author Richard M. Stallman <rms@gnu.org>
date Mon, 12 Feb 1996 20:57:39 +0000
parents de955910bcef
children 6d6fd8e250ed
files lisp/info.el
diffstat 1 files changed, 18 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/info.el	Mon Feb 12 20:56:46 1996 +0000
+++ b/lisp/info.el	Mon Feb 12 20:57:39 1996 +0000
@@ -374,7 +374,7 @@
 			(if (not (eq (current-buffer) (get-buffer "*info*")))
 			    (setq guesspos
 				  (Info-read-subfile guesspos))))
-		    (error "No such node: \"%s\"" nodename))))
+		    (error "No such node: `%s'" nodename))))
 	    (goto-char (max (point-min) (- guesspos 1000)))
 	    ;; Now search from our advised position (or from beg of buffer)
 	    ;; to find the actual node.
@@ -1328,7 +1328,7 @@
 	  (or matches
 	      (progn
 		(Info-last)
-		(error "No \"%s\" in index" topic)))
+		(error "No `%s' in index" topic)))
 	  ;; Here it is a feature that assoc is case-sensitive.
 	  (while (setq found (assoc topic matches))
 	    (setq exact (cons found exact)
@@ -1353,24 +1353,28 @@
       (forward-line (nth 3 (car Info-index-alternatives)))
     (forward-line 3)  ; don't search in headers
     (let ((name (car (car Info-index-alternatives))))
-      (if (or (re-search-forward (format
-				  "\\(Function\\|Command\\): %s\\( \\|$\\)"
-				  (regexp-quote name)) nil t)
-	      (search-forward (format "`%s'" name) nil t)
-	      (and (string-match "\\`.*\\( (.*)\\)\\'" name)
-		   (search-forward
-		    (format "`%s'" (substring name 0 (match-beginning 1)))
-		    nil t))
-	      (search-forward name nil t))
-	  (beginning-of-line)
-	(goto-char (point-min)))))
-  (message "Found \"%s\" in %s.  %s"
+      (Info-find-index-name name)))
+  (message "Found `%s' in %s.  %s"
 	   (car (car Info-index-alternatives))
 	   (nth 2 (car Info-index-alternatives))
 	   (if (cdr Info-index-alternatives)
 	       "(Press `,' for more)"
 	     "(Only match)")))
 
+(defun Info-find-index-name (name)
+  "Move point to the place within the current node where NAME is defined."
+  (if (or (re-search-forward (format
+			      "[a-zA-Z]+: %s\\( \\|$\\)"
+			      (regexp-quote name)) nil t)
+	  (search-forward (format "`%s'" name) nil t)
+	  (and (string-match "\\`.*\\( (.*)\\)\\'" name)
+	       (search-forward
+		(format "`%s'" (substring name 0 (match-beginning 1)))
+		nil t))
+	  (search-forward name nil t))
+      (beginning-of-line)
+    (goto-char (point-min))))
+
 (defun Info-undefined ()
   "Make command be undefined in Info."
   (interactive)