* source.c (forget_cached_source_info): Clear last_source_visited.
authorDaniel Jacobowitz <drow@false.org>
Tue, 22 Sep 2009 22:34:17 +0000 (22:34 +0000)
committerDaniel Jacobowitz <drow@false.org>
Tue, 22 Sep 2009 22:34:17 +0000 (22:34 +0000)
(init_last_source_visited): Delete.
(directory_command): Do not clear last_source_visited.  Call
forget_cached_source_info only if required.
(unset_substitute_path_command, set_substitute_path_command): Call
forget_cached_source_info.
* mi/mi-cmd-env.c (mi_cmd_env_dir): Do not call
init_last_source_visited.
* defs.h (init_last_source_visited): Delete declaration.

gdb/ChangeLog
gdb/defs.h
gdb/mi/mi-cmd-env.c
gdb/source.c

index 4b443ab3aae07af78f99e41029a415fedfaafa20..cb94bd2d80a8cf2dcd54d69d48746835ee105c8e 100644 (file)
@@ -1,3 +1,15 @@
+2009-09-22  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * source.c (forget_cached_source_info): Clear last_source_visited.
+       (init_last_source_visited): Delete.
+       (directory_command): Do not clear last_source_visited.  Call
+       forget_cached_source_info only if required.
+       (unset_substitute_path_command, set_substitute_path_command): Call
+       forget_cached_source_info.
+       * mi/mi-cmd-env.c (mi_cmd_env_dir): Do not call
+       init_last_source_visited.
+       * defs.h (init_last_source_visited): Delete declaration.
+
 2009-09-22  Tom Tromey  <tromey@redhat.com>
 
        PR gdb/10583:
index f5127fd60530b66426f2100a4f936a1c4130211d..94674dc3418954b1e2f3b1070ebcfc904ed92706 100644 (file)
@@ -630,8 +630,6 @@ extern char *source_path;
 
 extern void init_source_path (void);
 
-extern void init_last_source_visited (void);
-
 /* From exec.c */
 
 /* Take over the 'find_mapped_memory' vector from exec.c. */
index cbc9bdb7ce0aa91095ea6527cdd5f57827c17ae6..9f7cfc202c96b56f28a622b86be69d3e142faf4a 100644 (file)
@@ -232,7 +232,6 @@ mi_cmd_env_dir (char *command, char **argv, int argc)
 
   for (i = argc - 1; i >= 0; --i)
     env_mod_path (argv[i], &source_path);
-  init_last_source_visited ();
 
   ui_out_field_string (uiout, "source-path", source_path);
   forget_cached_source_info ();
index c39c0a6adfb93082254e269580ffd54dae477ba1..7a2829bf77772c8138d72e64e3b1ce87d8cc4de5 100644 (file)
@@ -346,6 +346,8 @@ forget_cached_source_info (void)
          }
       }
     }
+
+  last_source_visited = NULL;
 }
 
 void
@@ -358,12 +360,6 @@ init_source_path (void)
   forget_cached_source_info ();
 }
 
-void
-init_last_source_visited (void)
-{
-  last_source_visited = NULL;
-}
-
 /* Add zero or more directories to the front of the source path.  */
 
 void
@@ -382,11 +378,10 @@ directory_command (char *dirname, int from_tty)
   else
     {
       mod_path (dirname, &source_path);
-      last_source_visited = NULL;
+      forget_cached_source_info ();
     }
   if (from_tty)
     show_directories ((char *) 0, from_tty);
-  forget_cached_source_info ();
 }
 
 /* Add a path given with the -d command line switch.
@@ -1883,6 +1878,8 @@ unset_substitute_path_command (char *args, int from_tty)
 
   if (from != NULL && !rule_found)
     error (_("No substitution rule defined for `%s'"), from);
+
+  forget_cached_source_info ();
 }
 
 /* Add a new source path substitution rule.  */
@@ -1921,6 +1918,7 @@ set_substitute_path_command (char *args, int from_tty)
   /* Insert the new substitution rule.  */
 
   add_substitute_path_rule (argv[0], argv[1]);
+  forget_cached_source_info ();
 }
 
 \f