* top.c (filename_completer): Set subsequent_name to 1 early on,
authorEli Zaretskii <eliz@gnu.org>
Thu, 6 Apr 2000 15:24:36 +0000 (15:24 +0000)
committerEli Zaretskii <eliz@gnu.org>
Thu, 6 Apr 2000 15:24:36 +0000 (15:24 +0000)
to prevent an infinite loop if the first file in the directory is
a backup file.

gdb/ChangeLog
gdb/top.c

index 2ac78b274ef971020bddbaf5ac74f0cd69958d22..2d684f9bbcf615b88d92d44d0fd74ad3d917809c 100644 (file)
@@ -1,3 +1,9 @@
+2000-04-06  Eli Zaretskii  <eliz@is.elta.co.il>
+
+       * top.c (filename_completer): Set subsequent_name to 1 early on,
+       to prevent an infinite loop if the first file in the directory is
+       a backup file (whose name ends in a `~').
+
 2000-04-05  Jim Blandy  <jimb@redhat.com>
 
        * solib.c (update_solib_list): New function.
index dd5a8c3a60855077bb945e0ba8e16fd9e39b1659..7c996499db74452bc8e3c22272b79bafe88c5594 100644 (file)
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -1887,6 +1887,11 @@ filename_completer (text, word)
          return_val[return_val_used++] = p;
          break;
        }
+      /* We need to set subsequent_name to a non-zero value before the
+        continue line below, because otherwise, if the first file seen
+        by GDB is a backup file whose name ends in a `~', we will loop
+        indefinitely.  */
+      subsequent_name = 1;
       /* Like emacs, don't complete on old versions.  Especially useful
          in the "source" command.  */
       if (p[strlen (p) - 1] == '~')
@@ -1916,7 +1921,6 @@ filename_completer (text, word)
            free (p);
          }
       }
-      subsequent_name = 1;
     }
 #if 0
   /* There is no way to do this just long enough to affect quote inserting