public inbox for insight@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] use an observer instead of deprecated_file_changed_hook
@ 2014-01-07 19:09 Tom Tromey
  2014-01-07 20:03 ` Keith Seitz
  0 siblings, 1 reply; 4+ messages in thread
From: Tom Tromey @ 2014-01-07 19:09 UTC (permalink / raw)
  To: Insight List

This patch changes Insight to use the new_objfile observer rather than
deprecated_file_changed_hook.  This will let us remove
deprecated_file_changed_hook from gdb.

I think it works ok.  I tested it by running the "file" command in the
console and seeing whether insight reacted.  I'm not totally sure
whether this is a sufficient check, though.

Ok?

Tom

gdb/gdbtk/ChangeLog:
2014-01-07  Tom Tromey  <tromey@redhat.com>

	* generic/gdbtk-hooks.c (gdbtk_new_objfile): New function.
	(gdbtk_file_changed): Remove.
	(gdbtk_add_hooks): Register "new_objfile" observer.  Don't set
	deprecated_file_changed_hook.

Index: gdb/gdbtk/generic/gdbtk-hooks.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbtk/generic/gdbtk-hooks.c,v
retrieving revision 1.60
diff -u -r1.60 gdbtk-hooks.c
--- gdb/gdbtk/generic/gdbtk-hooks.c	2 Jul 2013 17:07:29 -0000	1.60
+++ gdb/gdbtk/generic/gdbtk-hooks.c	7 Jan 2014 19:07:52 -0000
@@ -1,7 +1,7 @@
 /* Startup code for Insight.
 
    Copyright (C) 1994, 1995, 1996, 1997, 1998, 2000, 200, 2002, 2003, 2004,
-   2008, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
+   2008, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
 
    Written by Stu Grossman <grossman@cygnus.com> of Cygnus Support.
 
@@ -77,7 +77,7 @@
 static void gdbtk_trace_start_stop (int, int);
 static void gdbtk_attach (void);
 static void gdbtk_detach (void);
-static void gdbtk_file_changed (char *);
+static void gdbtk_new_objfile (struct objfile *);
 static void gdbtk_exec_file_display (char *);
 static void gdbtk_call_command (struct cmd_list_element *, char *, int);
 static ptid_t gdbtk_wait (ptid_t, struct target_waitstatus *, int);
@@ -144,7 +144,8 @@
   deprecated_ui_loop_hook = x_event;
   deprecated_pre_add_symbol_hook = gdbtk_pre_add_symbol;
   deprecated_post_add_symbol_hook = gdbtk_post_add_symbol;
-  deprecated_file_changed_hook = gdbtk_file_changed;
+  observer_attach_new_objfile (gdbtk_new_objfile);
+
   specify_exec_file_hook (gdbtk_exec_file_display);
 
   deprecated_trace_find_hook = gdbtk_trace_find;
@@ -764,11 +765,12 @@
   gdb_context = num;
 }
 
-/* Called from file_command */
+/* Called from file_command, via the symfile observer.  */
 static void
-gdbtk_file_changed (char *filename)
+gdbtk_new_objfile (struct objfile *objfile)
 {
-  gdbtk_two_elem_cmd ("gdbtk_tcl_file_changed", filename);
+  if (objfile == symfile_objfile && objfile != NULL)
+    gdbtk_two_elem_cmd ("gdbtk_tcl_file_changed", objfile->original_name);
 }
 
 /* Called from exec_file_command */

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-01-09 17:25 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-07 19:09 [PATCH] use an observer instead of deprecated_file_changed_hook Tom Tromey
2014-01-07 20:03 ` Keith Seitz
2014-01-09 17:13   ` Tom Tromey
2014-01-09 17:25     ` Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).