changeset 7284:87be9630459d

(tags-find-table-in-list): Only recurse if (tags-included-tables) returns non-nil (avoid infinite recursion).
author Roland McGrath <roland@gnu.org>
date Mon, 02 May 1994 21:41:43 +0000
parents 3dc9a9e95d32
children 27e6ef8494b2
files lisp/progmodes/etags.el
diffstat 1 files changed, 18 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/etags.el	Mon May 02 21:24:16 1994 +0000
+++ b/lisp/progmodes/etags.el	Mon May 02 21:41:43 1994 +0000
@@ -294,22 +294,24 @@
 	    (let ((tags-file-name this-file)
 		  found)
 	      (visit-tags-table-buffer 'same)
-	      (if (tags-find-table-in-list file recursing-move-to
-					   (tags-included-tables))
-		  (progn
-		    ;; We found FILE in the included table.
-		    (if move-to
-			(progn
-			  ;; The recursive call has already frobbed the list
-			  ;; pointers.  It set tags-table-parent-pointer-list
-			  ;; to a list including RECURSING-MOVE-TO.  Now we
-			  ;; must mutate that cons so its list pointers show
-			  ;; the position where we found this included table.
-			  (setcar (cdr (car recursing-move-to)) list)
-			  (setcar (cdr (cdr (car recursing-move-to))) list)
-			  ;; Don't do further list frobnication below.
-			  (setq move-to nil)))
-		    (setq list t))))))
+	      (and (tags-included-tables)
+		   ;; We have some included tables; check them.
+		   (tags-find-table-in-list file recursing-move-to
+					    tags-included-tables)
+		   (progn
+		     ;; We found FILE in the included table.
+		     (if move-to
+			 (progn
+			   ;; The recursive call has already frobbed the list
+			   ;; pointers.  It set tags-table-parent-pointer-list
+			   ;; to a list including RECURSING-MOVE-TO.  Now we
+			   ;; must mutate that cons so its list pointers show
+			   ;; the position where we found this included table.
+			   (setcar (cdr (car recursing-move-to)) list)
+			   (setcar (cdr (cdr (car recursing-move-to))) list)
+			   ;; Don't do further list frobnication below.
+			   (setq move-to nil)))
+		     (setq list t))))))
       (if (consp list)
 	  (setq list (cdr list))))
     (and list move-to