From: Tom Tromey <tromey@redhat.com>
To: Insight List <insight@sourceware.org>
Subject: [PATCH] use an observer instead of deprecated_file_changed_hook
Date: Tue, 07 Jan 2014 19:09:00 -0000 [thread overview]
Message-ID: <871u0jhamf.fsf@fleche.redhat.com> (raw)
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 */
next reply other threads:[~2014-01-07 19:09 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-07 19:09 Tom Tromey [this message]
2014-01-07 20:03 ` Keith Seitz
2014-01-09 17:13 ` Tom Tromey
2014-01-09 17:25 ` Tom Tromey
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871u0jhamf.fsf@fleche.redhat.com \
--to=tromey@redhat.com \
--cc=insight@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).