(tags-find-table-in-list): Only recurse if (tags-included-tables) returns
authorRoland McGrath <roland@gnu.org>
Mon, 2 May 1994 21:41:43 +0000 (21:41 +0000)
committerRoland McGrath <roland@gnu.org>
Mon, 2 May 1994 21:41:43 +0000 (21:41 +0000)
non-nil (avoid infinite recursion).

lisp/progmodes/etags.el

index fe871c9..72d30c9 100644 (file)
@@ -294,22 +294,24 @@ file the tag was in."
            (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