2008-04-06 Dodji Seketeli <dodji@gnome.org>

=============== 0.5.2 release ===================

2008-04-06 Dodji Seketeli <dodji@gnome.org>

	* NEWS: updated.

2008-04-06 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdbmi-parser.cc:
	  (parse_breakpoint): fix PENDING breakpoint parsing. This was leading
	  to a crash in cases where the breakpoint was being set using
	  "break function-name". It was okay for "break file-name:line-num"
	  though.
	* tests/test-gdbmi.cc: add regression testing for this bugfix.
	* src/dbgengine/nmv-gdb-engine.cc:
	  (GDBEngine::load_program): make sure to "set breakpoint pending on"
	  and not "set breakpoint pending auto", otherwise, pending breakpoint
	  will not be supported in nemiver.
	  (GDBEngine::set_breakpoint): when setting breakpoint on a function
	  name that is a not-yet-loaded library, give gdb a chance to set the
	  breakpoint 'pending'. For that, do not use the the MI syntax to set
	  the breakpoint because MI does not support pending breakpoints.
	  As the syntax is not MI, gdb won't return an MI notification about the
	  breakpoint being set. That is why we need to query gdb for the list of
	  breakpoints right after setting it this breakpoint.

2008-04-06 Dodji Seketeli <dodji@gnome.org>

	* NEWS, configure.ac: bump version number to 0.5.2

2008-04-06 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  (DBGPerspective::on_program_finished_signal): update the title of the
	  workbench window when the inferior dies. This should fix bug
	  "526291 – Nemiver doesn't propose to stop the debugging application"

2008-04-06 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdbmi-parser.cc:
	  (parse_out_of_band_record): recognise lines starting with '='
	  - i.e =thread-created,id=1\n - in gdbmi output records, parse them
	  and ignore them. Otherwise, the output record parsing code goes into
	  and infinite loop, leading to nemiver taking 100% CPU for ever.
	  I don't understand why this is happening now, with a gdb version
	  6.8.50 from CVS.
	* tests/test-gdbmi.cc: update this test to catch a regression on this
	  fix.

2008-04-06 Dodji Seketeli <dodji@gnome.org>

	* tests/Makefile.am: don't run runtestoverloads automatically because
	  gdb has broken it. Also, don't run runtestglobalvariables because
	  the functionality is not mature yet. When the version of libstdc++
	  changes the result of the test changes.

2008-03-24  Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc: fix an annoying packet buffer
	  management buffer that lead to some random errors when
	  GDBEngine receives large gdb output in chunk.

================ 0.5.1 release ===================

2008-03-17  Dodji Seketeli <dodji@gnome.org>

	* src/common/nmv-proc-utils.cc,h:
	  added  is_libtool_executable_wrapper () entry point to detect whever
	  if a file is a litbool wrapper to an executable. If so, it returns
	  the path to the actual executable that is wrapped.
	* tests/test-libtool-wrapper-detection.cc: added a regression test.
	* src/dbgengine/nmv-gdb-engine.cc:
	  (GDBEngine::load_program): check if the program to load is a litbool
	  wrapper. If yes, load the actuall binary instead.

2008-03-16  Jonathon Jongsma  <jjongsma@gnome.org>

	patch by: Peter Gordon <peter@thecodergeek.com>

	* src/confmgr/nmv-gconf-mgr.cc:
	* src/confmgr/nmv-i-conf-mgr.h:
	  fix repeated use of the same argument name in one function.
	* src/dbgengine/nmv-gdbmi-parser.cc:
	* src/langs/nmv-cpp-lexer.cc:
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: fix build for gcc 4.3
	which streamlines a bunch of header includes

2008-03-16  Jonathon Jongsma  <jjongsma@gnome.org>

	patch by: Peter Gordon <peter@thecodergeek.com>

	* src/common/nmv-conf-manager.cc:
	* src/common/nmv-date-utils.cc:
	* src/common/nmv-log-stream.cc:
	* src/common/nmv-proc-utils.cc:
	* src/common/nmv-ustring.cc:
	* src/dbdimpl/sqlite/nmv-sqlite-cnx-drv.cc:
	* src/dbdimpl/sqlite/nmv-sqlite-cnx-mgr-drv.cc:

2008-03-16  Dodji Seketeli <dodji@gnome.org>

	* data/nemiver.desktop.in: add SartupNotify to desktop file.
	  Patch from Sven Arvidsson.

==================== 0.5.0 release ============

2008-03-23  Dodji Seketeli <dodji@gnome.org>

	* NEWS: update this

2008-03-23  Dodji Seketeli <dodji@gnome.org>

	* configure.ac: bump versions of glibmm/gtkmm deps

2008-02-23  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/main.cc:
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: add a 'last run time'
	attribute to the session database so that we can use this value to resume
	the last debugging session when we pass the '--last' commandline option
	(previously --last was resuming the last /created/ session instead of teh
	last /run/ session).  This should fix bug #464201.

2008-02-20  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc
	(on_leave_notify_event_signal): protect signal handler with try/catch.
	(restart_mouse_immobile_timer): use connect_seconds() instead of connect()
	(stop_mouse_immobile_timer): explicitly hide() the popup tip when we stop
	the timer due to a leave notify event.  This fixes a bug where if you had
	hovered over a variable and a tooltip popped up and then you switched to a
	different window with Alt+Tab, the tooltip stayed on top of the new window
	and wouldn't disappear.

2008-02-20  Jonathon Jongsma  <jjongsma@gnome.org>

	* debian/*: updated for new snapshot ubuntu build (based on the official
	ubuntu packaging)

2008-02-11  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	* src/uicommon/nmv-source-editor.cc: update for gtksourceviewmm2 API changes
	(create_mark() -> create_source_mark())

2008-02-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: disable setting a
	breakpoint by clicking in the source view margin if the debugger is not
	running (e.g. if a user just opened a source file directly and clicked in
	teh margin).  Also disable querying variable value tooltips when the
	debugger is not running (Bug #515287).

2008-02-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/proclistdialog.glade: add some spacing
	between the label and the text entry box

2008-02-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* help/C/nemiver.xml: more minor manual updates.

2008-02-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Move the 'Show Global
	Variables' action into the 'Debugger ready' action group so that it is
	disabled when there is no program being debugged (Bug #515541)

2008-02-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: define const strings for
	the status notebook tab titles so that we can use the same variable in the
	tab name and in the View menu (so the View menu and the tab title don't get
	out of sync like they did below when 'Call Stack' was just 'Stack').

2008-02-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/uicommon/nmv-source-editor.cc: initialize source buffer by placing
	cursor at the beginning of the buffer (see bug #515271).  Also add one to
	the column value so that it's 1-based not 0-based

2008-02-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/uicommon/nmv-source-editor.cc: Remove the total number of lines from
	the source editor status bar (bug #515454).  Also fixed a bug where the
	column was never being updated so it always said 0.  Also added a little bit
	of padding around the source editor status bar and protected a signal
	handler with try / catch.

2008-02-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* help/C/figures/attach-dialog.png:
	* help/C/figures/connect-remote-dialog.png:
	* help/C/figures/disabled-breakpoint.png:
	* help/C/figures/enabled-breakpoint.png:
	* help/C/figures/execute-dialog.png:
	* help/C/figures/global-variables-dialog.png:
	* help/C/figures/load-core-dialog.png:
	* help/C/figures/main-window.png:
	* help/C/figures/memory-view.png:
	* help/C/figures/open-files-filesystem.png:
	* help/C/figures/open-files-target.png:
	* help/C/figures/preferences-dialog.png:
	* help/C/figures/registers-view.png:
	* help/C/figures/sessions-dialog.png:
	* help/C/figures/set-breakpoint-dialog.png:
	* help/C/figures/variable-inspector.png:
	* help/C/nemiver.xml:
	* help/Makefile.am: update manual for 0.5.0 release

2008-02-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/loadcoredialog.glade: don't allow this to
	be resizeable since it would just add a bunch of useless blank space if it
	was resized.

2008-02-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: rename 'View->Stack' to
	'View->Call Stack' to match the tab name in the status notebook.  Fixes bug
	#515476

2008-02-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/remotetargetdialog.glade:
	* src/persp/dbgperspective/menus/menus.xml:
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: lots of little UI
	cleanups: capitalization, re-organized some menus, etc.

2008-02-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/menus/menus.xml: re-order the 'File' menu items
	slightly so that they're grouped a little better

2008-02-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/main.cc: rename --executesession commandline switch to --session to
	reduce typing

2008-02-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/icons/Makefile.am:
	* src/persp/dbgperspective/icons/continue.xpm:
	* src/persp/dbgperspective/icons/green.png:
	* src/persp/dbgperspective/icons/run-debugger.xpm:
	* src/persp/dbgperspective/icons/stop-debugger.xpm:
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: remove obsolete icons

2008-02-09 Dodji Seketeli <dodji@gnome.org>

	* NEWS: updated for 0.5.0

2008-02-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Change the icons for the
	'Restart' and 'Continue' actions to use stock GTK icons so that they fit the
	tango style better

2008-02-09  Jonathon Jongsma  <jjongsma@gnome.org>

	patch by: Baptiste Mille-Matthias <bmm80@free.fr>

	* help/C/nemiver.xml: fix invalid docbook markup (change menu to guimenu).
	Fixes bug #499263.

2008-02-09 Dodji Seketeli <dodji@gnome.org>

	* NEWS: update to prepare the coming 0.5.0 release

2008-02-09 Dodji Seketeli <dodji@gnome.org>

	* configure.ac: bump version number to 0.5.0

2008-02-07 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdbmi-parser.cc:
	  (parse_member_variable): fix some nasty parsing errors due
	  to GDB spitting non specified constructs again <grin/>.
	* tests/test-gdbmi.cc: added the regression tests for these
	  parsing bugs.
	  This entry should hopefuly fix bug #514134 – gdbmi member
	  variable parsing error.

2008-02-03 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdbmi-parser.cc:
	  (parse_member_variable): when we encounter a "<repeats N times>"
	  construct right near the end of a block, parse it, but ignore it
	  for now. I must find a way to make the gdbmi datastructures
	  as well as the IDebugger::Variable datastructure reflect
	  the repeat count somehow. This should fix a long standing bug
	  where the presence of "<repeats N times>" at that place would
	  make the parsing of member variable fail.

2008-02-03 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc:
	  (GDBEngine::extract_global_variable_list): make sure to
	  skip the current out of band record when we fail in parsing
	  the current global variable declaration. This should fix bug
	  #508417 – crash on listing global variables.

2008-02-03 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdbmi-parser.cc:
	  (parse_member_variable): when parsing a member variable,
	  when the end of stream is encountered, consider that as
	  if the member variable ends correctly ended with a '}'
	  This should fix bug #436374 – Error output when debugging gtkmm
	  example.

2008-02-03 Dodji Seketeli <dodji@gnome.org>

	* dbgengine/nmv-gdbmi-parser.cc: better compliance with project
	  coding style. Mostly in memory and registers handling.

2008-02-03 Dodji Seketeli <dodji@gnome.org>

	* src/uicommon/nmv-hex-editor.cc: cleanup and better compliance
	  with the project coding style.

2008-02-02 Dodji Seketeli <dodji@gnome.org>

	* src/main.cc: changed this for better legibility.
	  This is a patch sent by Emre Turkay <emreturkay@gmail.com>.
	  I edited it a little bit for better compliance with the coding
	  style of the project.

2008-01-31  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: get the mimetype instead
	of the content type to pass to the source editor

2008-01-31  Jonathon Jongsma  <jjongsma@gnome.org>

	Initial port to giomm

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: add alternative giomm
	implementations for file loading, monitoring, and mime-type detection

2008-01-31  Jonathon Jongsma  <jjongsma@gnome.org>

	Add ability to build with giomm instead of gnome-vfs

	* configure.ac: add --enable-gio argument, which will build with gio as the
	vfs library instead of using gnome-vfs
	* config.h.in: add WITH_GIO preprocessor symbol
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	* src/workbench/nmv-workbench.cc: #ifdef out gnome-vfs-specific
	functionality.  No replacement gio functionality is actually implemented
	yet, only the infrastructure is set up

2008-01-30  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/uicommon/nmv-hex-editor.cc: Fix crash in the memory view on startup
	when the specified font description doesn't match any actual fonts (e.g. if
	the 'custom-font-name' gconf key is blank).  Fixes Bug #512845

2008-01-25 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdbmi-parser.cc: 
	  (parse_member_variable): don't treat } enclosed in single quotes
	  like an ending }. This should fix bug #504473

2008-01-21 Dodji Seketeli <dodji@gnome.org>

	* autogen.sh: properly set the PKG_NAME variable. A courtesy of
	  Christophe Fergeau <teuf@gnome.org>

2008-01-22 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc
	  DBGPerspective::load_file(): if the encoding of the file
	  is different from utf8, then assume its encoding is the one
	  implied by the environment of the current user.
	  So try to convert the file from that encoding into utf8.
	  If the conversion fails - because the file encoding is actually
	  different from the the one implied by the environment of the
	  current user - then the loading of the file fails.
	  At this point, we give the user a chance to load another file
	  that might have the same content in a right encoding.
	  This entry should fix bug #501444.

2008-01-18 Dodji Seketeli <dodji@gnome.org>

	* src/workbench/nmv-workbench.cc: 
	  Workbench::init_glade(): don't hide the workbench toplevel window
	  once glade creates it. Otherwise it confuses some window managers
	  that just won't show it anymore. That leads to nemiver showing
	  up without decorations with some of these these window manages.
	  I have tested this with sawfish.
	* src/main.cc: no need to show_all the root window anymore.
	  Glade does it for us actually.
	* glade/workbench.glade: little update of the interface.

2008-01-19  Jonathon Jongsma  <jjongsma@gnome.org>

	* configure.ac: bump the version to 0.4.1 so that we can distinguish this as
	a development version different than the 0.4.0 tarball

2008-01-19  Jonathon Jongsma  <jjongsma@gnome.org>

	* data/Makefile.am: add the manpage to EXTRA_DIST instead of DISTCLEANFILES

2008-01-17 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  cosmetic compliance changelets.

2008-01-17 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  signal handlers code should be protected by
	  NEMIVER_TRY/NEMIVER_CATCH

2008-01-17 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-global-vars-inspector-dialog.cc:
	  cosmetic compliance changelets.

2008-01-17 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-global-vars-inspector-dialog.cc:
	  smart pointers should not be passed by reference, unless they are
	  out parameters.

2008-01-17 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-global-vars-inspector-dialog.cc:
	  make GlobalvarsInspectorDialog::Priv extend sigc::trackable to make
	  it automagically disconnect from the any signal slot it might be
	  connected to. This fixes a crash that was happening when running
	  the dialog twice.

2008-01-17 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-global-vars-inspector-dialog.h:
	  cosmetic compliance changes.

2008-01-17 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-local-vars-inspector2.cc: 
	  make LocalvarsInspector2::Priv extend sigc::trackable to make
	  it automagically disconnect from the any signal slot it might be
	  connected to.

2008-01-17 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-vars-treeview.cc: cosmetic changes
	  to make the comply with the other parts of the code.

2008-01-17 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-variables-utils2.cc: 
	  update_a_variable_node(): if the variable name caption is empty
	  use its name instead.

2008-01-17 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-i-debugger.h:
	  IDebugger::Variable::copy():don' t forget to copy m_name_caption.

2008-01-17 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc, nmv-i-debugger.h:
	  cosmetic code cleanup.

2008-01-17  Jonathon Jongsma  <jjongsma@gnome.org>

	* data/Makefile.am: install manpage
	* data/nemiver.1: new man page from
	  Luca Bruno <lucab@debian.org>.  Fixes bug #510191.

2008-01-17  Jonathon Jongsma  <jjongsma@gnome.org>

	* help/Makefile.am: add legal.xml to DOC_INCLUDES instead of DOC_ENTITIES
	so that it gets installed with translations, etc.  Fixes Bug #509371

2008-01-15  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/main.cc: don't use g_option_context_set_summary unless the glib
	version is at least 2.12.  This is just a descriptive string, so it's not
	worth bumping the minimum version in configure.ac just for this

2008-01-13  Jonathon Jongsma  <jjongsma@gnome.org>

	* configure.ac: removed accidentally duplicated variable
	* src/uicommon/nmv-hex-editor.cc:
	* src/uicommon/nmv-hex-editor.h: make get_widget() return a Gtk::Container&
	so that we can use the Container functions such as set_border_width()
	* src/persp/dbgperspective/nmv-memory-view.cc: set HexEditor widget's
	border_width to 0 so that there is not a thick black border around the whole
	hex editor widget.  There's still a black divider between the hex and the
	ascii portions of the widget, however, and I can't figure out how to get
	that to match the theme background color instead of black...

2008-01-13  Jonathon Jongsma  <jjongsma@gnome.org>

	* configure.ac: Improve configure script so that if --enable-memoryview is
	not specified and gtkhex is not found, it will automatically disable the
	memoryview widget (and vice versa, if it is found, automatically enable it).
	Also automatically detect whether to build against gtksourceviewmm-1.0 or
	gtksourceviewmm-2.0 if --enable-sourceviewmm2 is not explicitly specified.

2008-01-13 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-local-vars-inspector2.cc:
	  fix breakage I have introduced during merging svn with my latest
	  variable derefing changes.

2008-01-13 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-vars-treeview.cc: don't use
	  "namespace foo {" but rather NEMIVER_BEGIN_NAMESPACE(foo) otherwise
	  the file gets overindented, especially for people using emacs.
	  Also, replace "class Foo {" by "class NEMIVER_API Foo". This is
	  very important because it gives us a change to use the gcc
	  visibility feature when it gets un-broken.

2008-01-13  Jonathon Jongsma  <jjongsma@gnome.org>

	* configure.ac: add --enable-sourceviewmm2
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	* src/uicommon/nmv-source-editor.cc: update these to gtksourceviewmm-2.0
	API, with #ifdefs to allow using gtksourceviewmm-1.0 as well

2008-01-13 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  propagated the api change of LocalVarsInspector2

2008-01-13 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/menus/Makefile.am:
	  added src/persp/dbgperspective/menus/varinspectorpopup.xml

2008-01-13 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-call-stack.cc: cleanup.

2008-01-13 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-local-vars-inspector2.cc,h:
	  Added variable dereferencing to the LocalVarsInspector2 widget.
	  To use it, the user has to select a variable, right click and hit
	  "dereference variable". This puts the resulting dereferenced
	  variable in a "dereferenced variables" node in the treeview.
	  A bit of cleanup got into this as well.

2008-01-13 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-variables-utils2.cc,h:
	  added find_a_variable(), to find a variable under a given
	  node. Made update_variable() use it.
	  Did a bit of cleanup.

2008-01-13 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-i-var-walker.h,
	  src/dbgengine/nmv-var-walker.cc: cleanup.

2008-01-13 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-i-var-list-walker.h, nmv-var-list-walker.cc:
	  Add IVarListwalker::do_walk_variable() to walk only one choosen
	  variable amongst the list of variables that have been set.
	  Also did a bit of a code cleanup.

2008-01-13 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc:
	  When dereferencing a variable, use its fully qualified variable
	  name. Also, set the name caption of the resulting dereferenced
	  variable to the string "*<fully-qualified-name>".
	  This commit is also polluted by me cleaning the source code,
	  removing spaces before ";". Bad bad Dodji.

2008-01-12  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/icons/line-pointer.png: forgot to add this file
	too.  stupid stupid.

2008-01-12  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/icons/line-pointer.xpm: forgot to remove the old
	xpm icon for the current line marker

2008-01-12  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/icons/Makefile.am:
	* src/persp/dbgperspective/icons/breakpoint-disabled-marker.png:
	* src/persp/dbgperspective/icons/breakpoint-marker.png:
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	* src/uicommon/nmv-source-editor.cc:
	use line marker and breakpoint icons from anjuta since they're nicer-looking
	and tango-ish and GPLed

2008-01-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-local-vars-inspector2.cc:
	* src/persp/dbgperspective/nmv-var-inspector2.cc: use the new VarsTreeView
	here instead of duplicating all of the treeview initialization code in 3
	different places

2008-01-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/Makefile.am: add new files
	* src/persp/dbgperspective/glade/Makefile.am: add new file
	* src/persp/dbgperspective/menus/menus.xml: add menu item to view the global
	variables dialog
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: add handling for global
	variable view action
	* src/persp/dbgperspective/glade/globalvarsinspector.glade:
	* src/persp/dbgperspective/nmv-global-vars-inspector-dialog.cc:
	* src/persp/dbgperspective/nmv-global-vars-inspector-dialog.h: add a global
	variables display dialog
	* src/persp/dbgperspective/nmv-variables-utils2.cc:
	* src/persp/dbgperspective/nmv-variables-utils2.h: update the
	append_a_variable() functions to take a const RefPtr&
	* src/persp/dbgperspective/nmv-vars-treeview.cc:
	* src/persp/dbgperspective/nmv-vars-treeview.h: abstract out the treeview
	that displays variables so that we can use it in several different places
	and reduce code duplication.  Right now it is only used in the global
	variables widget, but the locals and variable inspector dialog may be
	refactored to use it later

2008-01-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* configure.ac: remove --enable-global-variables configure option
	* src/persp/dbgperspective/nmv-local-vars-inspector2.cc: remove the global
	variables listing from the local variables widget.  It will be added later
	as a modal dialog.

2008-01-02  Jonathon Jongsma  <jjongsma@gnome.org>

	* configure.ac: add --disable-memoryview configure option, which is enabled
	by default
	* src/persp/dbgperspective/Makefile.am:
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	* src/uicommon/Makefile.am:
	only build the memory view stuff if the configure option is enabled

2007-12-26 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-i-debugger.h: in the registers and memory
	  manipulation signals, use const references to pass parameters
	  that are containers. Otherwise, they are passed by copy and that
	  is bad.
	* src/dbgengine/nmv-gdb-engine.h,cc: progragated this change
	  over here.
	* src/persp/dbgperspective/nmv-memory-view.cc: ditto. Constified
	  the a_values parameter of MemoryView::Priv::on_memory_read_response() signal
	  handler. Same to MemoryView::Priv::set_data().
	* src/uicommon/nmv-hex-document.cc: constified the data parameter
	  of the Document::set_data() method.

2007-12-23 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc:
	  (GDBEngine::extract_global_variable_list): extract the variable
	   name from the first init-declarator of the init-declarator list
	   embedded in the simple-declaration that we parse from the GDB
	   output. That variable name is then what set as the name of
	   IDebugger::Variable that is sent back to the client code.
	* tests/test-global-variables.cc: beefed up this regresssion test
	  to make it stick the list of global variables we receive into an
	  IVarListWalker and actually walk them. This pretty much tests
	  what happens in nemiver when we list the global variables.
	  On my box, this has a acceptable speed as it is takes less than
	  1.5 seconds to list the globals of the fooprog program. This
	  whole story started with around 7 minutes to do pretty much the
	  same thing!

2007-12-23 Dodji Seketeli <dodji@gnome.org>

	* tests/test-cpp-parser.cc: added a regression test for
	  nmv-cpp-ast-utils.h to basically retrieve variable names from
	  Declarator datastructures.

2007-12-23 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-parser.cc:
	  (Parser::parse_decl_specifier_seq): parsing of decl-specifier-seq
	  was broken for consructs like:  "static long unsigned int".
	  The broken part is due to "long" coming before the "unsigned",
	  instead of after.
	* tests/test-cpp-parser.cc: added a regression test case for the
	  above fix.

2007-12-23 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.cc: fix a potential memory bug.
	* src/langs/nmv-cpp-ast.h:  fix some constness/reference usage.

2007-12-23 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-i-var-list-walker.h,
	  src/dbgengine/nmv-i-var-walker.h,
	  src/dbgengine/nmv-var-list-walker.cc,
	  src/dbgengine/nmv-var-walker.cc: remove some references from
	  some parameters that should not have them. Add some to variables
	  that should have them instead.


2007-12-23 Dodji Seketeli <dodji@gnome.org>

	* src/langs/Makefile.am b/src/langs/Makefile.am,
	  src/langs/nmv-cpp-ast-utils.cc,h: added goodies to be able to
	  extract variable id out of a nemiver::cpp::Declarator.


2007-12-18 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/Makefile.am,
	  src/dbgengine/nmv-gdb-engine.cc:
	  use the simple declaration parser to parse global variables.
	  It is not perfect yet, but we are getting there.
	* src/dbgengine/nmv-i-debugger.h:
	  (IDebugger::Variable::type()): add a new overload that takes
	   strings in parameter.
	* tests/Makefile.am,tests/test-global-variables.cc: add this to
	  test global variable listing.

2007-12-18 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.cc,h,
	  src/langs/nmv-cpp-parser.cc: debug declarator list parsing code.
	  Make it work, basically.

2007-12-17 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc 
	  (GDBEngine::set_breakpoint): implement this using -break-insert,
	  otherwise we don't get breakpoint info correctly, in MI format.

2007-12-16 Dodji Seketeli <dodji@gnome.org>

	* src/confmgr/nmv-gconf-mgr.cc:
	  (client_notify_func): catch exceptions that might been thrown.
	  This fixes #503864

2007-12-16 Dodji Seketeli <dodji@gnome.org>

	* src/main.cc:
	  fix bug "start nemiver with wrongs args throws error". (#503887)

2007-12-16 Dodji Seketeli <dodji@gnome.org>

	* src/workbench/nmv-workbench.cc:
	  (Workbench::init_window ()): make sure the minimum geometry of
	  the root window cannot be (0,0).

2007-12-16 Dodji Seketeli <dodji@gnome.org>

	*  test/Makefile.am, tests/test-overloads.cc: added
	   This test to test a regression that happend in gdb 6.7.1
	   handling of overload resolution when using the mi2 interpreter.
	   Basically the format of the prompt returned to the client for
	   overload resolution is broken by gdb.
	   This test shows the problem.

2007-12-11  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-gdbmi-parser.cc: give the exception catchpoints
	meaningful names.  catchpoints don't have the same fields as regular
	breakpoints.  They have a 'what' field instead of a 'func' field, so use the
	'what' field if there is no 'func' field

2007-12-11  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc: explicitly list the breakpoints after
	setting a catchpoint so that the new catchpoint will get added to the
	breakpoint list immediately

2007-12-11  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-gdbmi-parser.cc: Don't report a parsing error when the
	'changed_registers' response is empty (indicating that no registers were
	changed).  This seemed to happen regularly when a program reached the end of
	execution. Fixed #502526

2007-12-11  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: fix the issue where the
	close button's icon was clipped since the image didn't fit into the button
	size we were requesting.  This required setting the Button's RcStyle
	xthickness and ythickness to 0 (idea stolen from gnome-terminal)

2007-12-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: fix the glitch in the
	source Notebook tabs that showed up in the new clearlooks theme that has
	gradients on the tab.

2007-12-09 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.cc:
	  (QName::to_string ()): fix a bug in here.
	  (QualifiedIDExpr::to_string): ditto.
	* src/langs/nmv-cpp-ast.h: Make QName (scope) support template-id, not
	  only identifiers.
	* src/langs/nmv-cpp-lexer.cc:
	  (Lexer::scan_keyword()): bugfix: when a keyword is followed by characters that
	  could make it an identifier, well, it's not a keyword.
	* src/langs/nmv-cpp-parser.cc:
	  (Parser::parse_class_or_namespace_name()): make this parse into an
	   UnqualifiedIDExpr, not a bare string. Yeah, class or namespace names
	   can be more complicated than simple identifiers.
	  (Parser::parse_nested_name_specifier()): propagate the above change.
	  (Parser::parse_unqualified_id): bugfix: a plain keyword can be an
	  unqualified ID.
	 (Parser::parse_qualified_id()): bugfix: don't consume tokens for real
	  when doing tentative parsing.
	  Also, make sure to always try to parse the remaining unqualified id
	  part when we parsed a nested name specifier first.
	 (Parser::parse_id_expr()): cleanup&fix: always try to parse the longest
	  valid sequence.
	* tests/test-cpp-parser.cc: heavy cleanup here. Put the parser inputs
	  into arrays. Added more " real life" tests coming from the output of
	  "info variable" on fooprog.

2007-12-09 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.h: add virtual to TemplateArg and TemplateID destructor,
	  otherwise this could lead to a potential leak later.

2007-12-09 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.cc,h,
	  src/langs/nmv-cpp-parser.cc: added support of template-id in
	  simple-type. Now we should be able to parse things like "foo<bar> baz;"
	* tests/test-cpp-parser.cc b/tests/test-cpp-parser.cc: updated
	  regression tests.

2007-12-08 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-set-breakpoint-dialog.cc: fix a
	  compilation error here.

2007-12-08  Hubert Figuiere  <hub@figuiere.net>

	* src/dbgengine/nmv-gdb-engine.{cc.h}, src/dbgengine/nmv-i-debugger.h,
	src/persp/dbgperspective/nmv-dbg-perspective.cc, 
	src/persp/dbgperspective/nmv-set-breakpoint-dialog.{cc,h},
	src/persp/dbgperspective/glade/setbreakpointdialog.glade:
	Allow setting breakpoints like you do with gdb command "catch".
	Closes bug #499034.

2007-12-08 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-call-stack.cc: 
	  Don't call debugger->select_frame() when the user tries to unfold
	  more stack trace elements. Otherwise, IDebugger sends us the arguments
	  of all the callstack functions again.

2007-12-08 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.h,cc: add the necessary types to support
	  template-id parsing.
	* src/langs/nmv-cpp-parser.cc,h: support template-id parsing. I still
	  need to make other production parsing functions use this one.
	* tests/test-cpp-parser.cc: update regression tests.

2007-12-02  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-i-debugger.h: add set_memory and set_memory_signal API
	* src/dbgengine/nmv-gdb-engine.h, src/dbgengine/nmv-gdb-engine.cc: add
	implementations of set_memory() for gdb.
	* src/uicommon/nmv-hex-document.h, src/uicommon/nmv-hex-document.cc: wrap
	the document_changed signal, and the get_data() function
	* src/uicommon/nmv-hex-editor.h, src/uicommon/nmv-hex-editor.cc: wrap the
	new set_starting_offset() value so that the address labels in the left-hand
	column of the memory view show the proper addresses
	* src/persp/dbgperspective/nmv-memory-view.cc: connect to the HexDocument's
	document_changed signal and write the new memory values to the debugger.
	Also, set the starting offset to the current memory address.  This is the
	final piece needed to enable basic memory editing.  Note that it requires a
	version of ghex that is not even in svn yet, however.

2007-11-30  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/uicommon/nmv-hex-editor.cc:
	* src/uicommon/nmv-hex-editor.h: wrap function for setting the font of the
	hex editor widget.  This isn't the exact API provided by the underlying
	widget, since the underlying API is rather odd, so my wrapper is slightly
	simplified.
	* src/persp/dbgperspective/nmv-memory-view.cc: re-enable the modify_font()
	functionality

2007-11-29  Jonathon Jongsma  <jjongsma@gnome.org>

	* configure.ac: added dependency on the gtkhex shared library from GHex for
	the memory editor widget
	* src/uicommon/nmv-hex-document.cc:
	* src/uicommon/nmv-hex-document.h: quick c++ wrapper for the HexDocument
	class from GHex
	* src/uicommon/nmv-hex-editor.cc:
	* src/uicommon/nmv-hex-editor.h: quick c++ wrapper for the GtkHex class
	from GHex
	* src/uicommon/Makefile.am: add new files
	* src/persp/dbgperspective/nmv-memory-view.cc: use the Hex editor widget
	from GHex instead of the simplistic TextView widget I had been using.  The
	new widget still needs a lot of work (both the widget itself and the
	integration of it).  It currently doesn't redraw itself properly so it
	doesn't seem like it's working, but it actually is.  It also isn't usable
	for editing memory yet, just viewing it.

2007-11-26 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-local-vars-inspector2.cc:
	  (LocalVarsInspector2::show_local_variables_of_current_function): list
	  debugger frame arguments in here. I did this because otherwise
	  the "refresh locals" contextual menu clears the function arguments.

2007-11-26 Dodji Seketeli <dodji@gnome.org>

	* tests/test-cpp-parser.cc: unfuck a little regression in the
	  declarators serialisation.

2007-11-26 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-call-stack.cc: 
	  Sometimes, when the callstack is huge, the CallStack widget gets stuck
	  in trying to display all the rows of the call stack.
	  Therefore, I have introduced a limit to the number of rows to display.
	  The user can display more rows if she wants. She just has to click on
	  the last row of the CallStack widget.
	  By default, the widget displays 20 callstack rows at most. This value
	  can be changed at runtime be modifying the value of the gconf key
	  /apps/nemiver/dbgperspective/callstack-expansion-chunk.
	  This entry should fix bug #442213.


2007-11-25 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  when gdb enters a function:
	  void foo ()
	  {
	      int i=0;
	      if (!i) {
		  string str;
		  /*blah ..*/
	      }
	  }
	  When we query gdb for the list of local variables of the function, it
	  only reports i. Not str. str becomes visible only when we step into
	  the scope of the "if" block, and we have no easy way to detect that
	  we entered the scope.
	  So I have added a "refresh locals" menu in the debugger to allow
	  nemiver to query gdb on demand to refresh the list of local variables.

2007-11-25 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-var-walker.cc:
	 Make VarWalker extend sigc::trackable to fix a random crash.
	 (VarWalker::get_type_of_all_members): when a node has a name starting
	 with '<', usually due to an unamed variable node, don't try to query
	 the type of its children because gdb does recognize names starting with
	 '<'. Damit.

2007-11-25 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-local-vars-inspector2.cc: when
	  you double-click on a row in the local variables inspector, show the
	  type of the variable. This was working in the pre variable-walker
	  local variables inspector tough.

2007-11-25 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.h,
	  src/langs/nmv-cpp-parser.cc,
	  tests/test-cpp-parser.cc: support basic parsing of array declarations.

2007-11-25 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.h, src/langs/nmv-cpp-parser.h,cc:
	  parse constant-expression
	* tests/test-cpp-parser.cc: added a test case to parse expressions using
	  the Parser::parse_expr() entry point.

2007-11-25 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-parser.h,cc,
	  src/langs/nmv-cpp-ast.h,cc,
	  tests/test-cpp-parser.cc: parse the following productions:
	  logical-and-expression, logical-or-expression, conditional-expression,
	  assignment-expression and expression. Of course, there are quite some
	  holes in the parsing, but the bulk of it is falling in place.
	  Updated primary-expression parsing to make it parse
	  "(expression)".
	  Updated postfix-expression parsing a little bit to make it parse
	  "postfix [expression]", especially the 'expression' part.
	  Did quite some debugging.

2007-11-24 Dodji Seketeli <dodji@gnome.org>

	* langs/nmv-cpp-ast.cc,h,
	  src/langs/nmv-cpp-parser.cc,h,
	  tests/test-cpp-parser.cc: parse equality-expression, and-expression,
	  exclusive-or-expression and inclusive-or-expression productions.

2007-11-22 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-var-list-walker.cc,
	  src/dbgengine/nmv-var-walker.cc: don't make VarWalker and
	  VarListWalker extend sigc::trackabale because they connect to each
	  other and that causes crashes at their destruction time.

2007-11-22 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.cc,h
	* src/langs/nmv-cpp-parser.cc,h
	* tests/test-cpp-parser.cc: added relational-expression parsing

2007-11-21 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.h:
	* src/langs/nmv-cpp-parser.cc,h:
	* tests/test-cpp-parser.cc: parse shift-expression productions

2007-11-20 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.h,
	  src/langs/nmv-cpp-parser.cc,
	  src/langs/nmv-cpp-parser.h,
	  tests/test-cpp-parser.cc: added additive-expression parsing and
	  regression testing.

2007-11-20 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-lexer.cc: fixed a bug in the MINUS operator parsing.

2007-11-20 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-var-list-walker.cc: fix a crash due to
	  WalkersMap not being a smart pointer and then not taking ref on
	  assignation.
	* src/dbgengine/nmv-var-walker.cc: clear some memory at some point here.
	* src/persp/dbgperspective/nmv-variables-utils2.cc: fix a crasher here:
	 (update_a_variable_real): do not overrun the container, damit.
	 (update_a_variable): when looking up a node, don't check for var type
	  name. Only check for var name. It appears that in some circumstances
	  some vars are getting wrong types, so further lookup would fail if it
	  it takes in account var type names.

2007-11-18 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.h: added DotStarPMExpr and ArrowStarPMExpr
	  types.
	* src/langs/nmv-cpp-parser.cc: make parsing of pm-expression be
	  complete.
	* tests/test-cpp-parser.cc: added basic non-regression tests for
	  pm-expression and multiplicative-expression productions.

2007-11-18 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-parser.cc:
	  (Parser::parse_cast_expr): made cast-expression parsing work.
	* tests/test-cpp-parser.cc: added basic test cases for cast-expression
	  and pm-expression.

2007-11-18 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-var-walker.cc: fixed a nasty memory corruption bug.
	  the map VarWalker::m_vars_to_visit was storing IDebugger::Variable*,
	  not IDebugger::VariableSafePtr. So at some point, the pointer to
	  variable were getting destroyed by the IDebugger internal somewhere.
	  So back to storing IDebugger::VariableSafePtr. The map then needs the
	  declaration of a comparison functor to be able to compare instance of
	  IDebugger::VariableSafePtr properly. So one got added.

2007-11-18 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-dbg-common.h:
	  (Command::variable ()): Don't pass VariableSafePtr by reference
	  otherwise we bypass its refcounting.

2007-11-18 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-dbg-common.h: Don't forget to initialise the
	  memory querying related variables that got added recently.
	* src/dbgengine/nmv-gdbmi-parser.cc: 
	  (parse_embedded_c_string_body): don't forget to initialise declared
	  value.
	* src/persp/dbgperspective/nmv-memory-view.cc: ditto. Also make sure
	  lines are properly indented.

2007-11-18 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.cc,h:
	* src/langs/nmv-cpp-parser.cc,h: started to work toward parsing
	  constant-expression. This implies parsing a bunch of different
	  expression types. This is to be able to parse array subscripts forms
	  of direct-declarator . Once we have that, we can parse
	  simple-declarations of the form "foo bar[5]";
	* tests/Makefile.am: disable test-globalvariables.cc for now as global
	  variables will remain broken until we now how to parse
	  simple-declaration productions.

2007-11-16 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.cc,h: handle fine grained TypeSpecifier.
	* src/lands/nmv-cpp-parser.h,cc: now decl-specifier-seq are properly
	  typed and can be manipulated by client APIs.
	  As a result, SimpleType are also now fully strongly typed, especially
	  the different kinds of TypeSpecifier.
	  Parser::parse_simple_type_specifier() returns a SimpleTypeSpecPtr
	  instead of a string. Woo.
	  It also supports more types of decl-specifier-seq. Still no
	  struct/class, or template though.
	* tests/test-cpp-parser.cc: updated this to be reflect the changes
	  above. Now we are able to get the type or variable name parts of a
	  declaration. We just need to be able to parse more declaration forms.

2007-11-13 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.h,
	  src/langs/nmv-cpp-parser.cc: debuggin parsing of:
	  foo *bar, const foo *bar, static const foo*bar.
	* tests/test-cpp-parser.cc: update regression test for that.

2007-11-13 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.cc,h,
	  src/langs/nmv-cpp-parser.cc,h:
	  do what it takes to make Parser::parse_simple_declaration() spit
	  AST datastructures.
	* tests/test-cpp-parser.cc: update this to reflect changes in
	  Parser::parse_simple_declaration() api.


2007-11-09 Dodji Seketeli <dodji@gnome.org>

	* src/langs/nmv-cpp-ast.cc,h: added this to contain the AST.
	  Moved the public lexer data structures here as well.
	* src/langs/nmv-cpp-lexer.cc,h: went forward. Now has a token stream
	  which is separate fromt character input. Chars are read from char
	  input are tokenized. Tokens are then added to the token stream.
	  Clients of the lexer actually read tokens from the token stream.
	  This helps rewinding in the token stream without having to mess with
	  the char input stream.
	* src/langs/nmv-cpp-parser.cc: first pre-pre alpha of parsing simple
	  decls. Can only parse foo bar; for now though. Still need a lot of
	  work. At least I am seeing the direction now.
	* tests/test-cpp-parser.cc: added basic parser test.

2007-10-28 Dodji Seketeli <dodji@gnome.org>

	* src/langs/*: added an AST and a parser. the aim of the parser is to be
	  able to parse a simple-declaration production. It's not done yet but
	  the necessary productions are falling in place slowly.

2007-10-12  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/menus/menus.xml:
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Add a hotkey and menu
	item for switching to the new Memory view window, just like you can switch
	between the other status notebook tabs with Alt+N.  The memory view is Alt+6

2007-10-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-breakpoints-view.cc: Add 'function' column to
	the breakpoints list so that you can tell at a glance where the breakpoint
	is by looking at the list.  Also re-arrange the columns to make the order a
	bit more useful.

2007-10-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-breakpoints-view.cc: Breakpoints were
	appearing in the Breakpoint list multiple times because the ID was not being
	set properly.  So when the 'breakpoints_set' signal was fired, we went
	through the tree model to see if a breakpoint with that ID was found, none
	were found, so all breakpoints were added even if they already existed in
	the model.
	Also added some logging to help uncover the issue.

2007-10-09  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-gdbmi-parser.cc: Fix for bug #465263 "Error Parsing
	breakpoint table".  The parse_breakpoint() function was not advancing to the
	closing '}' character of the breakpoint, and therefore was not able to parse
	the list of breakpoints correctly.
	* tests/test-gdbmi.cc: added a test for the failure reported in bug #465263

2007-10-06  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-memory-view.cc: display data that has changed
	since last time in red

2007-10-06  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-memory-view.cc: Memory TextView widget should
	not be editable since there's no support for editing memory implemented yet

2007-10-06  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-memory-view.cc: coding standard cleanups (add
	a_ to function arguments)

2007-10-06  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-memory-view.cc: Improve the display of memory
	by using builtin std::showbase, etc instead of doing my own formatting.
	Also, don't display fill with zeros, just make sure that they're all the
	same width

2007-10-06  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-memory-view.cc: a bunch of little UI
	cleanups.  Give the text view a margin so that text doesn't go right up to
	the border.  Also give a shadow border around the text view.  Add a 'Format'
	label to the format selector and add some border and spacing between the
	widgets in the header of the MemoryView notebook.

2007-10-06  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-memory-view.cc: automatically re-read memory
	when the format type is changed or when the address text entry is activated
	(e.g. by pressing enter after typing an address)

2007-10-04  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/Makefile.am,
	src/persp/dbgperspective/nmv-memory-editor.cc,h: remove MemoryEditor class
	* src/persp/dbgperspective/nmv-memory-view.cc,h: move the MemoryEditor
	functionality into MemoryView since it was really only a TextView and
	TextBuffer.  Also improve the memory display slightly, and add an option for
	displaying the memory values as decimal, hex, octal, or binary

2007-10-04  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: add
	default_config_read_signal() so that we can detect when the initial
	configuration values have been read so that we can set things based on these
	(such as the default font for the memory view widget, etc).

2007-10-02  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-registers-view.cc: ugly hack to keep the
	register values in the treeview in sync with the register values in gdb.
	This is only necessary because we can't easily tie gdb error messages to
	specific command requests at the moment.  We should work out a way to
	present user-friendly error messages in cases like this.

2007-10-02  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-registers-view.cc: clear the list of
	registers when the target is detached

2007-09-30 Dodji Seketeli <dodji@gnome.org>

	* tests/Makefile.am:
	* tests/test-global-variables.cc: added this to test global variables
	  listing from IDebugger.

2007-09-30 Dodji Seketeli <dodji@gnome.org>

	* tests/Makefile.am:
	* tests/test-var-walker.cc: added this to test IVarListWalker

2007-09-30 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-i-var-list-walker.h,nmv-var-list-walker.cc: added a signal
	  IVarListWalker::variable_list_visited_signal() that is emitted when
	  all variables of a given IVarListWalker have been visited.

2007-09-30 Dodji Seketeli <dodji@gnome.org>

	* fix bugs due to the renaming of IVarWalkerList into IVarListWalker

	* src/dbgengine/varlistwalker.conf.in: make varlistwalker dynmod load
	  dso libvarlistwalkermod.so and not more libvarwalkerlistmod.so.
	* src/persp/dbgperspective/nmv-local-vars-inspector2.cc: load dynmod
	  varlistwalker and not more varwalkerlist

2007-09-30 Dodji Seketeli <dodji@gnome.org>

	*  renamed IVarWalkerList into IVarListWalker

2007-09-30 Dodji Seketeli <dodji@gnome.org>

	* config.h.in,configure.ac: add --enable-variable-walker and
	  --enable-global-variables to enable/disable IVarWalker and global
	  variables widgets.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: use the variable
	  walker aware LocalVarInspector2 widget when WITH_VARIABLE_WALKER is
	  defined.
	* src/persp/dbgperspective/nmv-local-vars-inspector2.cc: don't compile
	  this when WITH_VARIABLE_WALKER is not defined. Also, don't show global
	  variables stuff when WITH_GLOBAL_VARIABLES is not defined.
	* src/persp/dbgperspective/nmv-var-inspector-dialog.cc: use the
	  IVarWalker aware VarInspector2 widget with WITH_VARIABLE_WALKER is
	  defined.
	* src/persp/dbgperspective/nmv-var-inspector2.cc: don't compile this
	  when WITH_VARIABLE_WALKER is not defined.
	* src/persp/dbgperspective/nmv-variables-utils2.cc: don't compile this
	  when WITH_VARIABLE_WALKER is not defined.

2007-09-26 Dodji Seketeli <dodji@gnome.org>

	* this entry is about performance. It multiplies the speed by 14 on my
	  box when trying to display the global variables of tests/.libs/fooprog
	  This performance work has been directed by careful profiling.

	* src/common/nmv-log-stream.cc:
	  use __gnu_cxx::hash_map instead of std::map to store
	  domain names. Profiling showed that this increases
	  performance.
	* src/common/nmv-scope-logger.cc:
	  (ScopeLogger::~ScopeLogger): remove logging in here for performance
	  reasons.
	* src/dbgengine/nmv-gdbmi-parser.cc:
	  (parse_c_string): remove scoppe logging from this function that is
	  called a lot.
	  (parse_c_string_body): ditto.
	  (parse_stream_record): don't access UString's chars sequentially. It'
	  too slow.
	  (parse_out_of_band_record): ditto.
	  (parse_result_record): ditto.
	  (parse_output_record): ditto.
	* src/dbgengine/nmv-i-debugger.h: Don't access UString's chars
	  sequentially. It's too slow.
	* src/dbgengine/nmv-var-walker.cc:
	  (VarWalker::on_variable_value_signal): don't test UString's equality.
	   It's too slow.
	  (VarWalker::on_variable_value_set_signal): ditto. Remove logging.
	  (VarWalker::on_variable_type_set_signal): ditto.
	  (VarWalker::get_type_of_all_members): accessing UString's chars
	   sequentially is too slow.
	* src/persp/dbgperspective/nmv-variables-utils2.cc: remove UStrings
	  equality tests and UString subscripting.

2007-09-26 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-local-vars-inspector.cc,
	  src/persp/dbgperspective/nmv-local-vars-inspector2.cc:
	  Add a global variables section in the variable inspector widgets.
	  This is based on a patch from A. Gordon <agordon88@gmail.com>.

2007-09-26 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc,h,nmv-i-debugger.h:
	  Add ability for IDebugger to list global variables. This is a patch
	  from A. Gordon <agordon88@gmail.com>.

2007-09-26 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc: make sure the IConfMgr is loaded when
	  it has not been specificaly passed by client code at init time.
	  This should fix the regression test breakages triggered by conf_mgr
	  not being loaded by GDBEngine.

2007-09-24 Dodji Seketeli <dodji@gnome.org>

	* VarInspector: unfold the added variable row by default.

	* src/persp/dbgperspective/nmv-var-inspector2.cc:
	  (VarInspector2::Priv::set_variable): unfold the variable row so that
	  the user does not have to do by hand all the time.
	* src/persp/dbgperspective/nmv-variables-utils2.cc,h:
	  add an overload of append_a_variable() that returns the row of the
	  actually appended variable. The is useful for intance when the calling
	  code wants to fold/unfold the added variable row for better legibility.

2007-09-24 Dodji Seketeli <dodji@gnome.org>

	* make VarInspector2 and LocalVarsInspector use IVarWalker. They now
	  share code that is in nmv-variable-utils2.cc

	* src/dbgengine/nmv-var-walker.cc: make VarWalker extend sigc::trackable
	  so that it automatically disconnects from signals it connected to
	  - e.g: IDebugger signals -  at destruction time. Otherwise, its signal
	  handlers connected to IDebugger get called even after the walker instance is
	  destroyed leading to crashes.
	* a/src/persp/dbgperspective/nmv-local-vars-inspector2.cc:
	  remove code from here and put it into nmv-variables-utils2.cc instead.
	  That allows code sharing with nmv-var-inspector2.cc.
	* src/persp/dbgperspective/nmv-var-inspector-dialog.cc: use either
	  VarInspector of VarInspector2, based on the VARS_INSPECTOR2 macro.
	* src/persp/dbgperspective/nmv-var-inspector.cc,h: Change the interface of
	  VarInspector::VarInspector() to take an IDebuggerSafePtr& instead of an
	  IDebugger&. This make VarInspector api be in par with VarInspector2.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc,
	  nmv-var-inspector-dialog.cc,h: propagate the change in VarInspector
	  iface to VarInspectorDialog and DBGPerspective types.
	* src/persp/dbgperspective/nmv-var-inspector2.cc,h: added VarInspector2
	  type. It uses IVarWalker. It works now. The only thing that is not yet
	  implemented is variable dereferencing.
	* src/persp/dbgperspective/nmv-variables-utils2.cc,h: add this utils
	  to help add/update variables into a treeview that looks like a
	  variable inspector. VarInspector2 and LocalVarsInspector use this
	  utility function set.

2007-09-23 Dodji Seketeli <dodji@gnome.org>

	* configure.ac: oops, forgot to generate src/dbgengine/cpptrait.conf

2007-09-23 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/varwalker.conf.in: forgot to add this file
	* src/dbgengine/varwalkerlist.conf.in: ditto

2007-09-23 Dodji Seketeli <dodji@gnome.org>

	* src/common/nmv-ustring.cc,h:
	  (UString::get_number_of_words): added this new method
	* src/dbgengine/nmv-gdb-engine.cc:
	  make sure IDebugger::variable_value_set_signal()
	  reports the same IDebugger::VariableSafePtr that was set into
	  IDebugger::get_variable_value().
	* src/dbgengine/nmv-i-debugger.h:
	  added IDebugger::Variable::is_copyable(),
	  IDebugger::Variable::copy () and
	  IDebugger::Variable::set().
	* src/dbgengine/nmv-var-walker-list.cc:
	  (VarWalkerList::append_variable): add some logging.
	  in VarWalkerListDynMod: Fix iface creation bug
	* src/dbgengine/nmv-var-walker.cc: heavily debug this to make it work
	* src/persp/dbgperspective/nmv-local-vars-inspector2.cc: ditto.
	  Variable dereferencing still does not work, though.

2007-09-21 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/Makefile.am, ./configure.ac: added varwalker.conf, varwalkerlist.conf
	* src/dbgengine/nmv-gdb-engine.cc:
	  (GDBEngine::get_variable_value): use
	  fully qualified variable name (fqvn)
	  (GDBEngine::get_variable_type): ditto.
	* src/dbgengine/nmv-i-var-walker-list.h, nmv-i-var-walker.h:
	* src/dbgengine/nmv-var-walker-list.cc,nmv-var-walker.cc:
	  added new iface IVarWalker and IVarWalkerList to walk a variable
	  and a list of variables.
	* src/persp/dbgperspective/nmv-local-vars-inspector2.cc,h: started to
	  hack up a LocalVarsInspector2 to test IVarWalker and IVarWalkerList

2007-09-07  Jonathon Jongsma  <jjongsma@gnome.org>

	patch by: A. Gordon <agordon88@gmail.com>
	modified slightly to now add keybindings for the 'output' and 'errors' tabs
	because they're not useful for users.  Also move the output and errors tab
	index to the end so that the useful tabs are all in order even when the
	debugging tabs are shown

	* src/persp/dbgperspective/menus/menus.xml: add actions for switching
	between the notebook tabs (e.g. variables, breakpoints, etc)
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: hook up the actions to
	switch between notebook tabs with alt-#

2007-08-19  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-i-debugger.h: move the signals into the proper section
	so that they get documented properly in doxygen

2007-08-19  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/Makefile.am: add new memory-editor files
	* src/persp/dbgperspective/nmv-memory-editor.h,
	src/persp/dbgperspective/nmv-memory-editor.cc: add a new widget that wraps a
	basic hex editor component.  Eventually this will hopefully wrap the widget
	from GHex, but right now it's just an ugly and useless TextView widget.
	* src/persp/dbgperspective/nmv-memory-view.h,
	src/persp/dbgperspective/nmv-memory-view.cc: no longer using glade for the
	memory view widget, so we don't need a construction parameter for the plugin
	path
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: update for new
	constructor signature on MemoryView

2007-08-19  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-i-debugger.h: update interface to use size_t and uint8_t
	instead of strings for address and values
	* src/dbgengine/nmv-dbg-common.h, src/dbgengine/nmv-gdb-engine.cc,
	src/dbgengine/nmv-gdbmi-parser.cc, src/dbgengine/nmv-gdbmi-parser.h: update
	to use new interface types
	* tests/test-gdbmi.cc: update for API change

2007-08-19  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/memoryviewwidget.glade: don't activate
	default in the memory view widget.  It was causing warnings on the command
	line

2007-08-19  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/memoryviewwidget.glade: UI definition for
	Memory view widget
	* src/persp/dbgperspective/glade/Makefile.am: add new file
	* src/persp/dbgperspective/nmv-memory-view.h,
	src/persp/dbgperspective/nmv-memory-view.cc: Add a very rudimentary and
	basic implementation of a memory viewer widget.  It currently just retrieves
	a fixed number bytes from the starting address and puts it in a TextView.
	When the debugger is stopped, it updates the values.  Eventually we'll
	actually create a real memory viewer widget, but this provides some basic
	functionality for now.
	* src/persp/dbgperspective/Makefile.am: add new files
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: integrate new Memory view
	widget

2007-08-19  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc: Fix read_memory() function which was
	missing the option specifying the format (hex)
	* src/dbgengine/nmv-i-debugger.h: Add default value (empty string) for
	cookie in read_memory()

2007-08-19  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-i-debugger.h: add interface for reading memory values
	* src/dbgengine/nmv-dbg-common.h: add data storage for memory values
	* src/dbgengine/nmv-gdb-engine.cc: add handling for reading memory values
	* src/dbgengine/nmv-gdbmi-parser.h, src/dbgengine/nmv-gdbmi-parser.cc: add
	parsing for memory value responses
	* tests/test-gdbmi.cc: test parsing memory value results


2007-08-19 Dodji Seketeli <dodji@gnome.org>

	* configure.ac: make sure to fully expand $libdir in NEMIVER_LIBDIR.
	  NEMIVER_LIBDIR is now $libdir, but fully expanded. It can now be used
	  in dynmod confs file. This is way better since it dynmod loading still
	  work even when configure was run with --libdir=/somewhere, which was
	  not the case with the previous solution.
	* src/*/*.conf.in: uses the new NEMIVER_LIBDIR instead of the former
	  solution.

2007-08-19 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-i-debugger.h: fix a compilation error I introduced.

2007-08-19 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-i-debugger.h: cosmetic (but important) change: put
	  the register related signal in the "signals" section of the IDebugger
	  class declaration, otherwise this thing will be a growing mess.
	* src/dbgengine/Makefile.am: put the gdbengine in a static library that
	  can be linked against several dynmods.
	* src/dbgengine/nmv-gdb-engine.cc: rip off declaration and put it in
	  nmv-gdb-engine.h so that private bis of a given dynmod can benefit
	  from GDB only "protected" features of GDBEngine. Protected features
	  here means features that are not advertised in IDebugger because
	  specific to GDB.
	* src/dbgengine/nmv-var-walker.cc: use GDBEngine by including
	  nmv-gdb-engine.h and casting the IDebugger it gots.

2007-08-19 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-i-var-walker.h,nmv-var-walker.cc,nmv-var.h: added these new
	  files
	* src/dbgengine/Makefile.am: setup a new varwalkermod dynmod.

2007-08-18 Dodji Seketeli <dodji@gnome.org>

	* src/common/nmv-env.cc,h: add a env::get_system_lib_dir() call.
	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h:
	  Add a IDebugger::do_init() to be called by client code to initialize
	  the debugger. Client code can then pass an IConfMgr to the debugger so
	  that it can later retrieve some configuration parameters.
	  This is useful when we want for instance to choose a given gdb binary
	  to use. When working with remote embedded targets, one must compile
	  a cross-gdb and use that one. The user can then set the path to
	  the gdb to use, and IDebugger can have a chance to know about that
	  choice. Basically, the user can set the gconf key
	  /apps/nemiver/dbgperspective/gdb-binary to set the path to gdb binary
	  to be used by the gdb debugger backend.
	  Added IDebugger::set_solib_prefix_path() to set the prefix from
	  which the debugger is supposed to load the inferior shared object
	  from. This is useful for debugging remote embedded targets, with gdb
	  at least.
	  Added IDebugger::get_debugger_full_path() to let client code
	  know the full path to the debugger binary used by nemiver at some
	  point.
	* src/persp/dbgperspective/glade/remotetargetdialog.glade: add
	  an entry to set the solib prefix path. This has been edited using
	  glade-3 as it is the only one glade left on debian sid.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Use gconf key
	  /apps/nemiver/dbgperspective/debugger-engine-dynmod to get the
	  name of the of engine dynmod. So the name "gdbengine" is not hardcoded
	  anymore. Also, take in account the solib prefix path when debugging
	  a remote target.
	* src/workbench/nmv-i-workbench.h,nmv-workbench.cc:
	  IWorkbench::get_configuration_manager() now returns a IConfMgrSafePtr, no more
	  a reference. That eases passing the IConfMgrPtr to object objects like
	  the IDebugger.


2007-07-28 Dodji Seketeli <dodji@gnome.org>

	* src/common/nmv-conf-manager.cc,h: don' t put the s_config member as
	  global. Put static in a function to avoid global initialization
	  sequence hazards.

2007-07-24  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-i-debugger.h: add 'set register' API / signal
	* src/dbgengine/nmv-gdb-engine.cc: Provide implementation of 'set register'
	interfaces and signals
	* src/dbgengine/nmv-gdbmi-parser.cc: Add FIXME to indicate that the result
	from setting a register will actually be parsed expecting to find a variable
	value.
	* src/persp/dbgperspective/nmv-registers-view.cc: make the value of the
	register editable and send the new value to gdb.  The user can now change
	the values of registers, albeit in a rather primitive way.

2007-07-23  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-registers-view.cc: change the register value
	to 'red' when it has been changed since last time and otherwise revert to
	the normal text color

2007-07-22  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-registers-view.cc: get and update register
	values when they have changed and display them in the RegistersView

2007-07-22  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-dbg-common.h: fixed bug where some flags were not
	initialized before use which was causing some seemingly random failures,
	noticed first in the fact that the register names no longer were populated
	in the register view because m_has_register_names apparently sometimes was
	initialized to true so the handler would be called (and thus emit a signal
	without any register names) for unrelated gdb output.
	* src/dbgengine/nmv-gdb-engine.cc: switch the order of a couple things to
	reduce race conditions.  At first I thought this was the problem but it
	wasn't.  It doesn't hurt to leave it this way though.
	* src/persp/dbgperspective/nmv-registers-view.cc: add some logging to aid in
	debugging.

2007-07-22  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-dbg-common.h: add register value interfaces
	* src/dbgengine/nmv-gdb-engine.cc: add handler for register value commands
	* src/dbgengine/nmv-gdbmi-parser.h, src/dbgengine/nmv-gdbmi-parser.cc: add
	parsing for register values (parse_register_values)
	* tests/test-gdbmi.cc: add test for parsing register values

2007-07-20  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-registers-view.h,
	src/persp/dbgperspective/nmv-registers-view.cc: add a RegistersView widget
	for displaying the contents of registers in the status notebook.  Currently,
	it doesn't show register values, but it does show whether the register has
	changed since last time by adding a '*' to the Value column
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: add the RegistersView
	widget to the status notebook
	* src/persp/dbgperspective/Makefile.am: Add the new files

2007-07-20  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc: add the OnChangedRegistersListedHandler
	as an output handler which was forgotten last time.
	* src/dbgengine/nmv-gdbmi-parser.cc: Fix a parsing error in the register
	listing functions

2007-07-20  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-gdbmi-parser.cc: cleanup patch to use some constant
	strings instead of using string literals and magic numbers throughout the
	code.

2007-07-20  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-dbg-common.h: added storage and interfaces for accessing
	the list of changed registers
	* src/dbgengine/nmv-gdbmi-parser.cc,
	src/dbgengine/nmv-gdbmi-parser.h: added parsing for the listing fo changed
	registers
	* src/dbgengine/nmv-gdb-engine.cc: add output handler for changed register
	* tests/test-gdbmi.cc: added tests for changed register parsing

2007-07-20  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/dbgengine/nmv-i-debugger.h: add some API for getting information about
	the CPU registers
	* src/dbgengine/nmv-dbg-common.h, src/dbgengine/nmv-gdb-engine.cc: add
	support for register commands to the gdb engine.  Currently only listing the
	register names is fully supported.
	* src/dbgengine/nmv-gdbmi-parser.cc, src/dbgengine/nmv-gdbmi-parser.h: parse
	the listing of register names
	* tests/test-gdbmi.cc: test the parsing of register names from gdb

2007-07-20  Jonathon Jongsma  <jjongsma@gnome.org>

	* configure.ac: a possible fix for boost unit test so that it will build on
	Ubuntu feisty (e.g. boost 1.33.1).  Hopefully this doesn't break newer boost
	versions.

2007-06-16 Jonathon Jongsma <jjongsma@gnome.org>

	* src/uicommon/nmv-source-editor.cc: use a #define instead of re-typing the
	marker type string wherever it's needed

2007-06-16 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Don't pop up multiple
	'reload' dialogs for the same file.  If a popup dialog has already been
	displayed for that particular file, suppress further popups about that file
	until the user has dismissed the first dialog.

2007-06-15 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-breakpoints-view.cc: add an 'Address' field
	to the breakpoints list so that if a breakpoint does not have any filename
	information, there is still some unique identifiable information visible.
	Also, use update_breakpoint() from append_breakpoint() to reduce code
	duplication.

2007-06-15 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-call-stack.cc: if there is no filename
	information for a particular stack frame, display the address instead of
	attempting to show a filename and line.  Previously, when filename
	information was missing, the 'Location' field looked like ':0'

2007-06-15 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: stop displaying dialogs
	if a file can't be displayed in some circumstances.  Just log them as errors
		to the terminal (closes bug 447890)

2007-06-11 Jonathon Jongsma <jjongsma@gnome.org>

	* src/main.cc: add a '--last' command line option that lets you quickly
	launch the last session without having to specify it explicitly

2007-06-11 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-breakpoints-view.cc: allow users to remove
	the selected breakpoints by typing the 'delete' key in the breakpoints list
	tab.

2007-06-10 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-breakpoints-view.cc: load the breakpoints
	popup menu in the constructor instead of in the get_breakpoints_menu()
	function.  This is needed because we update the sensitivity of the menu
	actions when the treeview selection changes, and this can happen before
	we've ever popped up the menu, which results in error logs printed to the
	terminal.  In the process, I also reduced some code duplication in
	on_treeview_selection_changed()

2007-06-09 Jonathon Jongsma <jjongsma@gnome.org>

	* help/C/nemiver.xml: Added some basic content for all of the user manual
	sections that were blank or marked TODO.  There's not a lot useful here, but
	it's at least minimally complete now.
	* help/Makefile.am: add new screenshots
	* help/C/figures/open-files-target.png
	help/C/figures/set-breakpoint-dialog.png
	help/C/figures/variable-inspector.png: new screenshots for user manual

2007-06-09 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/setbreakpointdialog.glade: make the set
	breakpoint dialog a little bit wider by default.
	* src/persp/dbgperspective/nmv-set-breakpoint-dialog.cc: some time ago,
	setbreakpoint.glade was renamed to setbreakpointdialog.glade, but apparently
	we've still been trying to load the widget from setbreakpoint.glade.  So in
	0.4.0, the new set a breakpoint on a function name feature would not have
	  worked at all.  We didn't notice because we probably both had the old
	  glade file installed in /usr/local, so it was just loading the old file.

2007-06-09 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/chooseoverloadsdialog.glade,
	src/persp/dbgperspective/nmv-choose-overloads-dialog.cc: cleanup of the
	'Choose Overloaded Function' dialog so that it looks a little bit cleaner.
	Provide a bit of explanation of what is going on, and add a bit of spacing
	per the HIG.

2007-06-05 Dodji Seketeli <dodji@gnome.org>

	* src/common/nmv-proc-mgr.cc,h:
	  change ProcMgr::get_process_from_pid() to make it use the pid_t
	  type instead of int. This is to reflect the API change
	  in libgtop HEAD that would break the compilation otherwise.

2007-06-03 Jonathon Jongsma <jjongsma@gnome.org>

	* configure.ac: add the ability to disable building of automated tests even
	when the NEMIVER_DEVEL environment variable is set.  Hopefully this won't be
	necessary for much longer, but currently the tests don't build for me with
	boost 1.33.x.  I should really look into why it doesn't build, but this lets
	me build nemiver in the meantime

2007-06-03 Dodji Seketeli <dodji@gnome.org>

	* Makefile.am: do not distcheck for release, only dist. Update svn path
	  to point to GNOME svn.

2007-06-03 Dodji Seketeli <dodji@gnome.org>

	* NEWS: updated this to prepare the 0.4 release

2007-06-02 Dodji Seketeli <dodji@gnome.org>

	* configure.ac: detect the static library
	  libboost_unit_test_framework-st.a as it is now mandatory
	  - with boost 1.34 - for some of our tests. Define the variable
	  BOOST_UNIT_TEST_FRAMEWORK_STATIC_LIB that points to that detected
	  static library.
	* test/Makefile.am: update this to use the new static lib variable.

2007-06-02 Dodji Seketeli <dodji@gnome.org>

	* tests/Makefile.am: adapt tests to the last m4 machinery change wrt
	  boost 1.34 detection.
	* tests/test-breakpoint.cc, tests/test-cpptrait.cc,
	  tests/test-cpptrait.cc, tests/test-deref.cc,
	  tests/test-gdbmi.cc, tests/test-local-vars-list.cc,
	  tests/test-local-vars-list.cc, tests/test-unicode.cc,
	  tests/test-var-list.cc: update these to use boost 1.34

2007-05-21 Dodji Seketeli <dodji@gnome.org>

	* m4/ax_boost_test_exec_monitor.m4: updated this
	  to detect the exec monitor library which name has changed in
	  boost version 1.34. This macro still detect the library in
	  boost version < 1.34.

2007-05-21 Dodji Seketeli <dodji@gnome.org>

	* m4/ax_boost_unit_test_framework.m4: detect
	  libboost_unit_test_framework in the 1.34 version.
	  This library's naming scheme has changed in from 1.33.x
	  The MACRO still works with boost version 1.33.

2007-05-20 Jonathon Jongsma <jjongsma@gnome.org>
	* src/persp/dbgperspective/glade/varinspectordialog.glade: HIG fixes: add
	6px border around the dialog so that things match up a bit better and things
	don't look so crowded, remove separator
	* src/persp/dbgperspective/nmv-var-inspector-dialog.cc: set a border around
	the scrolled window containing the variable inspector widget so that it
	looks a bit cleaner

2007-05-20 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: clean up the breakpoint
	menu items.  Improve the menu item names and descriptions, add a keyboard
	shortcut <shift>F8 for enabling/disabling an existing breakpoint

2007-05-20 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/menus/menus.xml:
	  separate menu items into logical groups.

2007-05-20 Dodji Seketeli <dodji@gnome.org>

	* src/main.c: Fix some strings typos. Patch from 
	  "Stéphane Raimbault" <stephane.raimbault@gmail.com>

2007-05-20 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/menus/menus.xml:
	  separate menu items into logical groups.

2007-05-19 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: applied patch
	  #87217, that fixes #433332 entitled 
	  "witch mouse pointer to 'busy' cursor when gdb is running"
	  The patch was made by Jonathon Jongsma <jjongsma@gnome.org>.

2007-05-19 Dodji Seketeli <dodji@gnome.org>

	* src/uicommon/nmv-source-editor.cc,h: Make SourceEditor emit a
	  SourceEditor::insertion_changed_signal() notifying when a user clicks
	  somewhere in the editor.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: changed
	  the last patch to make it use the
	  SourceEditor::insertion_changed_signal() event instead of doing
	  lower level stuff in the perspective.

2007-05-14 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Add handling for
	when the cursor position changes so that we can enable or
	disable certain actions depending on what line we're on.
	Now, the "toggle enable breakpoint" action is set
	insensitive when there's no breakpoint set on a particular
	line.  This is a partial fix for bug #430346.  The method I used to
	implement this feels a little bit 'brute-force'-ish, so if you know of
	better ways to accomplish this, let me know.

2007-05-12 Dodji Seketeli <dodji@gnome.org>

	* configure.ac: disable symbols visibility control by default, due
	  to a bug in gcc 4.1.2. See bug #410710 to track this.

2007-05-05 Jonathon Jongsma <jjongsma@gnome.org>

	* autogen.sh: Don't modify ACLOCAL_FLAGS (bug #436226)
	* configure.ac: specify m4 directory in AC_CONFIG_MACRO_DIR

2007-05-02 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/remotetargetdialog.glade: use only
	FileChooserButton instead of a FileChooserButton and a
	Gtk::Entry widget.  This make it more consistent 
	with the 'execute' dialog and the 'load core' dialog
	* src/persp/dbgperspective/nmv-remote-target-dialog.cc: update due to
	changes in the glade file

2007-05-02 Jonathon Jongsma <jjongsma@gnome.org>

	* src/confmgr/nmv-i-conf-mgr.h: add new API: add_key_to_notify()
	   so that we can 'subscribe' to be notified when individual
	   keys are changed, not just whole key directories.
	* src/confmgr/nmv-gconf-mgr.cc: implement add_key_to_notify()
	  so that when the key is modified, it emits the
	  value_changed signal on IConfMgr
	* src/workbench/nmv-workbench.cc: add notification of the
	individual key for the GNOME system monospace font instead
	of watching the entire /desktop/gnome/interface directory

2007-05-01 Jonathon Jongsma <jjongsma@gnome.org>

	* po/POTFILES.in: Add some missing files so that they get translated

2007-05-01 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/preferencesdialog.glade: minor re-wording
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Get the system monospace
	font from gconf and use that instead of setting it to a generic 'monospace'
	font name.
	* src/workbench/nmv-workbench.cc: In order to be able to update our font
	when the system monospace font changes, I had to also watch the gconf
	directory /desktop/gnome/interface for configuration changes.  This seems
	a bit ugly, but IConfMgr doesn't currently have any other way to do this.
	Maybe we need to add something to IConfMgr to accomodate this, but for now I
	just did the quick-and-dirty fix.

2007-05-01 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/preferencesdialog.glade: added preference
	for setting a custom font for the source editor widget
	* src/persp/dbgperspective/nmv-preferences-dialog.cc: Add support for
	setting custom font
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: watch for changes to font
	settings and update source editors as necessary
	* src/persp/dbgperspective/schemas/nemiver-dbgperspective.schemas: add
	configuration settings for custom font

2007-04-30 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h:
	  Added an output handler to handle the connection to the gdbserver.
	  Added IDebugger::connected_to_server_signal() to notify when
	  connected to the remote debugging server.
	  This makes support of connection to gdbserver work.
	* src/persp/dbgperspective/menus/menus.xml,
	  src/persp/dbgperspective/nmv-dbg-perspective.cc: added a
	  "Connect to remote target" menu item. Popup a dialog to
	  let the user choose the gdbserver to connect to.
	  This entry adds a basic support of connection to gdbserver. woot.

2007-04-30 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h:
	  add an IDebugger::attach_to_remote_target() entry point.

2007-04-30 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/glade/Makefile.am,
	  src/persp/dbgperspective/nmv-remote-target-dialog.cc,h:
	  added a new RemoteTargetDialog to select a remote debugging server
	  to connect to. It is not used yet.

2007-04-30 Dodji Seketeli <dodji@gnome.org>

	* configure.ac,src/persp/dbgperspective/Makefile.am,
	  src/uicommon/Makefile.am:
	  mv src/persp/dbgperspective/nmv-source-editor.cc,h to
	  src/uicommon/nmv-source-editor.cc,h

2007-04-28 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-variables-utils.cc: use the 'text' color from
	the theme, no the 'fg' color.  In some themes these colors apparently are
	different and the text can become difficult to read.

2007-04-25 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/openfiledialog.glade: don't specify the
	'open' stock icon for the Open files dialog so that it uses the nemiver
	application icon instead.  Otherwise it's not obvious which application the
	dialog belongs to if you just look at the taskbar.

2007-04-25 Jonathon Jongsma <jjongsma@gnome.org>

	* Fix for Bug #431073, to expand the file treeview to a sane default
	location.
	* src/persp/dbgperspective/nmv-file-list.cc,h:
	* src/persp/dbgperspective/nmv-open-file-dialog.cc,h: add a construction
	parameter which specifies the starting location for the OpenFileDialog.  The
	list of files will be expanded automatically so that the starting location
	is visible by default when the dialog is opened.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: pass the path of the
	current source file as the starting path for the OpenFileDialog

2007-04-24 Jonathon Jongsma <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-breakpoints-view.cc: Allow multiple
	breakpoints to be deleted at the same time.  Although the breakpoints view
	supported multiple selection, when you right-click a group of selected
	breakpoints, all but the one you clicked on became de-selected.  To fix
	this, I had to connect the button-press-event signal before the default
	handler and prevent the default handler from being executed if the user
	right-clicked on an already-selected item.

	Moving the signal connection before the default handler caused problems for
	the code that figures out which actions in the context menu are valid,
	however.  The problem was that we use the current selection to determine
	which menu items are valid, but the selection has not been updated by the
	default handler at the time we want to pop up the menu.  To solve this, I
	connected to the treeview selections 'changed' signal, and update the
	actions here instead of while we are displaying the menu.

2007-04-22 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-dialog.h:
	  cosmetic cleanups
	* src/persp/dbgperspective/nmv-find-text-dialog.cc: cosmetic
	  cleanups. Lines are sometimes too long.

2007-04-22 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  (DBGPerspective::choose_function_overload()):
	  Use the new ChooserOverloadsDialog dialog to let the user
	  choose among function overloads, when applicable.
	  This is used when the user sets a breakpoint by specifying the
	  function name, and it appears that name has overloads.
	* tests/fooprog.cc: added function overloads here so that
	  we can test the new overloaded function choice dialog.

2007-04-21 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdbmi-parser.cc: 
	  (parse_overloads_choice_prompt): fix bugs in this to correctly
	   parse overloads choice prompts.
	* tests/test-gdbmi.cc: added a regression test for overloads choice
	  prompt parsing.

2007-04-21 Dodji Seketeli <dodji@gnome.org>

	* src/dbgengine/nmv-gdb-engine.cc:
	  added IDebugger::choose_overloaded_functions() to choose
	  several function overloads at once.

2007-04-21 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/glade/setbreakpoint.glade:
	  rename this into setbreakpointdialog.glade because in nemiver,
	  glade files have the same name as their topmost widget name.
	* src/persp/dbgperspective/Makefile.am:
	* src/persp/dbgperspective/glade/Makefile.am:
	* src/persp/dbgperspective/glade/Makefile.am:
	* src/persp/dbgperspective/glade/chooseoverloadsdialog.glade:
	* src/persp/dbgperspective/nmv-choose-overloads-dialog.cc,h:
	  Added a new ChooseOverloadsDialog to let the user choose
	  among several overloaded funtions.

2007-04-21 Jonathon Jongsma <jjongsma@gnome.org>

	* data/icons/Makefile.am: add 24x24 directory to SUBDIRS

2007-04-21 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/glade/setbreakpoint.glade:
	  rename this into setbreakpointdialog.glade because in nemiver,
	  glade files have the same name as their topmost widget name.
	* src/persp/dbgperspective/Makefile.am:
	* src/persp/dbgperspective/glade/Makefile.am:
	* src/persp/dbgperspective/glade/Makefile.am:
	* src/persp/dbgperspective/glade/chooseoverloadsdialog.glade:
	* src/persp/dbgperspective/nmv-choose-overloads-dialog.cc,h:
	  Added a new ChooseOverloadsDialog to let the user choose
	  among several overloaded funtions.

2007-04-21 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-source-editor.cc: 
	  (SourceEditor::current_line ()): remove a debugging log.

2007-04-21 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-breakpoints-view.cc:
	  (on_breakpoint_go_to_source_action()): don't forget
	  that the treeview supports multiselection now.

2007-04-21 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  (on_file_content_changed()): make this handle the dialog
	  to let the user decide to load the file when its content changes.
	  (file_monitor_cb()): do not launch a dialog in here as it causes
	  gnome-vfs to crash. Rather schedule the dialog showing in and idle
	  the idle function on_file_content_changed().

2007-04-19 Dodji Seketeli <dodji@gnome.org>

	* data/nemiver.desktop.in: refer to the icon without the ending .png

2007-04-19 Jonathon Jongsma <jjongsma@gnome.org>

	A few fixes for the new icons

	Talking with Andreas, he suggested that we should provide
	both 22x22 and 24x24 icons since the GNOME menu uses 24x24
	and the KDE menu (and some GNOME themes) uses 22x22 icons.
	So he provided a 24x24 icon which I've added.  I also fixed a
	couple mistakes in the installation where the 48x48 icons
	were still getting installed to the 64x64 directory.

2007-04-19 Jonathon Jongsma <jjongsma@gnome.org>

	Add new icons from Andreas Nilsson

	The new icon is a more 'tango'-ish icon, and uses a bugspray
	metaphor.  The sizes now provided are 16x16,
	22x22 (instead of 24x24), 32x32, 48x48 (instead of 64x64) and scalable.
	Also added Andreas' name to the artist credits in the About dialog

2007-04-18 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc
	  (DBGPerspective::on_debugger_breakpoints_set_signal): re indented
	  this a bit because lines are too long.
	  (DBGPerspective::clear_session_data): added this to clear
	  session data stuff we keep in memory like env variables,
	  search paths, breakpoints and source dirs.
	  (DBGPerspective::on_going_to_run_target_signal): clear session data
	  befoore running a target. This is needed because otherwise,
	  data from the previous session can be saved in the current one,
	  if the two sessions have been executed without quitting nemiver.

2007-04-18 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-breakpoints-view.cc: allow selection
	  of multiple rows to delete multiple breakpoints at once.

2007-04-18 Dodji Seketeli <dodji@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  (DBGPerspective::execute_program()): before loading a new
	  program, delete the breakpoints we might have set while
	  debugging the previous binary. We are obliged to do that because
	  the gdbmi command -file-exec-and-symbols is buggy. It tries
	  to set breakpoints coming from the previous debugging session.
	  So this is the reason why we when doing two debugging sessions
	  without shutting down nemiver (with the same gdb process then),
	  we see (disabled) breakpoints of the first session
	  inside the second session.

2007-04-16 Dodji Seketeli <dodji@gnome.com>

	* src/dbgengine/nmv-i-debugger.h: added
	  IDebugger::got_overloads_choice_signal() to get notified when
	  gdb sends us a prompt asking to choose between several function
	  overloads. This happens after the user asked to set a breakpoint
	  into function foo(), and when foo() has several overloads.
	  Added IDebugger::choose_function_overload() to choose a given
	  function overload, but its number. Overload numbers are given
	  by IDebugger::got_overloads_choice_signal().
	* src/dbgengine/nmv-gdb-engine.cc: ditto. Implemented the new
	  entry points of IDebugger.
	  (GDBEngine::Priv::on_gdb_stdout_signal()): fixed long standing
	  bug in here.
	  (GDBEngine::Priv::issue_command()): changed the prototype
	  of this to be able to directly send a command to GDB without
	  doing flow control. This is useful for instance when replying
	  to a gdb prompt. We must silently and directly send the prompt
	  reply and behave like if that prompt reply has never existed.
	  (GDBEngine::Priv::on_gdb_stdout_has_data_signal): expect having
	  answers from gdb that are not only gdbmi outputs, but that are
	  prompts, for instance.
	  (OnBreakPointHandler::do_handle()): detect if gdb sent us a prompt,
	  parse it and emit IDebugger::got_overloads_choice_signal().
	 * src/dbgengine/nmv-gdbmi-parser.cc,h:
	  (parse_stream_record()): some stream records - debugger console
	   streams - can be prompts, i.e, followed by the character '>'
	   and white spaces.
	  (parse_overloads_choice_prompt()): added this to actually parse
	   the overloads choice prompt.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  Whenever we are to choose between overloaded function, choose all of
	  them from now. I will hack up a choice dialog later.
	* tests/test-gdbmi.cc: added test case for overload prompt parsing.

2007-04-14 Dodji Seketeli

	* src/persp/dbgperspective/glade/setbreakpoint.glade:
	  set the okay button as the default one.
	* src/persp/dbgperspective/nmv-set-breakpoint-dialog.cc:
	  By default, activates the "function name" mode. Make the
	  function name entry activate the default button -
	  the ok button of the dialog - when the user hits Enter.
	  Now, the user can do ctrl-b, followed by the name of a function,
	  followed by the enter key, to set a breakpoint in a function.
	  I feel this more convenient as setting a breakpoint in a function
	  is the what developers do the most, when they set breakpoints.

2007-04-14 Dodji Seketeli

	* src/persp/dbgperspective/nmv-breakpoints-view.cc:
	  (BreakpointsView::Priv::set_breakpoints()): do not remove
	  breakpoints that are not in the list of breakpoints returned
	  by IDebugger. IDebugger does not always return the list of
	  *all* breakpoints set.
	* src/persp/dbgperspective/nmv-i-debugger.h: added some comments
	  to IDebugger::breakpoints_set_signal().

2007-04-14 Dodji Seketeli

	* src/dbgengine/nmv-gdbmi-parser.cc: added
	  a CHECK_END_BREAK() macro useful in debugging conditions.
	  (parse_stack_arguments()): A parameter value string can contain
	  a '{' character and yet not carry an unnamed variable. In that
	  case, don't bail out. Just keep that parameter value as it is.
	  This fixes a hang that was appearing randomly.
	* tests/test-gdbmi.cc: added a non regression test to catch this.

2007-04-07 Jonathon Jongsma	<jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/setbreakpoint.glade,
	src/persp/dbgperspective/nmv-dbg-perspective.cc,
	src/persp/dbgperspective/nmv-set-breakpoint-dialog.cc|h:
	Add ability to set a breakpoint by function name
	in addition to source file and line number.
	There seems to be some errors in the gdbmi parsing
	that cause failures when trying to set breakpoints
	on certain function names.  This requires more digging.

2007-04-07 Jonathon Jongsma	<jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc,
	src/persp/dbgperspective/nmv-set-breakpoint-dialog.cc|h:
	Add a little bit of
	error-handling for unreasonable line numbers (i.e. don't try to set a
	breakpoint if the atoi call has been clamped to INT_MIN or
	INT_MAX or if it couldn't find an integer value and returned 0.

2007-04-07 Jonathon Jongsma	<jjongsma@gnome.org>

	* src/persp/dbgperspective/glade/Makefile.am,
	src/persp/dbgperspective/glade/setbreakpoint.glade,
	src/persp/dbgperspective/menus/menus.xml,
	src/persp/dbgperspective/Makefile.am,
	src/persp/dbgperspective/nmv-set-breakpoint-dialog.cc|h,
	src/persp/dbgperspective/nmv-dbg-perspective.cc: beginning of an
	implementation of a dialog for setting arbitrary breakpoints.
	Currently it has a text entry for 'filename' and one for 'line number'
	and attempts to set a breakpoint at the requested line.
	There's not really any error handling yet, but it works for simple
	cases.  Eventually there should be a way to set a breakpoint
	on a function name as well -- not sure whether that
	should be a separate option in the UI or combined somehow.

2007-04-07 Dodji Seketeli

	* src/main.cc: added a --env option that can be used as in:
	  nemiver --env "foo=bar foobar=baz" prog-to-debug

2007-04-06 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h:
	  gdb does not support breakpoint enabling/disabling 
	  when breakpoints are addressed by file:number. You
	  need to address breakpoints by number.
	  So I removed the methods that were claiming doing
	  file:number addressing. There were confusing at best.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  toggle_enable_breakpoint into on_toggle_breakpoint_enabled.
	  DBGPerspective::toggle_breakpoint_enabled(): address
	  breakpoints by their number otherwise gdb does not understand.
	  This entry should unfuck breakpoint enabling/disabling
	  via the contextual menu.

2007-04-05 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  Modify DBGPerspective::set_where() so that we can choose
	  to scroll to the position of the where marker or not.
	  DBGPerspective::reload_file(): before reloading the file,
	  remind the current line/col to reset after reloading.
	  After reloading, scroll to the current line, if the user
	  precedently selected a line, otherwise scroll to the where marker
	* src/persp/dbgperspective/nmv-source-editor.cc:
	  SourceEditor::Priv::on_signal_insertion_moved(): properly set the
	  current line/col, dammit.
	  SourceEditor::move_where_marker_to_line(): allow this function to
	  scroll (to the where marker) *or not*.
	  SourceEditor::unset_where_marker(): guard against deleting marker
	  twice.
	  SourceEditor::set_visual_breakpoint_at_line(): ditto

2007-04-05 Dodji Seketeli

	* src/persp/dbgperspective/menus/menus.xml: add the
	  ToggleEnableBreakpointMenuItem
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  append "toggle enable menu" action to the contextual menu
	  and the debugging menu.
	  This entry fixes bug #424270.
	* src/persp/dbgperspective/menus/toolbar.xml: added
	  StopMenuItem to the toolbar.

2007-04-05 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  DBPerspective::apply_decorations_to_text(): add
	  this function to add breakpoints and current line
	  pointer to a source editor that got freshly reloaded
	  DBGPerspective::reload_file (const UString &a_path):
	  Call the new DBPerspective::apply_decorations_to_text()
	  function to apply text decoration.
	* src/persp/dbgperspective/nmv-source-editor.cc:
	  SourceEditor::set_visual_breakpoint_at_line (int a_line,bool enabled):
	  When marker were set a line we want to set a new one, delete it
	  and reset it. Otherwise, when we clear a source buffer, it markers
	  stay there but are not visible. To make them visible, the only way
	  I have found was to delete them and set them again.
	  This entry makes the reloading of a source file works so
	  what decently.
	  It now reset the text decorations (breakpoints and current line
	  markers)
	  this entry fixes bug #417775

2007-04-03 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	 DBGPerspective::load_file(): don' t necessarily create
	 a new buffer all the time. Give us a change to reuse one.
	* DBGPerspective::reload_file(): reuse the source buffer we
	  use already.

2007-04-03 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc:
	  GDBEngine::Priv::on_gdb_stdout_has_data_signal():
	  GDBEngine::Priv::on_gdb_stderr_has_data_signal(): log
	  channel disconnection in the default domain.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  DBGPerspective::close_file(): fix a typo in here. Unmonitor
	  the closed file, instead of trying to monitor it again.

2007-04-03 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: added
	  a menu item + contextual menu to reload a file.
	  Monitor the file changes using gnome-vfs to propose
	  a reload to the user.
	  The reload is very basic atm as it looses buffer decorations
	  like breakpoint and current line markers etc.
	  DBGPerspective::close_opened_files (): fix a crasher here.
	  typically, don't hold an iterator that is being invalidated.
	* src/persp/dbgperspective/menus/menus.xml: added menu items in here.

2007-04-01 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  cleanup: use Glib::filename_to_utf8() instead of
	  Glib::locale_to_utf8() when applicable.

2007-04-01 Dodji Seketeli

	* src/persp/dbgperspective/nmv-local-vars-inspector.cc:
	  LocalVarsInpector::Priv::on_variable_value_signal():
	  make sure the variable is not nil. Log its name.

2007-03-30 Dodji Seketeli

	* po/nemiver.pot: remove this generated file from version control

2007-03-30 Dodji Seketeli

	* src/common/nmv-safe-ptr-utils.h: add safeptrs for
	  arrays of gchar and gunichars allocated with the new() operator,
	  and so de-allocated with the delete operator. Call them
	  CharSafePtr and UnicharSafePtr.
	* src/common/nmv-ustring.cc: UString::split(): use CharSafePtr
	  to remove mismatched free/delete errors. These were pratically
	  harmless, but there are still bugs. And they pollute valgrind
	  reports.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  DBGPerspective::open_file(): ditto.

2007-03-29 Dodji Seketeli

	* src/persp/dbgperspective/nmv-breakpoints-view.cc:
	  BreakpointsView::Priv::set_breakpoints(): when we erase
	  an element from a list, the iterator pointing at the erased
	  element becomes invalid. We can not use it anymore.
	  BreakpointsView::Priv::on_debugger_breakpoint_deleted_signal():
	  ditto.
	  This entry should fix bug #424069

2007-03-29 Dodji Seketeli

	* src/dbgengine/nmv-gdbmi-parser.cc:
	 parse_member_variable(): when the last component of
	 the member variable (before the ending '}') is name,
	 allow the ending '}' to be the last character of the input
	 stream. This is likely to fix bug #423846.
	* tests/test-gdbmi.cc: added a test case/non regrestion test for
	  that bug.

2007-03-27 Dodji Seketeli

	* sdata/nemiver.desktop.in: fix a typo to make the
	  nemiver menu icon show up
	* po/fr.po: fixed a typo.

2007-03-25 Dodji Seketeli

	* src/persp/dbgperspective/nmv-var-inspector.cc:
	  VarInspector::Priv::set_variable(): request variable type
	  using a private cookie.
	  VarInspector::Priv::set_variable_type(): make this return
	  a success status.
	  VarInspector::Priv::print_pointed_variable_value():
	  request pointed variable value using a private cookie.
	  VarInspector::Priv::on_debugger_variable_value_signal():
	  only consider answers that have our private cookie.
	  VarInspector::Priv::on_variable_type_signal():
	  only consider answers that have our private cookie.
	  get out gracefully if we could not actually set the variable
	  type.
	  VarInspector::Priv::on_pointed_variable_value_signal():
	  request variable type using a private cookie.
	  VarInspector::inspect_variable(): request variable value
	  using a private cookie.


2007-03-24 Dodji Seketeli

	* src/common/nmv-ustring.cc: UString::split():  make this
	  work when characters which code > ascii 127 are present
	  in the string.
	* src/dbgengine/nmv-gdbmi-parser.cc:
	  QuickUStringLess::operator()(): use strncmp() and not strcmp().
	  You never know.

2007-03-21 Dodji Seketeli

	* src/dbgengine/nmv-gdbmi-parser.cc: fixed a couple of bugs in here.
	  First, when skipping blank spaces, don't use SKIP_WS, but rather
	  SKIP_BLANK, as the former also skips newlines. Problems is that
	  newline is the end marker for result records.
	  Recode parse_attribute() to make it use the gdbmi AST.
	  This makes the code shorter, and more bugfree as it handles
	  strings correctly and supports unicode. Make it also more
	  robust w.r.t parsing starting condition.
	* tests/test-gdbmi.cc: test case for parse_c_string(),
	  parse_attribute() and parse_stopped_async_output() added,
	  as these were the functions that were falling.
	  This entry fixes bugs that appeared because I fixed
	  #414334.

2007-03-21 Dodji Seketeli

	+ configure.ac: fixed a typo: AX_BOOST_TEST_FRAMEWORK does not exit

2007-03-21 Dodji Seketeli

	* src/dbgengine/nmv-gdbmi-parser.cc:
	  make parse_c_string_body() parse escaped octal sequences of bytes.
	  This makes the resulting string be a real unicode string now.
	  This helps unescaping some file paths expressed in an escaped
	  form in the debugging info. All the generic GDBMI datastructure
	  based parsing functions directly benefit from this change.
	  parse_attributes() (written before we had generic GDBMI parsing
	  capabilities) didn't benefit it directly because it was parsing
	  strings directly, without using parse_c_string.
	  I did add a hack there, where the resulting string
	  as parsed by parse_attribute() is reparsed again using
	  parse_c_string(), so that it gets a chance to unsescape the octal
	  escape sequences it might contain. This should fix bug
	  #414334.
	  * src/persp/dbgperspective/nmv-dbg-perspective.cc:
	    Replace a bunch of Glib::locale_from_utf8() into
	    Glib::filename_from_utf8() when converting paths to
	    utf8. This should be the proper way to do it.
	 * tests/test-gdbmi.cc: added test cases with strings containing
	   octal escape sequences. This should catch regressions on related
	   to bug #414334.



Sun, 18 Mar 2007 19:04:53 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc, nmv-i-debugger.h:
	  Added IDebugger::variable_value_set_signal(),
	  and IDebugger::get_variable_value(). To ease variable
	  value updating workflows.
	* src/dbgengine/nmv-i-var-list.h, nmv-var-list.cc:
	  Fix value and type updating workflows. Now it seems
	  variable values and type are correctly updated when doing
	  IVarList::update_state(). woot.
	* test/test-local-vars-list.cc: wrote this to debug
	  variable state udpating.

Sat, 17 Mar 2007 20:19:19 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h:
	  added IDebugger::get_variable_type(), that takes an
	  VariableSafePtr in parameter.
	  IDebugger::variable_type_set_signal() returns that
	  very same variable, with its type set.
	  For the record, this is complementary
	  to IDebugger::print_variable_type(),
	  that doesn't take an VariableSafePtr in parameter,
	  but rather a string representing a variable name.
	  Its matching IDebugger::variable_type_signal() slot
	  returns a string representing the type.
	* tests/test-deref.cc: updated this to test
	  IDebugger::get_variable_type(). Now, we only dereference
	  a variable when its type is a pointer.

Sat, 17 Mar 2007 17:20:34 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: make
	  IDebugger::dereference_variable() work.
	* tests/test-deref.cc: write this to debug the
	  IDebugger::dereference_variable()
	* tests/test-breakpoint.cc: a bit of cleanup

Fri, 16 Mar 2007 12:50:24 +0100 Dodji Seketeli

	* tests/Makefile.am: add test-breakpoint.c to the list of auto tests

Thu, 15 Mar 2007 12:33:15 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdbmi-parser.cc,h:
	 parse_member_variable(): make this work for cases where
	 an escaped string is embedded in the value being parsed.
	 To parse that string, use the new parse_embedded_c_string().
	 The string is not yet "interpreted" yet, so the result
	 of the parsing is not really readable in the resulting
	 member variable. But at least, the parsing does not fail
	 anymore.
	* tests/test-gdbmi.cc b/tests/test-gdbmi.cc:update this
	  to reflect the new member variable with embedded string
	  things.

Wed, 14 Mar 2007 11:21:11 +0100 Dodji Seketeli

	* src/main.cc: unbreak command line handling due to
	  the libgnome init that was done before our parsing the command
	  line.

Wed, 14 Mar 2007 10:30:13 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: fixed numerous bugs in here.
	  Better control of the flow on the wire between us and gdb
	  to avoir overflow it. Overflowing was causing some subtle errors
	  like some command result being ignored by us.
	  Added better detection and processing of gdb results that
	  come in group, i.e more than a result at a time.
	* src/dbgengine/nmv-var-list.cc: a bit of cleanup
	* tests/Makefile.am: update test deps. Use boost::test when applicable
	* tests/test-breakpoint.cc: make this use boost::test
	* tests/test-cpptrait.cc: ditto
	* tests/test-gdbmi.cc: ditto. Added more test cases.
	* tests/test-unicode.cc: ditto.
	* tests/test-var-list.cc: ditto

	* Makefile.am: make aclocal use our custom m4 autoconf macros

Sun, 11 Mar 2007 13:36:12 +0100 Dodji Seketeli

	* configure.ac: properly detect boost::test libs. Don't use cppunit
	  anymore.
	* m4: added this new dir packed with autoconf macros to detect
	  boost libraries.
	* src/common/nmv-exception.h: add an ABORT_IF_FAIL() macro to
	  ease debugging in some cases.
	* src/common/nmv-log-stream-utils.h: added MESSAGE() macro
	  to log basic messages without location information. This is
	  used in some test files.

Sun, 11 Mar 2007 00:10:02 +0100 Dodji Seketeli

	* src/dbgengine/nmv-dbg-common.h: we can now store a
	  IDebugger::Variable into a Command
	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h:
	  Added the IDebugger::dereference_variable() method to deref
	  a variable. Not tested yet though. Bugfixes will follow.

2007-03-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-find-text-dialog.cc: Add support for
	remembering previous search terms in the combobox drop-down.  Search terms
	are added when a search is performed, but only if the term is not already in
	the list.

2007-03-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* src/persp/dbgperspective/nmv-find-text-dialog.cc: Make it so that when the
	'find' dialog is re-shown, it automatically selects the current search term
	and puts the focus in the search entry box.  Previously, if you had clicked
	the close button and then opened the 'find' dialog again, pressing enter
	would have closed the dialog (since the 'close' button was still focused)
	instead of finding the next match.

2007-03-10  Jonathon Jongsma  <jjongsma@gnome.org>

	* README: indicate that tests must be run after installing nemiver
	* tests/Makefile.am: make unit tests run in `make check`

Sat, 10 Mar 2007 15:08:45 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc, nmv-i-debugger.h:
	  added and IDebugger::get_language_trait() to have information
	  and behaviour related to the language of the current target.
	  Today, this returns a c++ trait only. But in the future,
	  we will actually detect the language of the target and
	  return a trait really matching the language of the target.
	  Take this as a bootstrap of the story of the multiple language
	  language support.
	* tests/test-cpptrait.cc: added a small test for
	  IDebugger::get_language_trait()

Sat, 10 Mar 2007 00:58:18 +0100 Dodji Seketeli

	* src/dbgengine/cpptrait.conf.in: added this file
	* src/dbgengine/nmv-cpp-trait.cc,nmv-i-lang-trait.h: starting
	  to think about dealing about language specifics with a ILangTrait
	  interface. The only language supported is cpp atm.
	* tests/test-cpptrait.cc: added some tests for the ILangTrait iface

Wed, 07 Mar 2007 23:44:46 +0100 Dodji Seketeli

	* configure.ac: really check cppunit optionally. Not by default
	* tests/Makefile.am: only compile test-unicode when cppunit support
	  is present

Tue, 06 Mar 2007 22:30:20 +0100 Dodji Seketeli

	*  src/common/nmv-ustring.h,cc: declare a destructor for WString,
	   otherwise weird things happen
	* tests/test-templated-var.cc: moved this into templated-var.cc
	* tests/test-unicode.cc: port this over cppunit


Sun, 04 Mar 2007 21:23:43 +0100 Dodji Seketeli

	* src/dbgengine/Makefile.am: added missing link time deps to the
	  libgdmiparser.la
	* src/dbgengine/nmv-gdbmi-parser.cc:
	  parse_stack_arguments(): when an argument is compound, gdb puts
	  its members into the argument value as serialized into a string.
	  To get the parameter members, we now parse the argument's value to
	  to deserialise the members that might have been encoded there.
	* tests/test-gdbmi.cc: added this to test gdbmi parsing functions.
	  This is based on cppunit. It's the first of a long serie of non
	  regression tests to come. I will need to call them automatically
	  from the makefile via a 'test' target.
	* configure.ac: bumped version number to 0.4 and added cppunit
	  dependency, turned off by default, but added automatically when
	  the variable NEMIVER_DEVEL=on is set before configure.

Tue, 27 Feb 2007 22:10:35 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdbmi-parser.h : added this new file
	  to hold the gdbmi parser declarations and definitions.
	* src/dbgengine/nmv-dbg-common.[cc|h]: put here stuff that
	  would be common to different implementations of IDebugger.
	  e.g.: Command, Output, CommandAndOutput, etc.
	* src/dbgengine/nmv-gdb-engine.cc: rip the gdbmi parsing code
	  of from here and put it in nmv-gdbmi-parser.h/.cc
	* src/dbgengine/nmv-var-list.cc: debugged the
	  IVarList::find_variable_from_qname() code a bit. I still
	  have to look into some variable parsing code problems.
	* tests/test-var-list.cc: more on the varlist test. There are
	  still some issues because I the lookup of fully qualified variable
	  names fails, especially when the fqvn contains a dot, e.g:
	  var.member. Still working on it.

2007-02-19  Jonathon Jongsma  <jjongsma@gnome.org>

	* help/C/nemiver.xml: fix a tiny typo in the user manual

2007-02-13  Jonathon Jongsma  <jjongsma@gnome.org>

	* added the beginnings of a user manual for Nemiver and hooked it up to the
	help menu.  There is now a libgnome dependency for the workbench and the
	'nemiver' executable, since we use gnome_help_display() to launch the help
	browser and this function doesn't work unless our application has been
	initialized as a gnome program with gnome_program_init()

Sun, 11 Feb 2007 23:36:36 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc, nmv-i-debugger.h: added
	  a IDebugger::load_program() convenience overload function.
	  Changed IDebugger::frame_params_listed_signal() into
	  IDebugger::frame_arguments_listed_signal() for more coherence.
	* src/dbgengine/nmv-var-list.cc, nmv-i-var-list.h: added
	  IVarList::append_variables(), IVarList::remove_variables()
	  for convenience. Make IVarList::append_variable() emit
	  the IVarList::variable_added_signal(). Make
	  IVarList::remove_variable() emit the
	  IVarList::variable_removed_signal()
	* src/common/nmv-scope-logger.h: fix the scope logger so that
	  it logs in the general log domain by default
	* tests/test-var-list.cc: updated this to start testing
	  variable lookup. Still have to do more testing (and debugging)
	  around that feature.

2007-02-11  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-breakpoints-view.cc: Don't clear the list of
	breakpoints every time we get a 'breakpoints-set' signal.  Instead, search
	through the list of breakpoints and update breakpoints that already exist,
	add breakpoints that are new, and delete others.  This makes it so that when
	disabling a breakpoint, the row doesn't get briefly selected and then
	de-selected, which is rather annoying. This also fixes another
	long-standing, but slightly less annoying thing: when you set a new
	breakpoint, the selected row in the breakpoints view would get de-selected.

Sun, 11 Feb 2007 17:59:51 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  DBGPerspective::close_opened_files(): prevent this function to
	  to loop for ever.
	  DBGPerspective::unset_where(): prevent a crash here
	  DBGPerspective::append_source_editor(): prevent this function
	  to assert and get out in the middle of the internal data update.
	  This would live the perspective in a non coherent state.

2007-02-07  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/glade/proclistdialog.glade: add text entry box
	for filtering the list of processes
	* src/persp/dbgperspective/nmv-proc-list-dialog.cc: filter the list of
	processes when user types a search term into the dialog

2007-02-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: save and restore the
	position of the status pane between sessions.  Note that this implementation
	maintains the position of the pane from the top of the window, It does not
	maintain the height of the status window.  It might be better to maintain
	the height of the status window, but this way was simpler (i.e. I don't have
	to wait for the workbench to set its size and then subtract the height of th
	pane to calculate the position it should be set to)
	* src/persp/dbgperspective/schemas/nemiver-dbgperspective.schemas: add a
	gconf setting for status pane location

2007-02-05  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	 * src/persp/dbgperspective/nmv-dbg-perspective.cc: if breakpoints loaded
	 from a stored session are disabled, add the breakpoint with a cookie
	 indicating that they need to be immediately disabled.  Then in
	 on_debugger_breakpoint_set_signal, disable the appropriate breakpoint
	 * src/persp/dbgperspective/nmv-sess-mgr.cc,h: save the enable/disable status
	 of breakpoints in the sessions db
	 * src/persp/dbgperspective/sqlscripts/sqlite/create-tables.sql: update the
	 session DB to add a field for breakpoint enable/disable.  Also bumped the
	 database schema version.  WARNING: this means that your existing database
	 will be deleted when first run after you update to this version.

Sun, 04 Feb 2007 23:36:36 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h: 
	  Each query to the IDebugger can be associated to a cookie.
	  Now, the cookie set by client code at query time is
	  returned in the signal triggered by the query result.
	* src/dbgengine/nmv-var-list.cc, nmv-i-var-list.h:
	  More work on the IVarList interface and implementation.
	  Nothing works yet, but the model is shaping up.
	* tests/test-var-list.cc: started to add a playground for the
	  IVarList interface
	* src/persp/dbgperspective/nmv-local-vars-inspector.cc: propagated
	the cookie related changes done on IDebugger.
	* src/persp/dbgperspective/nmv-thread-list.cc: ditto
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: ditto
	* src/persp/dbgperspective/nmv-file-list.cc: ditto
	* src/persp/dbgperspective/nmv-call-stack.cc: ditto
	* src/persp/dbgperspective/nmv-var-inspector.cc: ditto
	* tests/test-breakpoint.cc: ditto
	* tests/test-core.cc: ditto

2007-02-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-breakpoints-view.h,cc: add ability to
	manually force breakpoints view to refresh its list of breakpoints
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: force breakpoints view to
	refresh its breakpoints when the user clicks the "restart" button on the
	toolbar.  This is necessary because when a program runs to completion, it
	clears everything in the status notebook tabs, and restarting the executable
	doesn't result in a 'breakpoints-set' signal being fired, so we have to
	force the breakpoints to be re-listed.

2007-02-03  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/dbgengine/nmv-i-debugger.h: add API to enable and disable a breakpoint
	by breakpoint number (id).  Add signals for enabling/disabling breakpoints
	* src/dbgengine/nmv-gdb-engine.cc: Implement new enable/disable
	functionality
	* src/persp/dbgperspective/icons/breakpoint-disabled-marker.png,
	src/persp/dbgperspective/icons/Makefile.am: add disabled breakpoint icon
	* src/persp/dbgperspective/nmv-breakpoints-view.cc,h: refactor to keep a
	reference to debugger so that it can update the list of breakpoints itself
	instead of having the DBGPerspective set the breakpoints every time they
	change.  Also allows the breakpoints view to send enable/disable commands to
	gdb easily when user clicks the checkbox.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc,h: modify
	append_visual_breakpoint() to add a parameter which determines whether to
	add an enabled or a disabled breakpoint icon marker
	* src/persp/dbgperspective/nmv-source-editor.cc,h: Use the SourceMarker
	'type' property to indicate whether it's a disabled or an enabled
	breakpoint.  Previously, each breakpoint marker had its type equal to its
	unique name, so each had to register a marker type when it was added.  Now
	we register just two marker types in init(): "breakpoint-enabled-type" and
	"breakpoint-disabled-type" and switch between these types when somebody
	enables or disables a breakpoint.  

	* This patch needs some work yet.  For instance, when you enable/disable the
	breakpoint that also has a 'where marker' on the same line, the breakpoint
	markers don't appear correctly until it gets redrawn (e.g. either the
	where-marker or the breakpoing marker will not be visible).  Also, when you
	click the checkbox to enable/disable a breakpoint, what happens is that
	breakpoint gets selected, then it sends a command to gdb to disable the
	breakpoint, eventually we get a breakpoints-set signal and remove all
	breakpoints from the view and re-add them.  So what happens is that the
	selection gets lost, which is unexpected.  Also, I haven't yet saved the
	enable/disable state to the session DB, so when a breakpoint is disabled, it
	will be enabled when you resume debugging the session next time.

2007-01-30  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/workbench/nmv-workbench.cc: use an icon list for the default window
	icon so that the alt-tab switcher doesn't get a scaled-up 16x16 icon, but a
	proper large icon (closes bug #401249)

Sun, 28 Jan 2007 23:54:13 +0100 Dodji Seketeli

	* tests/test-stdout.cc, test-unicode.cc: fixed compilation errors

Sun, 28 Jan 2007 15:21:54 +0100 Dodji Seketeli

	* src/uicommon/nmv-spinner.cc,h: fixed a compilation error

2007-01-26  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/workbench/nmv-workbench.cc: mark a missed string for translation

Sat, 27 Jan 2007 02:14:49 +0100 Dodji Seketeli

	* docs/dynamic-modules.txt: fixed a typo

Sat, 27 Jan 2007 01:56:54 +0100 Dodji Seketeli

	* */*: in my quest to enable client code outside of the nemiver tree
	 to use the headers, I have been obliged to specify the 'common' directory
	 in all #include "common/nmv-foo.h" directive used by public headers.
	 This is because when deployed, headers go in
	 $prefix/include/nemiver/common or $prefix/inlcude/nemiver/dynmods.
	 Headers in $prefix/include/nemiver/dynmods almost always do
	 #include "nmv-foo.h" with nmv-foo.h coming from
	 $prefix/include/nemiver/common, leading to compilation error.
	 So from now on, all files including headers comming from
	 the common directory must do #include "common/nmv-foo.h".
	 * docs/mainpage.txt, dynamic-modules.txt: started to describe
	 the principles of the dynmod system, and writing some example code
	 to illustrate my sayings. The code example should compile outside
	 the nemiver source tree. Hence the change done above.
	* src/common/nmv-dynamic-module.h,cc: added some functions to
	 ease the use of dynmods. That makes the doc prettier ;-)

Fri, 26 Jan 2007 17:45:19 +0100 Dodji Seketeli

	* src/main.cc: make nemiver prog arg1 arg2, work.

2007-01-25  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* docs/Doxyfile.in: Attempt to make doxygen understand the
	NEMIVER_BEGIN/END_NAMESPACE macros so that the generated docs have correct
	namespaces
	* docs/Makefile.am: rebuild documentation if Doxyfile config is updated

Wed, 24 Jan 2007 00:00:04 +0100 Dodji Seketeli

	* src/dbgengine/nmv-var-list.cc: starting to think about a variable
	  model. Not much for the moment.

Tue, 23 Jan 2007 18:02:34 +0100 Dodji Seketeli

	* docs/Makefile.am: quick update of the doc makefile.
	  "make doc" should generate API docs in docs/reference/html

Tue, 23 Jan 2007 00:35:34 +0100 Dodji Seketeli

	* lots of files in src/common/ and all the dynmods:
	  Modified the dynmod API to allow a dynmod do host objects
	  that implements interfaces. Clients of dynmod then query the dynmod
	  to the get the interface they need to do a given job. Look
	  at tests/test-breakpoint.cc to see the new dynmod API in action.
	  I will add documentation on this a bit later.
	  This work was much needed so that I coul start working on the
	  new variables model.

Mon, 22 Jan 2007 19:49:02 +0100 Dodji Seketeli

	* docs/*: initial addition of doxygen stuff

Sun, 21 Jan 2007 17:35:51 +0100

================ 0.3.0 release ===================

Sun, 21 Jan 2007 14:32:52 +0100 Dodji Seketeli

	* po/POTFILES.in: update path to nemiver.desktop.in
	* NEWS: updated this for 0.3

Sun, 21 Jan 2007 10:52:49 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: GDBEngine::Priv::Priv():
	  Fixed an uninitialized variable read.
	* src/uicommon/nmv-terminal.cc: Terminal::Priv::Priv():
	  Fixed a small memory leak on the VTETerminal and adjustment widgets.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  DBGPerspective::open_file(): fixed an uninitialized memory read.

Wed, 17 Jan 2007 10:18:49 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: GDBEngine::Priv::set_state(): do basic
	  state changement control here. It helps a bit in reducing the number
	  of IDebugger::state_changed_signal() emitted. I need to profile this to
	  see if the gain is significant.

2007-01-16  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-call-stack.cc: Display the frame number in
	the call-stack widget (fixes #396767)

Tue, 16 Jan 2007 21:53:55 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: added a GDBEngine::set_state()
	  method and use it to set the debugger state instead of emiting the
	  signal "by hand".

Mon, 15 Jan 2007 12:24:01 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-var-inspector.cc: fixed a string format
	  issue. This closes #396773 .

Sun, 14 Jan 2007 00:03:10 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  DBGPerspective::bring_source_as_current(): restaure breakpoints
	  on opened files (when applicable) even when the file hasn't
	  been opened via "File -> open source file"

Sat, 13 Jan 2007 22:07:15 +0100 Dodji Seketeli

	*  NEWS: update this for the coming 0.3 release

Sat, 13 Jan 2007 16:53:20 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: when a new file is
	  loaded, reset the visual breakpoints that migth have been
	  set on that file. This is for the case when the file got opened in
	  the past, but got closed. This should fix bug #384427.

Sat, 13 Jan 2007 10:43:36 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-open-file-dialog.cc: query
	  IDebugger for file list only if the said IDebugger is present and
	  in the IDebugger::READY state. Display the FileChooser otherwise.
	* src/persp/dbgperspective/nmv-file-list.cc,h: Don't query IDebugger
	  for file list at instanciation time. Rather expose a
	  FileList::update_content() to allow client code to query IDebugger
	  on demand.
	  This entry should fix bug #394128.

Fri, 12 Jan 2007 15:33:05 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-variables-utils.cc:
	  set_a_variable_type_real():  don't let type captions be longer than
	  MAX_TYPE_STRING_LENGTH, which means 15 characters as of today.
	  This should fix #394485.

Fri, 12 Jan 2007 14:38:23 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: added an NMV_DONT_LD_BIND_NOW env
	  variable so that we can skip the setting of the LD_BIND_NOW environment
	  variable in the target environment.
	* src/common/nmv-log-stream.cc: the logging control env variable was
	  nmv_log_domain. Added NMV_LOG_DOMAIN. Eventually, only the big caps
	  version will remain.

2007-01-11  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* data/nemiver.desktop.in: add a GenericName field, and add a bit more
	description to the name so that people can just look at the name and know
	that it's a debugger.  This means that the "Name" field must also now be
	translated

2007-01-09  Marko Anastasov   <marko@marko.anastasov.name>

	* src/persp/dbgperspective/nmv-file-list.cc:
	For quicker navigation, catch the following events:
	return: expand row (directory); ctrl-return: expand recursively;
	if a row has already been expanded, they will collapse it;
	double-click: expand. Also added a popup menu.
	This is implemented in the new FileListView class, which encapsulates
	all treeview code, old and new. Discussed in #394469.

Mon, 08 Jan 2007 23:02:50 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-local-vars-inspector.cc: fix
	  the inspector to make it update function members that are
	  dereferenced. Update means updating the values of the dereferenced
	  pointer at each stepping.
	* tests/pointer-deref.cc: update this test to add function argument
	  related workflows.

Mon, 08 Jan 2007 09:55:59 +0100 Dodji Sekteli

	* src/workbench/nmv-workbench.cc, nmv-i-workbench.h: make
	  IWorbench::shut_down() public now.
	* src/main.cc: catch ctrl-c (or kill -SIGINT) to shutdown
	  gracefully .
	* src/persp/dbgperspective/nmv-variables-utils.cc,h: added
	  is_qname_a_pointer_member(). heavily fixed
	  break_qname_into_name_elements(). Also fixed
	  get_variable_iter_from_qname() to better handle paths like
	  foo->bar->baz.
	* src/persp/dbgperspective/nmv-local-vars-inspector.cc: heavily
	  modified this so that members of dereferenced pointers
	  get updated at each stepping. This change also allows proper
	  dereferencing of pointers, no matter how nested the dereferencing
	  is. This entry should fix #386594.
	* tests/pointer-deref.cc: added this to debug/test the variable
	  derefing workflows.

2007-01-07  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* Makefile.am: remove desktop rules from here
	* data/Makefile.am: move desktop rules here
	* data/nemiver.desktop.in: move the nemiver.desktop file to the data/
	directory and add the icon to the desktop file

2007-01-07  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* Makefile.am: add data subdir
	* configure.ac: Add Makefiles for installing icons
	* data/icons/*: added icons from Steven Brown
	* src/workbench/nmv-workbench.cc: set the 16x16 icon as the default icon for
	all nemiver windows and set a 128x128 icon as the logo in the About dialog

2007-01-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* po/POTFILES.in: added a few new files that were missing
	* po/nemiver.pot: updated

2007-01-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/glade/varinspectordialog.glade: Fix up button
	name to match capitalization rules, add mnemonic
	* src/persp/dbgperspective/nmv-local-vars-inspector.cc: Capitalization fixes
	* src/persp/dbgperspective/nmv-source-editor.cc: Another printf-style string
	fix.  This should close bug #386806

2007-01-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Replace a lot of string
	concatenations with printf-style strings to make it easier for translation.
	Also marked a couple of extra strings for translation.

2007-01-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/glade/findtextdialog.glade: change the response
	ID of the 'close' button to GTK_RESPONSE_CANCEL instead of
	GTK_RESPONSE_CLOSE since GTK_RESPONSE_CANCEL automatically makes it so that
	pressing 'esc' closes the dialog window and we don't really use this
	response code anyway.

2007-01-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/glade/locatefiledialog.glade: Don't mark a couple
	of strings as translatable as they're simply placeholders and they'll be
	replaced in code with printf-style strings.
	* src/persp/dbgperspective/nmv-locate-file-dialog.cc: Convert a couple
	things to use the new UString::printf()-style strings so that they're more
	easily translateable.

2007-01-06  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Update the titlebar to
	display information about the target executable when we get the target info
	signal.  Delete the titlebar info when we get the 'detached' signal
	* src/workbench/nmv-i-workbench.h: add set_title_extension() to allow the
	DBGPerspective to update the titlebar with state-specific information
	* src/workbench/nmv-workbench.cc: implement set_title_extension()

Sat, 06 Jan 2007 18:09:59 +0100 Dodji Seketeli

	* src/uicommon/Makefile.am, configure.ac: add libvte to the link
	  dependancies of uicommon as the nmv-terminal.cc moved there
	  recently. This should fix #392590.

2007-01-06  Marko Anastasov   <marko@marko.anastasov.name>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	In open_file(): bring the first selected file to front.

2007-01-04  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/workbench/nmv-i-workbench.h: fixed a minor typo where the 'common'
	namespace was misspelled 'commmon'

2007-01-03  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-file-list.cc: Add file and directory icons to
	the treeview of source files extracted from the target executable.  I think
	this makes it much easier to scan, but it might slow it down a bit, so if it
	gets too slow to scan whether each item is a file or a directory, we might
	need to rip this back out.

2007-01-03  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/glade/openfiledialog.glade: fix title of the
	'open files' dialog to indicate that you can open multiple files at once

Wed, 03 Jan 2007 22:29:05 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-source-editor.cc: 
	  SourceEditor::do_search(): implement the "match-entire-word" option.

Wed, 03 Jan 2007 17:06:31 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: OnFileListHandler::do_handle(): set the
	  state to IDebugger::READY.
	* src/persp/dbgperspective/nmv-open-file-dialog.cc,h: Don't make any assumption
	  about the nature of FileList::get_widget(). It's a Gtk::Widget. FileList
	  now emits FileList::files_selected_signal() so it's no more needed to
	  cast FileList::get_widget() into a Gtk::TreeView to get a selection.
	  Also, listen to the new FileList::file_activated_signal() to react to
	  the user double clicking on file, or selecting it and hitting "Enter".
	* src/persp/dbgperspective/nmv-file-list.cc,h: added FileList::files_selected_signal()
	  to notify file selection. Added FileList::file_activated_signal() to notify
	  when the user double clicks or selects a file and types "Enter".
	  Changed list<UString> FileList::get_filenames() into
	  void FileList::get_filenames(list<UString> &) so that we have a chance to
	  avoid copying the list. Propagated this change to all the users of this
	  function.

Wed, 03 Jan 2007 11:57:26 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: GDBEngine::load_program() and
	  GDBEngine::attach_to_target(): set the LD_BIND_NOW env variable to
	  something. This prevents gdb from being very slow when stepping into a
	  function that is in another dll than the current one.

2007-01-02  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/dbgengine/nmv-gdb-engine.cc: Fix unique-ification of the file list by
	only copying the unique files into the output parameter (previously,
	non-unique elements were left at the end of the list)
	* src/persp/dbgperspective/nmv-file-list.cc: change the list of files from a
	ListStore to a TreeStore and put files into an expandable folder heirarchy
	to make it easier to find the interesting files.
	* src/persp/dbgperspective/nmv-open-file-dialog.cc: validate all selected
	files are open-able before enabling the OK button, also set a shadow on the
	scrolled window

2007-01-01  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	Reorganization of the source file list widget.  It was previously in a
	notebook tab in the status notebook.  Now it is located in the dialog that
	appears when the user selects the 'File -> Open' menu item.
	It isn't perfect yet.  For example, after opening this dialog (and therefore
	querying GDB for the list of source files), all debugging actions become
	disabled, and I couldn't figure out how to fix it since I'm not familiar
	with this code.
	Also, it queries gdb to build the list every time the dialog is opened
	instead of caching it.  This could probably be optimized, but it's quick
	enough now that it probably doesn't matter too much.

	* src/persp/dbgperspective/Makefile.am: add nmv-open-file-dialog.h,cc
	* src/persp/dbgperspective/glade/Makefile.am: add openfiledialog.glade
	* src/persp/dbgperspective/glade/openfiledialog.glade: add new dialog for
	opening source files either from a list determined by gdb or from the
	filesystem.
	* src/persp/dbgperspective/menus/Makefile.am: remove filelistpopup.xml
	* src/persp/dbgperspective/menus/filelistpopup.xml: deleted -- no need for a
	context menu now that the file list widget is in a dialog.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Use the new
	OpenFileDialog to select a source file to open instead of using the standard
	Gtk::FileChooserDialog.  This allows the user to select either from a list
	of source files that make up the executable or select from the filesystem
	manually
	* src/persp/dbgperspective/nmv-file-list.cc: update to fit the new use case
	better.
	* src/persp/dbgperspective/nmv-file-list.h: add a new get_filenames()
	function and simplify the constructor since we don't need references to the
	workbench or perspective anymore since there's no context menu for the
	widget.
	* src/persp/dbgperspective/nmv-open-file-dialog.cc,h: New dialog for opening
	source files that lets you choose from the filesystem or from a list of
	files that make up the target executable

Mon, 01 Jan 2007 21:21:04 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc:
	  GDBEngine::Priv::parse_file_list(): remove duplicated files from the
	  list.
	* src/persp/dbgperspective/nmv-run-program-dialog.cc: show hidden
	  directories in the program file chooser.
	* src/persp/dbgperspective/nmv-source-editor.cc: better detection
	  of variables in the "hover-on-variable" workflow.
	* src/common/nmv-safe-ptr.h: cleanup some naming here.
	* src/common/nmv-ustring.h,c: added a WString type for wide char
	  strings. This is basically a std::basic_char<gunichar>.
	  Added some conversion functions from UString to WString and vis
	  versa.
	* tests/test-unicode.cc: added a test case for the new WString type
	  and WString <-> UString conversion functions.

2007-01-01  Bob Mauchin  <zebob.m gmail.com>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: fix two minor string
	problems.  Fixes #389175

2007-01-01  Bob Mauchin  <zebob.m gmail.com>

	* src/persp/dbgperspective/nmv-call-stack.cc: Minor rewording of
	'copy call stack' description.  Fixes #389177

2006-12-31  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/dbgengine/nmv-gdb-engine.cc: add functionality for listing source
	files that make up the current executable and optimize some things to use
	the c_str() buffer instead of using UString directly to reduce the utf8
	processing costs
	* src/dbgengine/nmv-i-debugger.h: Add list_files() and
	  file_listed_signal() interfaces to the IDebugger interface.
	* src/persp/dbgperspective/Makefile.am: add new files for file list widget
	* src/persp/dbgperspective/menus/Makefile.am: add new file list menu source
	* src/persp/dbgperspective/menus/filelistpopup.xml:
	add right-click context menu for the file list widget
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	Set up a source file list
	in the status notebook for now.  Eventually we should make this into a
	dialog window or something different, but for now get something usable.
	* src/persp/dbgperspective/nmv-file-list.[cc,h]: define a new file list
	widget that can be used in the status notebook of the debugger perspective

Sat, 30 Dec 2006 19:38:36 +0100 Dodji Seketeli

	* src/common/nmv-log-stream.cc,h: performance hack.
	  don't use UString as a map key when it's
	  not really necessary. The domains map was the
	  offender spotted by sysprof.

2006-12-30  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/glade/findtextdialog.glade: A few HIG-related
	improvements to the new find dialog (spacing, etc), and added some keyboard
	mnemonics to the options in the dialog.

Sat, 30 Dec 2006 00:30:02 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-find-text-dialog.cc: by default
	  when the user enters a search string and type "Enter" a search is
	  triggered. Not need to go click on the "Find" button.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  DBGPerspective::find_in_current_file(): support for "match-case",
	  "search-backward" and "wrap-around". Support of "match-entire-word"
	  is still not implemented.
	* src/persp/dbgperspective/nmv-source-editor.cc,h: add facility
	  to support the "wrap-around".
	* src/persp/dbgperspective/glade/findtextdialog.glade: give
	  proper names to widgets so that they can be queried.
	  This entry makes the "Find" useable. Only the "match-entire-word"
	  feature is not implemented.

Fri, 29 Dec 2006 19:04:55 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dialog.cc,h: don't prevent from
	  instanciating in the heap. Added Dialog::hide().
	* src/persp/dbgperspective/nmv-find-text-dialog.cc,h: new find dialog.
	  Everything is not wired yet. It has only the basics, which is search a
	  string downwards, with no case match. I am commited it
	  for now and I expect to work on it quickly to wire everything.
	* src/persp/dbgperspective/glade/findtextdialog.glade: the UI of the find
	  dialog.
	* src/persp/dbgperspective/nmv-run-program-dialog.cc,h: don't include
	  gtkmm stuff in the header file.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: added a "Find" menu
	  item in the edit menu + the contextual menu. Added a
	  quick DBGPerspective::fin_in_current_file() for now.
	* src/persp/dbgperspective/menus/menus.xml: added the
	  "Find" menu item to the edit menu
	* src/persp/dbgperspective/nmv-source-editor.cc,h: added the bulk of the
	  search functionnality in here, using the new gtksourceview::SourceIter
	  binding.
	* configure.ac: force the use of the new svn head version of
	  gtksourceviewmm, namely version 0.3.0. This is needed so that we can use
	  the new gtksourceview::SourceIter for doing search.

2006-12-28  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* po/POTFILES.in: added glade file for locating files without
	full pathnames from gdb
	* src/workbench/nmv-workbench.cc: added translation credits to the About
	dialog

Sat, 23 Dec 2006 10:37:18 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  DBGPerspective::open_file(): proper utf8 conversion for filepaths.
	  This entry is the result of changeset #332 merged from branch 0.2.

Sun, 17 Dec 2006 19:29:49 +0100 Dodji Seketeli

	* coding-style.txt: fixed a typo here.
	* src/dbgengine/nmv-gdb-engine.cc: don't requite attributes
	  "file" and "line" to be present in breakpoints wire description.
	  They can be omitted by gdb when debugging a target that hasn't been
	  compiled with -g. More work is necessary to support those targets
	  though.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  Add a DBGPerspective::clear_status_notebook() function.
	  Use it to clear the status notebook when nemiver detaches from
	  a target and when the target exits.
	* src/persp/dbgperspective/nmv-breakpoints-view.h,cc: added
	  BreakpointsView::clear() function.

Sun, 17 Dec 2006 17:23:24 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h:  renamed
	  IDebugger::attach_to_program() into IDebugger::attach_to_target().
	  Added IDebugger::detach_from_target(),
	  and IDebugger::detached_from_target_signal ().
	  When the debugger detaches from the target,
	  the IDebugger::debugger_state_changed_signal() is emitted and the
	  the debugger state is set to IDebugger::NOT_STARTED.
	  This entry fixes enh #384847.

Sat, 16 Dec 2006 20:17:00 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc, nmv-i-debugger.h: added the
	  IDebugger::get_state() function.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  Added the DBGPerspective::close_all_files() function.
	  With that weapon, close files already opened when:
	   => a session is going to be executed, with a target different from
	      the previous target we debugged.
	   => a target (different from the previous one) is going to be debugged
	  renamed DBGPerspection::saved_sessions() into
	  DBGPerspective::choose_a_saved_session(). Added a bunch of logs.
	  Did a bit of cleanup.
	  This entry fixes #381703.

Sat, 16 Dec 2006 16:21:02 +0100 Dodji Seketeli

	* configure.ac: bump version number to differentiate the trunk branch
	  from the 0.2 branch

Sat, 16 Dec 2006 01:42:03 +0100 Dodji Seketeli

	==
	 merged revision #318 from branch
	 http://svn.gna.org/svn/nemiver/tags/nemiver-0.2.0.
	 This pulls bugfix #386473 in.
	==

Sat, 16 Dec 2006 13:26:08 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: emit set the debugger state to
	  IDebugger::READY when a breakpoint gets deleted. This
	  fixes #386473.

Sat, 16 Dec 2006 11:57:13 +0100 Dodji Seketeli

	* TODO: updated this, adding links to bugzilla when enhancement
	  requests have been filled. Maybe we should be filling an enh to
	  bugzilla for each TODO item now.

Sat, 16 Dec 2006 13:23:54 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-variables-utils.cc: 
	  break_qname_into_name_elements(): make sure to parse arithmetic
	  expressions as variable names, so that I can type 3+4 in the
	  variable inspector and have the debugger show me the result ;-).
	* src/persp/dbgperspective/nmv-source-editor.cc: mark strings
	  translatable here.
	* src/persp/dbgperspective/nmv-call-stack.cc: mark some string
	  translatable here as well
	* po/fr.po:  updated french translation.

Sat, 16 Dec 2006 00:48:25 +0100 Dodji Seketeli

	* src/uicommon/nmv-spinner.h,cc: moved nmv-throbber.h,cc to
	  nmv-spinner.h,cc. It's basically a wrapper of EphySpinner.
	* src/uicommon/nmv-spinner-tool-item.cc: make
	  nemiver::SpinnerToolItem, wrap
	  EphySpinnerToolItem. It's does not extend nemiver::Spinner. It's a
	  tool item that can be put in the toolbar.
	  Now, our spinner model is cleaner, at least from a naming perspective.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: use
	  nemiver::SpinnerToolItem instead of nemiver::EphyThrobber.

Sat, 16 Dec 2006 00:03:25 +0100 Dodji Seketeli

	* src/persp/dbgperspective/: moved nmv-ui-utils.cc nmv-throbber.cc,
	 nmv-throbber.h, ephy-spinner.c, ephy-spinner.h,
	 ephy-spinner-tool-item.c, ephy-spinner-tool-item.h,
	 nmv-ephy-throbber.h, nmv-ephy-throbber.cc, nmv-popup-tip.cc,
	 nmv-popup-tip.h, nmv-terminal.cc, nmv-terminal.h
	 to src/uicommon. Sharing is good.

2006-12-14  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* glade/workbench.glade:
	* src/persp/dbgperspective/glade/loadcoredialog.glade:
	* src/persp/dbgperspective/glade/proclistdialog.glade:
	* src/persp/dbgperspective/glade/runprogramdialog.glade:
	* src/persp/dbgperspective/glade/varinspectordialog.glade:
	* src/persp/dbgperspective/nmv-call-stack.cc:
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	* src/persp/dbgperspective/nmv-var-inspector.cc: A whole bunch of little HIG
	fixes related to capitalization.

Thu, 14 Dec 2006 07:55:07 +0100 Dodji Seketeli

	============== 0.2.0 release ===========

Wed, 13 Dec 2006 22:31:20 +0100 Dodji Seketeli

	* ChangeLog, configure.ac, NEWS: some few updates to prepare 0.2.0

Wed, 13 Dec 2006 08:37:50 +0100 Dodji Seketeli

	* glade/workbench.glade: don't show the the border of the toolbar
	  notebook container. This should fix #385195.

Wed, 13 Dec 2006 08:24:30 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  DBGPerspective::append_source_editor(): more work on the damned
	  close button size. Man, so much try/error cycles. Now it seems
	  to have a decent size. This should close #385186.


Tue, 12 Dec 2006 21:31:56 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: set a minimum size
	to the status notebook widget.
	* src/persp/dbgperspective/schemas/Makefile.am: I have seen that
	gconfd-2 --shutdown was not really reliable on my system. When
	launched from the makefile, sometimes it just doesn't restart gconf.
	In any case, what I wanted was not really to restart it, but just make
	it reload its data. So, I switched back to sending it the HUP signal -
	to make it reload its configuration _without_ restarting it -,
	but I test the presence of a gconf process before sending the HUP signal.
	* src/persp/dbgperspective/schemas/nemiver-dbgperspective.schemas: add
	a new pair of keys to host the minimum size of the notebook widget.
	* src/persp/dbgperspective/glade/bodycontainer.glade: don't allow the
	status notebook to shrink beyond its minimum size.
	This entry fixes #384474.

Mon, 11 Dec 2006 23:47:02 +0100 Dodji Seketeli

	* NEWS: updated this

Mon, 11 Dec 2006 23:42:18 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	 DBGPerspective::append_source_editor(): don't request size for the
	 close button in tab. This should fix #384456.

Mon, 11 Dec 2006 11:59:41 +0100 Dodji Seketeli

	* src/workbench/nmv-workbench.cc: added more logging and some try/catch
	  blocks to signal handlers.

Mon, 11 Dec 2006 11:33:26 +0100 Dodji Seketeli

	* NEWS: updated this

Mon, 11 Dec 2006 10:25:16 +0100 Dodji Seketeli

	* po/fr.po: updated French translation.

2006-12-10  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/workbench/nmv-workbench.cc: EUREKA!  I figured out why I was never
	seeing the 'quit' command queued to gdb.  It's because the shutting down
	signal was never being emitted when I shut down nemiver.  This is because I
	was using the window-manager's close button instead of the 'Quit' menu item.
	To fix this, I now connect to the root window's delete-event and call the
	on_quit_menu_item_action() so both of these methods result in the same
	shutdown procedure.  This means that the queueing of the quit command (look
	down 2 changes) might have actually been fine, but it just simply wasn't
	being done at all before (depending on which method you used to shut down
	the application).

2006-12-10  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-call-stack.cc:
	* src/persp/dbgperspective/nmv-call-stack.h: refactor the CallStack widget
	in the same way as the BreakpointsView widget was refactored (see bug
	#381702 for brief explanation).
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: move context menu, etc.
	to the Callstack widget

Sun, 10 Dec 2006 22:46:37 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: GDB::exit_engine(): don't queue the
	  "quit" command, send it to gdb directly, otherwise nemiver may quit
	  before gdb. This is a second attempt at fixing #384057.

Sun, 10 Dec 2006 21:17:12 +0100 Dodji Seketeli

	* src/workbench/nmv-workbench.cc: edited Ruben's patch to save
	  geometry only at shutdown time. Added more logging. Also, set
	  window size request to a minumum size,
	  otherwise, setting window size (through Gtk::Window::resize())
	  sets the window minimum to the newly set size <grin/>.
	* src/persp/dbgperspective/nmv-throbber.cc,h: make
	  throbber::get_widget() return a Gtk::ToolItem so that we can embedd
	  it toolbar our toolbar. I'll  maybe need to refactor this later so
	  that we have a ThrobberToolItem and a classical Throbber.
	* src/persp/dbgperspective/nmv-ephy-throbber.h,cc: ditto. The new
	  tooltip based EphyThrobber widget is based on
	  ephy-spinner-tool-item.cc,h, freshly copied from epiphany cvs.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: pack the ephy
	  throbber into the toolbar instead of in the container
	  box.

2006-12-05  Ruben Vermeersch  <ruben@savanne.be>

	* configure.ac: Add the new src/workbench/schemas/Makefile.
	* src/workbench/Makefile.am: Add the schemas subdir and gconf code.
	* src/workbench/nmv-workbench.cc: Implement saving of the window position
	and size, restore it when starting nemiver again. This makes nemiver
	"spatial".
	* src/workbench/schemas/Makefile.am: New file, installs the gconf schemas.
	* src/workbench/schemas/nemiver-workbench.schemas: Gconf schemas for the
	window position/size saving.

2006-12-10  Jean-François Rameau  <jf.rameau@gmail.com>

	* src/persp/dbgperspective/nmv-terminal.cc: set a default font for the
	terminal widget to fix a bug with vte 0.14 (fixes bug #384172)

Sun, 10 Dec 2006 18:38:26 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-preferences-dialog.cc:
	  Don't create a new instance of the configuration manager.
	  Rather get one from the workbench. This closes #384406 .

Sun, 10 Dec 2006 18:02:11 +0100 Dodji Seketeli

	* src/common/nmv-plugin.h: make
	  Plugin::EntryPoint::build_absolute_resource_path() public.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: refactor the
	  breakpoint view management so that most of the stuff that belong
	  into BreakpointsView goes in there. Connect to
	  BreakpointsView::go_to_breakpoint_signal() and
	  BreakpointsView::delete_breakpoint_signal() to handle these two
	  event.
	* src/persp/dbgperspective/nmv-breakpoints-view.cc,h: 
	  Make this handle contextual menu stuff. Emit signals
	  BreakpointsView::got_to_breakpoint_signal() and
	  BreakpointView::delete_breakpoint_signal() upon user action.
	  This entry is a patch from Jonathon Jongsma to fix bug #381702.

2006-12-10  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-source-editor.cc: add an border (shadow) to
	the source editor ScrolledWindow.  Should fix #384407

Sun, 10 Dec 2006 16:26:44 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h: added
	  IDebugger::exit_engine(), renamed IDebugger::stop() into
	  IDebugger::stop_target().
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  DBGPerspective::on_shutdown_signal(): use IDebugger::exit_engine()
	  upon nemiver shutdown. This should fix #384057.
	  DBGPerspective::stop() Also, use IDebugger::stop_target()
	  instead of IDebugger::stop().

Sun, 10 Dec 2006 13:45:51 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: add a GDBEngine::get_state()
	  method.
	  OnErrorHandler::do_handle(): emit change the debugger state to
	  IDebugger::READY when an error occurs and when the debugger is _not_
	  in the IDebugger::PROGRAM_EXITED stated.

Sat, 09 Dec 2006 20:24:17 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: 
	  OutOfBandRecord::stop_reason_to_string(): fix some typos.
	  GDBEngine::Priv::on_state_changed_signal(): store the debugger
	  state.
	  OnStoppedHandler::do_handle(): emit the
	  IDebugger::state_changed_signal() before
	  IDebugger::state_program_finished_signal(). Maybe we should just
	  ditch IDebugger:state_program_finished_signal() in the future. I'd
	  like to get the behaviour right, first.
	  OnVariableTypeHandler::do_handle(): emit
	  IDebugger::state_changed_signal() to notify the IDebugger::READY
	  state when the debugger returns a variable type.
	* src/dbgengine/nmv-i-debugger.h: added IDebugger::state_to_string()
	  to allow client code to log debugger state as a string.
	* src/persp/dbgperspective/nmv-local-vars-inspector.cc: 
	  LocalVarsInspector::Priv::on_stopped_signal(): stop working when
	  target exits.
	* src/persp/dbgperspective/nmv-call-stack.h,cc: 
	  Add a CallStack::clear() method to reinit the widget.
	* src/persp/dbgperspective/nmv-thread-list.cc,h: added a
	  ThreadList::clear() method to reinit the widget.
	  Add some logging.
	  ThreadList::Priv::on_debugger_stopped_signal(): stop working when
	  the target exits.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: add the "restart"
	  action in its own action group so that its sensitivity can be
	  controlled apart. When the target exits, make the debugger actions
	  not sensitive. Only the "restart" stays sensitive.
	  Also, clear call , thread list and local variables widget upon
	  program exit.
	  This entry tries to fix #381694.

Sat, 09 Dec 2006 14:53:20 +0100 Dodji Seketeli

	* src/dbgengine/nmv-i-debugger.h:in IDebugger::Variable::to_string(): 
	  Make sure no new line gets added at the end of variables.
	  Cleanup the implementation compound variables serialization.
	* src/persp/dbgperspective/nmv-popup-tip.cc: a bit of a cleanup here
	  again. This entry should fix #381402.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: add more logging.
	* autogen.sh: require intltool 0.33 to stay in sync with configure.ac

Sat, 09 Dec 2006 10:17:22 +0100 Dodji Seketeli

	* src/persp/dbgperspective/glade/preferencesdialog.glade:
	  applied patch attached to #383886, from Guillaume Desmottes.
	  This should close that bug.

Sat, 09 Dec 2006 00:32:57 +0100 Dodji Seketeli

	* configure.ac: do a little hack to detect when library related
	  stuff have to be installed in $prefix/lib64 instead of $prefix/lib.
	  I do that because I would have loved to see $libdir expand in
	  an absolute path. It expands in ${exec_prefix}/lib or
	  ${exec_prefix}/lib64. So I build an absolute path myself, to be used
	  in *.conf files, so I need to detect if the lib dir name is 'lib' or
	  'lib64'. 
	* src/*/*.conf.in: use @prefix@/@NEMIVER_LIB_DIR_NAME@ instead of
	  @prefix@/lib. NEMIVER_LIB_DIR_NAME expands either in 'lib' or 'lib64'
	  This should help fix #383170.

Fri, 08 Dec 2006 17:26:34 +0100 Dodji Seketeli

	* src/common/nmv-dynamic-module.cc: add more logging in the
	"module-loading-domain".

Thu, 07 Dec 2006 23:50:52 +0100 Dodji Seketeli

	* configure.ac: fix a typo that broke NEMIVERWORKBENCH_LIBS being
	* src/workbench/Makefile.am: make libworkbenchmod link with the
	  --as-needed option of GNU ld. This entry is a patch from
	  Rémi Cardonna <remi2402@free.fr>.

Thu, 07 Dec 2006 23:38:12 +0100 Dodji Seketeli

	* src/workbench/nmv-workbench.cc: dynamic cast Workbench into
	  IWorkbench. Maybe this can fix #383170 that is showing up on
	  an EM64T architecture only.

	* src/common/nmv-plugin.cc,nmv-dynamic-module.cc,
	  src/common/nmv-sequence.cc, src/common/nmv-log-stream.cc,
	  src/common/nmv-scope-logger.cc,
	  src/persp/dbgperspective/nmv-dbg-perspective.cc: did some style
	  cleanup.

Thu, 07 Dec 2006 20:49:54 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: fixed some typos.
	* TODO: updated this.

Thu, 07 Dec 2006 17:20:53 +0100 Dodji Seketeli

	* src/common/nmv-dynamic-module.cc: added some logs in the
	 "module-loading-domain" domain to know what modules are being loaded.

Thu, 07 Dec 2006 13:58:13 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
		DBGPerspective::init_actions():  put the RunMenuItemAction in
		s_debugger_ready_action_entries (remove it from
		s_target_connected_action_entries) so that we can restart the target
		only when the debugger is in the ready state. Otherwise, some users
		are tempted to restart the target while it is running (without
		stopping it first), and that is impossible.

Wed, 06 Dec 2006 11:32:20 +0100 Dodji Seketeli

	* NEWS: updated this

Wed, 06 Dec 2006 07:53:06 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-popup-tip.h,cc:
	  PopupTip::Priv::paint_window(): don't move window after painting it.
	  It makes weird flashes on some parts of the root window, otherwise.
	  Overload PopupTip::show() and PopupTip::show_all() (initially
	  defined in the parent Gtk::Widget class) to make the popuptip move
	  _before_ showing. Added PopupTip::show_at_position() so that we can
	  set the position at which the tip must be shown at before moving it
	  and showing it.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  DBGPerspective::show_underline_tip_at_position(): use
	  the new PopupTip::show_at_position() to make the popuptip appear
	  where we want. This should fix the issue raised in comment #6 of bug
	  #381402. This bug is maybe going to be killed eventually. Let's keep
	  hope.

2006-12-05  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* NEWS: fixed a typo
	* src/persp/dbgperspective/nmv-locate-file-dialog.cc,
	  src/persp/dbgperspective/glade/locatefiledialog.glade: Changed title of
	  the filechooserbutton so that when it pops up the window title doesn't say
	  "select a core file" or something similar.  Now it prompts you to select
	  the source file that we're looking for.

Tue, 05 Dec 2006 22:00:30 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-popup-tip.cc:
	  PopupTip::Priv::paint_window(): okay now we have the outline on the
	  borders of the popuptip just like for normal tooltips. I was making
	  the stupid error of not setting the origin of the box to paint to [0,0].
	  Hooray ! #381402 fixing is a bit closer.

Tue, 05 Dec 2006 00:55:02 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-popup-tip.cc: cleanup up PopupTip a
	  bit. Make it use Gtk::Label again (instead of Gtk::TextView). This
	  makes it look more like a normal tooltip. This is a first attempt
	  at fixing #381402 .

Sun, 03 Dec 2006 21:35:30 +0100 Dodji Seketeli

	* coding-style.txt: updated this. Added variable initialization rules.

Sun, 03 Dec 2006 20:43:45 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: 
	GDBEngine::stop(): do not test the presence of target_pid anymore.
	we send the SIGINT signal to gdb directly.
	* NEWS: updated this.

Sun, 03 Dec 2006 18:33:40 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: GDBEngine::stop(): send
	  Send the SIGINT signal to gdb itself and have it stop the
	  the target as a result. This should fix #381912.

2006-12-03  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: call IDebugger::stop()
	instead of DBGPerspective::stop() in the shutdown signal so that when the
	debugger is not running (e.g. before starting debugging or after the target
	finishes running) it doesn't display an error message.

Sun, 03 Dec 2006 13:35:20 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-variables-utils.cc:
	  break_qname_into_name_elements(): Variable names can actually
	  be template types. In that case, make sure we can parse them.
	  This should fix #377623.
	* src/common/nmv-ustring.cc: do a smallish cleanup in
	  bool UString::operator()! .

Sun, 03 Dec 2006 12:16:10 +0100 Dodji Seketeli

	* coding-style.txt: added an initial coding style reference.

2006-12-02  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: When gdb doesn't give us
	the full path to a filename, start looking in the working directory first.
	If the user is debugging with the working directory where their source files
	are located, then they might never have to manually choose the location of
	the source file.  Also when the user has to manually choose the location of
	the source file, start looking in the working directory.

2006-12-02  Ruben Vermeersch  <ruben@savanne.be>

	* src/dbgengine/nmv-i-debugger.h: Added a working_dir parameter to
	load_program.
	* src/dbgengine/nmv-gdb-engine.cc: Implemented the new working_dir
	parameter from load_program. It is passed to gdb using the --cd parameter.
	This fixes the "select working dir" folder chooser, it now actually
	selects the working dir.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Pass the working dir to
	the debugger.
	* tests/test-breakpoint.cc: Fix the test to work with the new debugger
	interface.

2006-12-02  Ruben Vermeersch  <ruben@savanne.be>

	* src/persp/dbgperspective/glade/runprogramdialog.glade: Changed the title
	of the working dir folder chooser from "Choose an executable" to the more
	appropriate "Choose a working directory".

2006-12-02  Ruben Vermeersch  <ruben@savanne.be>

	* README: Bugs are now in bugzilla

Fri, 01 Dec 2006 23:52:51 +0100 Dodji Seketeli

	* src/common/nmv-tools.cc,h: be capable to ignore errors happening
	  during sql scripts execution.
	* src/common/nmv-exception.h: don't use LOG_EXCEPTION to log errors
	  in the RETURN_*_IF_FAIL macros.
	* src/common/nmv-transaction.h: be capable to bypass transactions.
	* src/persp/dbgperspective/nmv-sess-mgr.cc: now when there is a
	  mismatch between REQUIRED_DB_SCHEMA_VERSION  and the version number
	  stored in the schemainfo.version column of the database, drop all
	  tables and recreate them. Okay, in the future we will have to be
	  less brutal, but that works with a minimum of effort for now.
	  Bumped REQUIRED_DB_SCHEMA_VERSION from "1.0" to "1.1".
	* src/persp/dbgperspective/sqlscripts/sqlite/create-tables.sql:
	  bumped the database version number from "1.0" to "1.1".
	* src/persp/dbgperspective/sqlscripts/sqlite/drop-tables.sql:  added
	  a drop table script that drops all tables that are created by
	  the "create-tables.sql" script. This script must be maintained so
	  that it stays in sync with the "create-tables.sql" one.

2006-12-01  Ruben Vermeersch  <ruben@savanne.be>

	* src/persp/dbgperspective/glade/runprogramdialog.glade: Changed
	"Sélectionner un fichier" to "Choose an executable".

Fri, 01 Dec 2006 21:40:36 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-locate-file-dialog.cc: fixed
	compilation warnings/error triggered by the NEMIVER_DEVEL=on env
	variable. This variable if turned on at configure time triggers some
	rather aggressive gcc flags that nicely catch lots of potential
	warnings/errors.

2006-11-29  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: fix the search path stuff
	so that if you select the location of a file manually, it gets added to a
	session-specific search path list.  This reduces the possibility of adding
	paths for two different projects to a global search list and then having the
	wrong main.cc accidentally be opened by nemiver because it was first in the
	search path list.
	Also fixed an error with some versions of gdb where attempting to
	toggle a breakpoint would actually add duplicate breakpoints because it
	would check to see if a breakpoint already existed and it would be comparing
	a full pathname against a basename and thinking there was no breakpoint set
	yet so it would set another.  Hopefully none of these changes cause
	regressions for those that have a well-behaved version of gdb.
	Also open all of the 'opened files' in the session when executing a saved
	session.
	* src/persp/dbgperspective/nmv-sess-mgr.cc,
	src/persp/dbgperspective/nmv-sess-mgr.h: add functionality to store and load
	search paths in the session database
	* src/persp/dbgperspective/sqlscripts/sqlite/create-tables.sql: add a new
	table to the database: searchpaths.  This stores a list of searchpaths
	related to particular sessions.
	*** WARNING: this modifies the database, so you'll need to either remove
	your old session database or create the new table manually for nemiver to
	work correctly ***

2006-11-29  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Fix for poorly-behaved
	versions of gdb such as the one that ships with ubuntu dapper.  These
	versions of gdb don't return the full file path when they return information
	about a set breakpoint, so it's not easy to konw where to apply the
	breakpoint marker.  What this patch does is first looks for a file of the
	given name in the search path directories and if that fails, pops up a
	dialog asking the user to locate the file on disk.  It also automatically
	adds the parent directory to the list of search files, though this will be
	changed to only add it to a list of session-specific search paths when
	session-specific search paths are added. This is a partial fix for bug
	#378294
	* src/persp/dbgperspective/nmv-locate-file-dialog.cc,
	src/persp/dbgperspective/nmv-locate-file-dialog.h,
	src/persp/dbgperspective/Makefile.am: add new 'locate file' dialog source
	files
	* src/persp/dbgperspective/glade/locatefiledialog.glade,
	src/persp/dbgperspective/glade/Makefile.am: add glade file for new dialog

Wed, 29 Nov 2006 23:58:25 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-run-program-dialog.cc:
	  properly convert the current working dir name to utf8.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: use
	  Glib::filename_to_utf8() to convert filenames to utf8.

2006-11-28  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-saved-sessions-dialog.cc:
	  add an ID column to the list of saved sessions so that
	  you can easily correlate the list in this
	  dialog to the list from `nemiver --listsessions`

Tue, 28 Nov 2006 23:52:58 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-var-inspector.cc: 
	  make VarInspector::Priv inherit from sigc::trackable so that
	  it gets disconnected from the treeview if it gets destroyed first.
	  It seems that happens has someone reported a crash that makes me
	  think about it.
	  VarInspector::Priv::build_widget(): Share the ownership of the
	  treeview with the container widget it is packed it.
	  VarInspector::Priv::set_variale_type(): add an assert here.
	  VarInspector::Priv::on_pointed_variable_value_signal(): solve an
	  assert that was getting hit too much.

Tue, 28 Nov 2006 08:04:17 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-load-core-dialog.cc:
	  LoadCoreDialog::program_name(): put the return statement outside the
	  try/catch block to keep the compiler happy.
	  LoadCoreDialog::core_file(): ditto

Mon, 27 Nov 2006 23:31:27 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: added the "F12"
	  shortcut to display the variable inspector.
	* src/persp/dbgperspective/nmv-var-inspector.cc: add support for
	  variable dereferencing (for variables that are of pointer type)
	  in the variable inspector.

2006-11-27  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-load-core-dialog.cc: use the Priv data member
	widgets instead of getting the widget from glade every time in the getters
	and setters for program_name and core_file.

2006-11-27  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* tests/test-templated-var.cc: add a more complex variable to the test to
	trigger the behavior described in comment #7 of bug #377623

2006-11-26  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: quick fix for a segfault
	when gdb doesn't return full path information.  Also slightly re-worded the
	popup dialog suggesting to add the file path to the preferences

Sun, 26 Nov 2006 19:42:01 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: GDBEngine::load_program():
	  set the command name as "load-program". Once we attached to the
	  program, get the target info, so that we can later stop it.
	  Among the target info is the target pid. We need that so that we
	  we can later send the STOP signal to the target to stop it.

Sun, 26 Nov 2006 19:13:43 +0100 Dodji Seketeli

	* TODO, NEWS: updated both. Put the "search facility" item on top
	  of the TODO.

Sun, 26 Nov 2006 18:13:14 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h: 
	  Remove the IDebugger::Command class from the public api. Make it
	  hidden.
	  Remove the "run_loop" argument from the IDebugger entry points.
	  Add support for cookies here. A cookie is a string of text
	  that can be "attached" to the command send to the underlying
	  debugger engine. That cookie is latter sent back to the caller
	  in the IDebugger::command_done_signal() so that she knows
	  the command that got done was the one she previously
	  attached the cookie to.
	  Also, each command now gets a "name" that is different from
	  the "gdb" command name. That way, clients can make tests against
	  these command names in a portable (w.r.t underlying debugger
	  engines) way.
	* src/common/nmv-proc-mgr.h,cc: added
	  Process::get_process_from_pid(),
	  Process::get_process_from_name(). refactored
	  ProcMgr::get_all_process_list to make it use
	  Process::get_process_from_pid().
	  Also, moved src/persp/dbgperspective/nmv-proc-mgr.cc,h into
	  src/common
	* src/main.cc: added the "nemiver --attach <foo>" option.
	  foo can be either a pid, or a process name.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: after we attached
	  to the target, do a little IDebugger::step_over() to make the
	  perspective update the callstack, local variables etc.
	  Display a user message to tell the user to try to update the
	  source file search directories option when nemiver doesn't find
	  a source file.
	* src/persp/dbgperspective/menus/menus.xml: don't display the
	  "ShowCommandMenu" anymore, because the IDebugger::execute_command()
	  got removed from the public API. It was making the public api
	  specific to gdb. I really need to code a symbolic interpreter on top
	  of the IDebugger public api.
	* src/persp/dbgperspective/nmv-proc-list-dialog.cc: double clicking
	  on a row makes nemiver attach to the process.
	* src/persp/dbgperspective/nmv-call-stack.cc: update this to comply
	  with the IDebugger api changes.
	* src/persp/dbgperspective/glade/bodycontainer.glade: give more space
	  to the status notebook.
	* tests/test-breakpoint.cc: update to comply with IDebugger api
	  changes.
	* configure.ac: bump version number to 0.2.0


Fri, 24 Nov 2006 23:02:28 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc:
	  GDBEngine::Priv::parse_member_variable(): during the parsing
	  of a value inside a member variable, do not assume the end
	  the end of the value is the "," string, but rather ", ".
	  Because some values can be Foo<int,char> (notice the comma).
	  This entry is the first attempt at fixing #377623 .
	* tests/test-templated-var.cc: wrote this smallish test code
	  to reproduce #377623 and serve a regression test it.

Fri, 24 Nov 2006 14:28:48 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  DBGPerspective::get_source_editor_from_path(): add some logging in the
	  default domain.
	  DBGPerspective::set_where(): when the file is not found in the opened
	  files (based on it fullname), look it up in the opened files based on it
	  base name only.
	  DBGPerspective::append_visual_breakpoint(): ditto
	  DBGPerspective::delete_visual_breakpoint(): ditto

Thu, 23 Nov 2006 16:01:30 +0100 Dodji Seketeli

	* COPYING: updated the FSF address
	* NEWS: updated.


Wed, 22 Nov 2006 23:29:49 +0100 Dodji Seketeli

	* src/common/nmv-plugin.cc:
	  PluginManager::load_plugin_from_path(): lookup plugins in
	  in the in-memory plugin map before instanciating a new plugin
	  object. That ensures that we don't have two (different)
	  physical object representing the same logical plugin. 
	  Also, put all instanciated plugins the in memory plugin map, even the
	  dependencies.
	* src/workbench/nmv-workbench.cc: remove perspective bodies from
	  their container at destructions time.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  DBGPerspective::init_body (): mak m_priv->body_main_paned be
	  destroyed by DBGPerspective because we unparent
	  it from the bodycontainer.glade, and it will be later packed
	  to widgets coming from workbench.glade.
	  It seems like unparenting makes "us" (DBGPerspective) responsible
	  of managing the destruction of that widget. That's why the
	  the sourceviews notebook (child of m_priv->body_main_paned) was not
	  getting destroyed as a result of the destruction of
	  workbench.glade widgets. This entry is a second at fixing #377872.
	  I hope this fixes the root cause.
	* src/persp/dbgperspective/nmv-dbg-perspective.h: don't make this
	  inherit sigc::trackable. I made that to try fix #377872, but
	  I hope changes made in this entry will better fix that bug.

2006-11-22  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* update svn:ignore properties

Tue, 21 Nov 2006 22:46:29 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.h: make DBGPerspective
	  extend sigc::trackable so that it gets automagically disconnected at
	  destruction time. This should fix #377872.
	* NEWS: update this.

2006-11-21  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Fix a bug where the
	target executable keeps running after quitting nemiver.  To reproduce the
	problem, start nemiver, select File > Resume Saved Session... > [pick a
	session to resume].  After the session has been loaded, immediately press
	Ctrl-Q to quit nemiver.  The nemiver window will disappear, but the target
	executable window will pop up and you have to manually close it.  This
	change explicitly calls stop() on the debugger when it gets the shutdown
	signal so that the target won't continue running.

2006-11-21  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: When opening a source
	file (e.g. file > open) start the filechooser in the working directory
	specified in the session settings.
	* src/persp/dbgperspective/schemas/Makefile.am: restart gconfd via
	'gconftool-2 --shutdown' instead of 'killall' as recommended on the gconf
	website
	* src/persp/dbgperspective/sqlscripts/sqlite/Makefile.am:  remove
	unnecessary trailing slash on sqlscripts directory

Tue, 21 Nov 2006 08:01:40 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  don't forget to set the where marker in
	  DBGPerspective::on_frame_selected_signal() .

Tue, 21 Nov 2006 00:41:27 +0100 Dodji Seketeli

	* nmv-gdb-engine.cc: GDBEngine::Priv::parse_frame(): forgot to parse
	  file_name, file_full_name and line information of frame.
	  This was leading to subtle bugs in the IDebugger::stopped_signal()
	  frame parameter not carrying filename and line information.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  DBGPerspective::on_debugger_stopped_signal(): update the where
	  pointer in here.
	  DBGPerspective::on_frame_selected_signal(): don't update the where
	  pointer in here.
	  DBGPerspective::get_contextual_menu(): add an "inspect variable"
	  menu item to the contextual menu.
	  DBGPerspective::popup_source_view_contextual_menu(): make sure
	  poping the contextual menu up don't clear the text (variable name)
	  that may have been selected.
	  DBGPerspective::inspect_variable(): detect if a text was selected
	  when the variable inspecting request arises. If yes, consider it as
	  variable name, and try to inspect that variable.
	* src/persp/dbgperspective/nmv-var-inspector-dialog.cc,h:  rename
	  VarInspectorDialog::variable_name() into
	  VarInspectorDialog::inspect_variable(). It does what you think it
	  does.
	* src/persp/dbgperspective/nmv-call-stack.cc: 
	  Priv::on_frames_params_listed_signal(): don't emit a signal when
	  listing frames and selecting the frame 0.


Mon, 20 Nov 2006 20:30:30 +0100 Dodji Seketeli

	* TODO: updated

Mon, 20 Nov 2006 19:06:43 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h: added the
	  the IDebugger::select_frame() function.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  Now, the CallStack::frame_selected_signal() is emitted after the
	  CallStack calls IDebugger::select_frame(). That is triggered by the
	  user clicking on of the callstack rows. So in
	  DBGPerspective::on_frame_selected_signal(), make the local variables
	  inspector show the variables of the current function.
	* src/persp/dbgperspective/nmv-call-stack.cc: call
	  IDebugger::select_frame() when the user clicks to select a frame.
	  Detect the IDebugger::command_done_signal() that follows. Beware, lots
	  of commands generate a done signal, so we need to hook on the done
	  signal that got generated by our call to IDebugger::select_frame.
	  I have done this in a non portable way because I need to know some
	  specifics of gdb. I need to add a 'cookie' mechanism so that I can
	  know that a "command done signal" comes from a given command I sent.
	  Anyway, once the "command done signal" is detected, emit
	  CallStack::frame_selected_signal(), later on trapped by the perspective
	  etc ...

	  This entry adds the gdb "up" feature to nemiver. Now, when you select a
	  frame, you can see the variables of that frame.

Mon, 20 Nov 2006 09:50:09 +0100 Dodji Seketeli

	* po/fr.po: updated French translation.

Mon, 20 Nov 2006 07:09:10 +0100 Dodji Seketeli

	* src/common/nmv-safe-ptr.h: removed operaror=(const PointerType *) .
	"FooSafePtr s = new Foo" Is no more possible. You have to use the
	SafePtr::reset() function: "FooSafePtr s; s.reset (new Foor)"
	or "FooSafePtr s (new Foo)" ;
	* */*: prograted that safeptr change. Added logging to numerous
	     destructors in the "destructor-domain" log domain.
	* src/uicommon/nmv-ui-utils.h: added WigetRef/WidgetUnref functors
	to be used with SafePtr.
	* src/common/nmv-object.h,cc: added Object::enable_refcount() and
	Object::is_refcount_enable() so that refcount can be disabled for
	Objects supposed to be singleton.
	* src/persp/dbgperspective/nmv-variables-utils.cc,h: created this
	  to share graphical variables management functions among different
	  graphical variable management widgets.
	* src/persp/dbgperspective/nmv-local-vars-inspector.cc: renamed
	 VarsEditor into this. Refactored this to put some code in
	 nmv-variables-utils.h
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: add a
	  variable inspector dialog.
	  It not prefilled with the currently selected variable yet.
	  You have to type in the variable name for the moment.
	* src/persp/dbgperspective/nmv-var-inspector.h,cc: created a
	  VariableInspector widget.
	* src/persp/dbgperspective/nmv-var-inspector-dialog.cc,h: created
	  a new variable inspector dialog using the VariableInspector widget.
	* src/persp/dbgperspective/menus/menus.xml: added the
	"inspectVariableMenuItem".
	* src/dbdimpl/sqlite/nmv-sqlite-cnx-mgr-drv.cc: make the connection
	  manager be a singleton.
	* configure.ac: downgrade intltool requirement to 0.33 .



Sat, 18 Nov 2006 00:46:06 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: don't put
	  the terminal in a scrolledwindow. It doesn't handle vte scrolling
	  properly when the size of text thrown at it > scrollback buffer
	  size. Build a vbox + scrollbar ourselves instead. That works much
	  better.
	* src/persp/dbgperspective/nmv-terminal.cc: set the size of
	  scrollback size to 1000 lines and set the terminal emulation to
	  xterm by default.
	* tests/test-stdout.cc: added this test program that spits a lot of
	  lines to stdout to test the behaviour of nemiver's terminal widget.
	* tests/Makefile.am: compile the new test program.

Fri, 17 Nov 2006 21:58:13 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-local-vars-inspector.cc,h: renamed
	  src/persp/dbgperspective/nmv-vars-editor.cc,h into this file.
	* src/persp/dbgperspective/Makefile.am: reflect that modification in
	  here.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: progagate that
	  change here


Thu, 16 Nov 2006 09:03:07 +0100 Dodji Seketeli

	 * TODO, NEWS: the "files lookup during breakpoint workflow" item is done.

Wed, 15 Nov 2006 18:40:31 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  DBGPerspective::get_source_editor_from_path(): added a param to lookup
	  source editors based on file basemanes.
	  DBGPerspective::append_breakpoints(): when looking up files that don't
	  have full path information, lookup in opened files first.


Tue, 14 Nov 2006 13:41:10 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: forgot to catch some
	exceptions. Every signal handler must be try/catch protected.

Tue, 14 Nov 2006 12:10:20 +0100 Dodji Seketeli

	* src/common/nmv-log-stream-utils.h: sync each logged line to disk.
	* TODO,NEWS: update these.

Tue, 14 Nov 2006 11:02:08 +0100 Dodji Seketeli

	* TODO: added a new item in here, removed the varseditor modification
	        items.

Sun, 12 Nov 2006 23:57:13 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-vars-editor.cc:
	 in VarsEditor::Priv::is_type_a_pointer(): detect when a type is a
	 Foo * const. (not only Foo*). GDB reports const pointers like that.
	 in VarsEditor::Priv::on_pointed_variable_value_signal(): lookup
	 dereferenced variables in locals _and_ in function arguments.
	 This entry now lets you dereference the 'this' pointer, when he shows
	 up among function arguments.

Sun, 12 Nov 2006 17:25:25 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h: renamed
	  IDebugger::Frame::function() in IDebugger::Frame::function_name().
	* src/uicommon/nmv-ui-utils.h,src/common/nmv-exception.h: log an error
	  when an exception is caught.
	* src/common/nmv-ustring.cc: in UString::chomp() : fix this for the
	  cases when the string has zero size.
	* src/persp/dbgperspective/schemas/Makefile.am: fix a typo here.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: add a
	  DBGPerspective::going_to_run_target_signal(). In the default
	  callback initialize the local variables editor because now that
	  editor is not necessarily initialized at each stop.
	  In DBGPerspective::try_to_request_show_variable_value_at_position():
	  when the mouse is not on a 'word', don't generate an exception.
	  Return quietly.
	* src/persp/dbgperspective/nmv-source-editor.cc,h:
	  SourceEditor::get_word_at_position(): make this return a boolean to
	  notify whether if the word has been found or not.
	* src/persp/dbgperspective/nmv-vars-editor.cc: big changes in here.
	  Basically, don't clear and redraw the widget at each target stop.
	  Variables are updated in an incremental way now.
	  Also, variables that have changed between two stop are now
	  highlighted in red. woot. This is a rather big change, so it needs
	  some testing.

Fri, 10 Nov 2006 13:44:03 +0100 Dodji Seketeli

================ released 0.1.0 ================

Fri, 10 Nov 2006 13:21:02 +0100 Dodji Seketeli

	* Makefile.am: fix the tag-release-only target.

Fri, 10 Nov 2006 12:47:18 +0100 Dodji Seketeli

	* README: udpated this according to the last discussion I had with Jonner.
	* Makefile.am: updated the release stuff part.
	* NEWS: updated this for the 0.1.0 release.

Wed, 08 Nov 2006 22:58:44 +0100 Dodji Seketeli

	* configure.ac: set version number to 0.1.0
	* Makefile.am: update releasing information.
	* NEWS: update this, preparing the 0.1.0 release.
	* po/fr.po: set encoding to utf8


Sun, 05 Nov 2006 15:06:53 +0100 Dodji Seketeli

	* src/persp/Makefile.am: added the headers to the EXTRA_DIST.
	* po/POTFILES.in: flag input files as having utf8 encoding, as I use
	  utf8 as default encoding. Otherwise, make distcheck complains.
	  This entry actually makes nemiver pass distcheck.

Sun, 05 Nov 2006 13:46:41 +0100 Dodji Seketeli

	* src/persp/dbgperspective/schemas/Makefile.am: update gconf2-d by
	  default now again.
	* src/persp/dbgperspective/glade/preferencesdialog.glade: 
	  The preferences dialog doesn't need a cancel button. Properties are
	  instant apply, so there is nothing to cancel.

Sun, 05 Nov 2006 13:17:16 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: 
	  DBGPerspective::open_file(): set source code highlight on by
	  default, in case we can't talk with the configuration manager.

Sun, 05 Nov 2006 12:42:08 +0100 Dodji Seketeli

	* TODO: removed that item: 'grey out' dialogs okay buttons until the user
	  selected something. It can be considered done now. Added a new item
	  there as well.

Sun, 05 Nov 2006 03:40:46 +0100 Dodji Seketeli

	* src/persp/dbgperspective/nmv-load-core-dialog.cc: grey out the ok
	  button until the makes a choice.
	* src/persp/dbgperspective/nmv-saved-sessions-dialog.cc,h: ditto.
	* src/persp/dbgperspective/nmv-run-program-dialog.cc: ditto.
	* src/persp/dbgperspective/nmv-proc-list-dialog.cc: ditto + made a bit
	  of cleanup. Use the priv idiom here.

Sat, 04 Nov 2006 01:19:18 +0100 Dodji Seketeli

	* src/persp/dbgperspective/glade/loadcoredialog.glade: put the default
	  size (width,height) of the dialog to (350,200) because it's needed
	  to carry the french translated text in that widget. <sigh/>.
	* src/persp/dbgperspective/glade/savedsessionsdialog.glade: ditto.
	* src/persp/dbgperspective/glade/runprogramdialog.glade: ditto.
	* po/LINGUAS: added a line with fr here.
	* po/fr.po:  added initial french translation.
	* po/nemiver.pot: added this file as well.

Thu, 02 Nov 2006 23:02:13 +0100 Dodji Seketeli

	* po/POTFILES.in: added missing files in here.

	* src/persp/dbgperspective/nmv-dialog.cc,h: put the priv idom back
	  here. Added  Dialog::widget() and Dialog::glade() protected methods
	  to access the private bits children classes may need.
	* src/persp/dbgperspective/nmv-preferences-dialog.cc: refactorise
	  this according to the change in nemiver::Dialog.
	  Instanciate Preference::Priv with the necessary bits coming from
	  nemiver::Dialog .
	* src/persp/dbgperspective/nmv-load-core-dialog.cc,h: use
	  Dialog::widget() and Dialog::glade() to access the parent Dialog
	  private bits.
	* src/persp/dbgperspective/nmv-saved-sessions-dialog.cc: same thing
	  as in the other dialogs. Try to respect the style of the project:
	  members of m_priv don't start with m_, because they'll be accessed
	  via m_priv->foo. m_priv has the m_ already. Function arguments are
	  prefixed with a_ . Try to have lines not much longuer than 80
	  characters.
	* src/persp/dbgperspective/nmv-run-program-dialog.cc: same as the other
	  dialogs.
	* src/persp/dbgperspective/nmv-proc-list-dialog.cc: same  as the other
	  dialogs.
	* src/persp/dbgperspective/nmv-dbg-perspective.cc:
	  Make RunProgramDialog::working_directory() gets called with
	  absolute paths. Otherwise, I get some warnings at runtime.
	  Also, the nemiver::Terminal's scrolled window needs some special care:
	  It must be Gtk::ScrolledWindow::set_vadjustment() to the adjustment of
	  nemiver::Terminal. Otherwise, scrolling is broken in the
	  notebook status terminal.
	* src/persp/dbgperspective/nmv-terminal.cc,h: added
	  Terminal::adjustment () to get the adjustment of the terminal.
	  This is necessary when the terminal is packed in a scrolled window.
	  In that case, the scrolled window's must share the same adjustment
	  object as the terminal. Otherwise, the scrolled windows won't be
	  able to control the terminal's scrolling.
	  Also, enable text text scrolling in the vte terminal underlying
	  widget.

2006-11-01  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/glade/runprogramdialog.glade,
	src/persp/dbgperspective/glade/savedsessionsdialog.glade: marked the
	"Execute" button as the default action for the dialog so that, for example,
	double-clicking a treeview row or pressing enter in the dialog will
	automatically select the default action.  Minor changes, but they make
	keyboard usability much better.
	* src/persp/dbgperspective/nmv-saved-sessions-dialog.h,
	src/persp/dbgperspective/nmv-run-program-dialog.h: reverted dialog back to
	using the Priv idiom like they were before we abstracted out a common Dialog
	base class because I was sick of needing to recompile the entire
	nmv-dbg-perspective.cc file whenever changing private members of dialogs.
	I don't have a lot of experience with the Priv idiom, however, so there may
	be some ugliness there, so I'd recommend a quick review.  In particular, the
	base Dialog class contains members m_glade (the glade Xml), and m_dialog
	(the Gtk::Dialog) which i needed to access from within the Priv class
	functions, so I had to pass around pointers to these things.  If there's a
	better way to do this, please feel free to improve it.
	* src/persp/dbgperspective/nmv-run-program-dialog.cc,
	src/persp/dbgperspective/nmv-saved-sessions-dialog.cc: re-organize these
	files to use the Priv idiom and implement the default action activation
	mentioned above.  In the 'run program' dialog, you can now press enter when
	you're in the 'arguments' text entry to click the OK buttton, and in the
	'saved sessions' dialog, you can either press enter when a tree row is
	selected or double-click an item in the treeview to click 'OK'

2006-11-01  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-dbg-perspective.cc: use
	SourceEditor::scroll_to_line() instead of doing it manually so that
	scrolling to the breakpoints also uses the 10% margin

2006-11-01  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	Changing the libnemiveruicommon library to a static library was causing
	the following warning when linking the workbench module:
	*** Warning: Linking the shared library libworkbenchmod.la against the
	*** static library ../../src/uicommon/libnemiveruicommon.a is not portable!

	Resulting in this error on my amd64 machine:
	/usr/bin/ld: ../../src/uicommon/libnemiveruicommon.a(nmv-ui-utils.o):
	relocation R_X86_64_32 against `a local symbol' can not be used when making
	a shared object; recompile with -fPIC
	../../src/uicommon/libnemiveruicommon.a: could not read symbols: Bad value
	
	The fix is to make the 'static' library also a LTLIBRARY, but don't install
	it.  See http://sources.redhat.com/ml/automake/2003-07/msg00064.html

	* src/uicommon/Makefile.am: Change library back to an LTLIBRARY, but still
	don't install it
	* src/Makefile.am: update library filename (.la vs .a)
	* src/persp/dbgperspective/Makefile.am: update library filename (.la vs .a)
	* src/workbench/Makefile.am: update library filename (.la vs .a)

Wed, 01 Nov 2006 22:05:54 +0100 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: Add an "EMPTY_TYPE" content type
	  to GDBMIValue.
	  GDBEngine::parse_gdbmi_tuple(): fixed a typo here. When the typle
	  was empty ("{}") the a_to out parameter was not set. not good.
	  GDBEngine::parse_gdbmi_value(): in the case of an empty gdbmi tuple,
	  set the value content to EMPTY_TYPE .
	  GDBEngine::parse_threads_list(): beware the thread list can be empty
	  in some cases, for instance, when an app has exited. We get the
	  signal in a context where the target has zero threads (the target
	  has exited).
	* src/persp/dbgperspective/nmv-throbber.cc,h: make the functions
	  virtual so that we can derive from it and switch from one
	  implementation to an other.
	* src/persp/dbgperspective/nmv-ephy-throbber.h,cc: create an
	  EphyTrhobber widget that uses the epiphany throbber.
	* src/persp/dbgperspective/ephy-spinner.c,h: add these files from
	  epiphany source code. We now have a throbber that features a moving
	  foot. Nemiver is now DaMovingFoot !!!

2006-11-01  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* TODO: Added a couple new items

Wed, 01 Nov 2006 19:04:45 +0100 Dodji Seketeli

	* src/main.cc: man, don't reference "DBGPerspective" anywhere anymore.

Wed, 01 Nov 2006 17:14:30 +0100 Dodji Seketeli

	* src/main.cc: DBGPerspective plugin is now called dbgperspective.
	* src/persp/dbgperspective/schemas/Makefile.am: by default, don't
	  killall -HUP gconf2-d. You can nevertheless do RESTART_GCONF=1 make
	  install, if you wan't to restart gconfd upon install.

2006-10-31  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* README: Added some basic documentation in preparation for the first
	release.

2006-10-31  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* AUTHORS: add information about the mailing list and encourage people to
	contact us via the mailing list
	* src/persp/dbgperspective/nmv-dbg-perspective.cc: Fix another instance of
	keyboard shortcut duplication.  Both "_Saved Sessions..." and "_Save Session
	to disk" used "S" as the keyboard shortcut.  Since "S" is a standard
	shortcut for the action of saving something, I changed the first one to "v"
	and reworded it slightly to "Resume Sa_ved Session..."

Tue, 31 Oct 2006 15:07:28 +0100 Dodji Seketeli

	* src/workbench/Makefile.am: link against the now static library
	  libnemiveruicommon.a .
	* src/dbgengine/libdbgengine.pc.in: remove this file from repository.
	* src/uicommon/Makefile.am: make libnemiveruicommon.a be a static
	  library that is not installed.
	* src/Makefile.am: make the nemiver executable link with the now static
	  libnemiveruicommon.a
	* configure.ac: removed src/dbgengine/nemiver-gdb-plugin.pc and
	  src/dbgengine/libdbgengine.cc from distribution.

2006-10-30  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/persp/dbgperspective/nmv-source-editor.cc: change the do_scroll()
	function so that the current line must be at least within a 10% margin on
	the top and bottom of the source editor.  It turns out that this was as
	simple as adding an extra argument to the TextView::scroll_to() function. I
	tried a few different values (including 50% which tried to keep the current
	line always in the middle of the source editor), but 10% seemed about right
	to me.  That way the text doesn't scroll too often (which makes me lose my
	place), but it still makes sure that you have enough context around to make
	sense of the code.  But the value could be tweaked if desired.
	* TODO: remove finished item from the list

Mon, 30 Oct 2006 22:37:11 +0100 Dodji Seketeli

	* src/dbgengine/Makefile.am: install the dynmod iface into
	  $prefix/include/nemiver/dynmods.
	* src/workbench/nmv-i-perspective.h: moved this into
	  src/persp/nmv-i-perspective.h
	* src/workbench/Makefile.am: install the dynmod iface into
	  $(prefix)/include/nemiver/dynmods.
	* src/confmgr/Makefile.am: install the dynmod iface into
	  $(prefix)/include/nemiver/dynmods.

Mon, 30 Oct 2006 22:17:02 +0100 Dodji Seketeli

	* src/dbgperspective: move this into src/persp/dbgperspective so that
	  we can have several types of perspective plugin under src/persp in
	  the future.

Mon, 30 Oct 2006 21:08:02 +0100 Dodji Seketeli

	* src/DBGPerspective: rename this directory into src/dbgperspctive.
	  Mixed case sucks for me. It takes too much typing  :-) .
	  Propagate this change wherever needed.

2006-10-30  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* TODO: add a note about keeping the current line centered in the source
	editor so I don't forget about it
	* src/DBGPerspective/glade/preferencesdialog.glade: Change the stock ID on
	the button to "Remove" source directories from Stock::DELETE to
	Stock::REMOVE.  This matches the Remove button for environment variables now
	* src/DBGPerspective/glade/proclistdialog.glade: Fix capitalization of the
	window title of the Attach to process dialog.  Also change the wording to
	match the menu item more closely (i.e. "Attach to a running program" instead
	of "Attach to a process" since the menu item says "Attach to running
	program")

Mon, 30 Oct 2006 10:07:07 +0100 Dodji Seketeli

	* TODO: removed the "add/show lines numbers in prefs" from TODO. This task
	  is done. Added new tasks in here. Nothing targeted for pre-0.1 though.

2006-10-29  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/glade/preferencesdialog.glade,
	src/DBGPerspective/glade/proclistdialog.glade,
	src/DBGPerspective/glade/savedsessionsdialog.glade: a few minor HIG fixes,
	mostly involving spacing, border widths, and capitalization.
	* src/DBGPerspective/nmv-dbg-perspective.cc: add a stock icon for stop,
	capitalize the 'preference' menu item, Renamed the "Continue until" menu
	"Run to cursor".  Feel free to change it back if you don't like it.

Sun, 29 Oct 2006 23:00:24 +0100 Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc: make sure the
	source_editor->source_view ().signal_leave_notify_event() get
	delivered to us before it get delivered to the default slot.
	* src/DBGPerspective/nmv-source-editor.cc: oops, forgot to
	 ::add_masks() a bunch of events, especially the
	 Gdk::LEAVE_NOTIFY_MASK. Otherwise, we don't detect when we get out
	 of the source view area. This lead to a hover on variables bugs
	 reported by Jonathon Jongsma. I hope this entry fixes it.

Sun, 29 Oct 2006 21:51:28 +0100 Dodji Seketeli

	* src/DBGPerspective/nmv-preferences-dialog.cc,h: make this talk
	  with confmgr to store the prefs changed by the user and to init
	  the widget. Make the dialog take an IWorkbench& in parameter to
	  acess the IConfMgr singleton.
	  Take the new source editor related prefs in account.

	* src/DBGPerspective/schemas/nemiver-dbgperspective.schemas: added
	  two new keys: /apps/nemiver/dbgperspective/show-source-line-numbers
	  and: /apps/nemiver/dbgperspective/highlight-source-code.

	* src/DBGPerspective/nmv-dbg-perspective.cc: update this to
	  enjoy the new PreferencesDialog. Get the "highlight source code" and
	  "show line numbers" prefs from confmgr.

	* src/DBGPerspective/nmv-source-editor.cc: don't show line numbers by
	  default. Clients will do that.

	* src/DBGPerspective/glade/preferencesdialog.glade: add
	  source editor related preferences.

	* src/confmgr/nmv-gconf-mgr.cc: in client_notify_func(), cast to bool
	  when setting gboolean value to a boost variant, otherwise, the
	  variant later thinks it has an int.

2006-10-29  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/nmv-dbg-perspective.cc: add a Save icon to the new
	"Save session to disk" menu item

Sat, 28 Oct 2006 22:28:46 +0200 Dodji Seketeli

	* TODO: remove the on demand session serialisation from TODO. This
	  item is now done.

	* src/DBGPerspective/nmv-dbg-perspective.cc,
	  src/DBGPerspective/menus/menus.xml: added the save session
	  menu action.

Sat, 28 Oct 2006 14:06:44 +0200 Dodji Seketeli

	* TODO: removed the "continue until" task from TODO.
	  I won't do the "jump to line" task for now because it seems there
	  is no gdb/mi command to do "jump to line". I will need to do this
	  using the defaut gdb interpreter, but later.

Sat, 28 Oct 2006 13:05:55 +0200 Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc,
	  src/DBGPerspective/menus/menus.xml: add the "continue until"
	  menu item to the "debug" menu and to the contextual menu.
	  Basically, it makes the debugger continue execution untill the
	  currently selected line

	* src/DBGPerspective/nmv-source-editor.cc,h: added
	  SourceEditor::get_file_name() to the the current file basename.
	  This is used by the "continue until" feature.

Sat, 28 Oct 2006 11:43:19 +0200 Dodji Seketeli

	* TODO: removed the thread selection widget task from TODO.

Sat, 28 Oct 2006 11:25:01 +0200 Dodji Seketeli

	* configure.ac, */Makefile.am: cleanup link time deps to that
	  libraries links with what they need _only_ .

	* src/workbench/nmv-workbench.cc: do the gnomevfs init here so that
	  it is not done in src/common/nmv-initializer.cc anymore. This way
	  libnemivercommon.so only depends on glibmm .
	
	* src/DBGPerspective/nmv-dbg-perspective.cc: when the user hovers on the
	  file editor notebook label, show the full path of the file.
	  Stop the mouse immobile timer when the mouse leaves the source
	  editor. This prevents from randomly showing the variable content
	  popup tip.
	  Cleaner way to update the call stack and the local variables
	  when the user selects another thread.
	  Limit the number of saved debugging session to 5. I need to set a
	  gconf for that, instead of the hardcoding the value '5'.

	* src/DBGPerspective/nmv-vars-editor.cc: kill a memory leak in here.
	  Add VarsEditor::show_local_variables_of_current_function() to
	  trigger the display of the local variables of the current function,
	  on demand.
	
	 * src/DBGPerspective/nmv-call-stack.cc: implement the
	   CallStack::update_stack() function that was cowardly left
	   unimplemented.
	
	 * src/common/nmv-initializer.cc: remove
	   gnome_vfs_init/gnome_vfs_shutdown() from here. This avoids linking
	   libnemivercommon against the world, including avahi. That was too
	   much.

	* src/main.cc: kill a memory leak in here.
	* tests/Makefile.am: link against libnemivercommon.so only.


Fri, 27 Oct 2006 20:02:32 +0200 Dodji Seketeli

	* src/DBGPerspective/nmv-thread-list.cc: make this work somehow.
	* src/DBGPerspective/nmv-dbg-perspective.cc: Pack the thread-list widget
	  in the call stack view widget. when the user selects a new
	  thread, make sure we list the local variables and the call stack.
	  Okay this is the first changeset in which we have the thread list
	  working somehow.

Fri, 27 Oct 2006 08:07:36 +0200 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h: cleanup the API a
	  bit. Make IDebugger::Frame contain the frame level. Remove the
	  a_level param from the GDBEngine::Priv::parse_frame() function.
	  Remove the duplicate of that function. Because of the (public) API
	  cleanup, I was obliged to update many of the clients of
	  nmv-i-debugger.h .

	* src/DBGPerspective/nmv-thread-list.cc: connect to debugger and
	  widget signals. Still nothing visible yet. I still have to make
	  IDebugger list the frame stack and the local variables when the user
	  switches from a thread to another.

Wed, 25 Oct 2006 23:22:54 +0200 Dodji Seketeli

	* src/DBGPerspective/nmv-tread-list.cc,h: started to hack on this
	  thread list component. . I just push what I have for now.
	  Nothing is visible yet.

2006-10-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* configure.ac: add more fine-grained _LIBS and _CFLAGS variables so that we
	don't have to link all libraries against every dependency
	* src/common/libnemivercommon.pc.in: improve dependencies, only add
	NEMIVER_INCLUDE_DIR to the include path instead of
	NEMIVER_INCLUD_DIR/libnemivercommon.  To include a header from
	libnemivercommon, you must now specify libnemivercommon/header.h
	* src/uicommon/Makefile.am, src/workbench/Makefile.am,
	src/common/Makefile.am, src/confmgr/Makefile.am,
	src/dbdimpl/sqlite/Makefile.am, src/dbgengine/Makefile.am: only link against
	required libraries instead of all libraries
	* src/dbgengine/libdbgengine.pc.in: only include NEMIVER_INCLUDE_DIR
	* src/dbgengine/libgdbmod.pc.in: renamed to nemiver-gdb-plugin.pc.in

2006-10-22  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* Makefile.am: Add some infrastructure to make it easier to do releases.
	making the 'release-publish' target will automatically do a distcheck, sign
	the release tarball with gpg, tag the release in svn, and upload to the gna
	download server.  I haven't actually tested the svn tagging and uploading
	yet.  It's early, but I figured I'd get this stuff in place so when we want
	to make a release it goes quickly.  Also added a few files to DISTCLEANFILES
	to pass distcheck.
	* configure.ac: disable symbols visibility control by default for x86_64
	architectures so that I don't need to specify it manually everytime I
	re-autogen.  Disable gconf schemas installation during distcheck so that
	distcheck doesn't fail
	* README: removed the note about symbols visibility on amd64 since it's
	disabled by default for x86_64 in configure.ac
	* src/DBGPerspective/schemas/Makefile.am: Only install the schemas if the
	--enable-schemas-install configure option is set (default = yes)
	* po/ChangeLog: added this file (empty) since distcheck seems to insist on
	having it

2006-10-22  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/uicommon/nmv-ui-utils.h: oops, need to add libglademm.h include here.
	Removing it from nmv-env.h broke this.

2006-10-22  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* configure.ac: generate .pc files from .pc.in files, define a symbol for
	NEMIVER_INCLUDE_DIR that can be used in subdir makefiles and .pc files
	* src/common/libnemivercommon.pc.in, src/common/Makefile.am: install
	pkg-config file for libnemivercommon
	* src/common/nmv-env.h: remove include for libglademm.h since we don't
	actually use any symbols from libglademm and we don't want this as a
	dependency in libnemivercommon
	* src/dbgengine/Makefile.am, src/dbgengine/libdbgengine.pc.in,
	src/dbgengine/libgdbmod.pc.in: install new pkg-config files for dbgengine
	and the gdb backend
	* src/confmgr/Makefile.am, src/uicommon/Makefile.am,
	src/workbench/Makefile.am: use new NEMIVER_INCLUDE_DIR variable
	* TODO: remove libnemivercommon.pc task

Sun, 22 Oct 2006 23:50:27 +0200 Dodji Seketeli

	* TODO: updated this. Move the [pre 0.1] task to the top. Add
	  a libnemivercommon.pc task.

Sun, 22 Oct 2006 23:31:50 +0200 Dodji Seketeli

	* src/*Makefile.am: cleanup to make sure the public header get
	  installed in $(prefix)/include/nemiver.


Sun, 22 Oct 2006 22:42:34 +0200 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h: we can now list
	  the threads of the target and select select one of them.
	  Functions are IDebugger::list_threads() and
	  IDebugger::select_thread(). The two signaling functions are
	  IDebugger::threads_listed_signal() and
	  IDebugger::thread_selected_signal().

	* tests/test-breakpoint.cc:  updated this to test the new thread
	  thing. The way I use this is:
	  cd tests ; ./runtestbreakpoints .libs/fooprog
	  And I look at the output :-)

2006-10-22  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/glade/bodycontainer.glade: made it so that the status
	notebook pane doesn't resize with the main window.  In other words, when you
	make the main window bigger or smaller, the status notebook will stay the
	same size and the sourceview section will get bigger or smaller.  I think
	this is a more expected behavior.

2006-10-21  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* README: added a note about compiling without symbols visibility control on
	amd64 machines.

Fri, 20 Oct 2006 08:59:21 +0200 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: replaced
	  parse_tuple(), parse_list(), parse_value(), parse_result()
	  by parse_gdbmi_tuple(), parse_gdbmi_list(),
	  parse_gdbmi_value(), parse_gdbmi_result() for better legibility.
	  Started to add GDBEngine::Priv::parse_threads_list() to parse
	  the thread list result record, which is the result of the
	  gdb command "-thread-list-ids". It isn't used yet.
	* src/DBGPerspective/nmv-dbg-perspective.cc: renamed
	  DBGPerspective::on_call_stack_copy_to_clipboard into
	  DBGperspective::on_call_stack_copy_to_clipboad_action() to keep
	  the naming scheme homogenous with what already exists.
	  In DBGPerspective::load_menu(): put the return statement outside the
	  try/catch block to prevent gcc from warn about the function not
	  returning any value.
	* TODO: updated this. Pointer dereferencing is done now.

2006-10-19  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/menus/Makefile.am,
	src/DBGPerspective/menus/callstackpopup.xml: added new context menu for
	copying the call stack to the clipboard
	* src/DBGPerspective/nmv-call-stack.cc, src/DBGPerspective/nmv-call-stack.h:
	Don't copy to clipboard on double-click anymore, just provide a to_string()
	function that we can use to get a string representation of the full call
	stack and can copy to the clipboard when a menu item is selected
	* src/DBGPerspective/nmv-dbg-perspective.cc: popup a context menu when
	right-clicking on the call stack to copy it to the clipboard

2006-10-18  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/nmv-call-stack.cc: hack up a little
	copy-stack-trace-to-clipboard functionality.  Currently it's triggered by
	double-clicking on the call stack treeview, but that's just for testing.  It
	will be changed to a right-click context menu soon.  I seem to be having
	some utf-8 onversion issues from time to time that will probably need to be
	investigated.  I can't help thinking that there's a better way to do this
	whole thing though.  Currently we have two basic data sources: a list of
	Frames and a map of argument lists that apply to these frames.  It seems
	like the argument list should be a member of the Frame class itself.  Then
	we could easily convert the stack Frame to a string by implementing
	Frame::operator<<()

Thu, 19 Oct 2006 00:21:28 +0200 Dodji Seketeli

	* src/DBGPerspective/nmv-vars-editor.cc: no more need to right click
	  in the local-vars-editor to either dereference pointers or to look
	  at the complete type of a variable. Now, to look at the complete
	  type, double click in the type column, on the variable row.
	  Pointer variables are dereferenced automatically. When they can't be
	  dereferenced, for example because the pointer is set to NULL, the
	  pointer has an empty child row. Maybe we could set the name of this
	  row to "<undefined value>" or something like that.

Wed, 18 Oct 2006 00:39:42 +0200 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: OnVariableTypeHandler::do_handle():
	  When a request to print a type of a variable fails because the
	  variable doesn't exist, don't log an error in the defaut domain.
	  Log it in the nmv-gdb-engine.cc log domain, instead.


Wed, 18 Oct 2006 00:17:05 +0200 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc:
	A bit of cleanup.
	IDebugger::Priv::parse_member_variable(): fix so that it parses sub
        attributes correctly. This is also a bit less complex now.
	* src/dbgengine/nmv-i-debugger.h: fixed
	  IDebugger::Variable::build_qname().
	* src/DBGPerspective/nmv-vars-editor.cc: heavily debunk this and  make
	  it show and inspect local variables correctly. It sort of works now.


Mon, 16 Oct 2006 00:12:57 +0200 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: add traces in cases of error.
	* src/dbgengine/nmv-i-debugger.h: added
	  IDebugger::Variable::build_qname() to get the qualified name of a
	  variable (eg foo.bar, when bar is a  member of foo).
	* src/DBGPerspective/nmv-vars-editor.cc:  started to add
	  infrastructure for better handling of variable inspection
	  (including pointer dereferencing and the like). Nothing is visible
	  yet, though.
	* src/common/nmv-ustring.cc: made a better implementation of
	  UString::chomp(). The previous one was too complicated.
	* short-term-todo-list.txt: updated this.

Sat, 14 Oct 2006 01:53:56 +0200 Dodji Seketeli

	* src/dbgengine/nmv-i-debugger.h,nmv-gdb-engine.cc: added
	  IDebugger::print_pointed_variable_value() and
	  IDebugger::pointed_variable_value_signal() to support printing
	  the type of a variable.

	* src/DBGPerspective/nmv-vars-editor.cc,h:
	  The local variables widget colums are resizable.
	  Now, the type of all the local variables are
	  printed in the "type" column. Sometimes, the type name spans over
	  several lines. In that case, what's shown in the type column is only
	  the first line, followed by an ellipsis (...). The user can then right
	  click on the row and hit "show type". A dialog popups,
	  showing the entire type. This is necessary with non POD types.
	  Also, when a row contains a variable "V" which is a pointer,
	  the user can right click and choose "dereference". "V"
	  immediately gets a child, named "*V" which represents what V
	  points to. There are two problems with this for nowre are two
	  problems with this for now. First, *V's members don't have type
	  information updated yet. Second, each time you hit "next" or
	  "continue", the dereferenced variables are lost. You need to right
	  click and hit dereference to have them again. Fixing that is a bit
	  hard so I commit what I have for now.

	* src/common/nmv-ustring.h,cc: Added UString::printf() and
	  UString::vprintf. This allows doing things like:
	  UString foo ; foo.printf ("do %", "this"); It sets foo to
	  "do this".  This can be usefull to come up with strings that are
	  better translatable. Also added UString::get_number_of_lines().

	* src/common/nmv-option-utils.cc,h: fixed some stupidities here.
	  I should use Glib::OptionEntry instead of the C api one day.

2006-10-13  Hubert Figuiere  <hub@figuiere.net>

	* debian/*: added Debian packaging.

Thu, 12 Oct 2006 22:22:22 +0200 Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc: change the name of the
	  RunMenuItem into "Restart".

2006-10-12  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* short-term-todo-list.txt: update to mention the copy/paste stack trace
	feature so that I don't forget about it.

Thu, 12 Oct 2006 14:42:13 +0200 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h: renamed
	  IDebugger::got_proc_info_signal() into
	  IDebugger::got_target_info_signal(). Added
	  IDebugger::get_target_info() to trigger target info acquisition.
	  Also, prevent IDebugger::stop() from sending the stop signal to
	  target when we don't have the target PID, otherwise, we would be
	  sending the stop signal to PID 0, which exits the current process.

	* src/DBGPerspective/nmv-dbg-perspective.cc: we get target info (PID
	  and absolute path of the exe) using IDebugger::get_target_info().
	  Make sure we make that request the first time the target is
	  stopped, after we have requested IDebugger::run().
	  The problem with that approach is that we cannot stop the target
	  (send the stop signal) until the target hasn't stopped at least
	  once, because IDebugger needs to know the PID of the target in order
	  to send him the signal. Remember, we can't get that PID before the
	  target stops at least once.
	  The work around would be to find a way to know the PID of the
	  target. We can guestimate that looking a the child processes of GDB.
	  Also, renamed "Run" menuitem into "Run in a new process", to stress
	  that it creates a new process, otherwise people tend to use it
	  instead of using "continue".
	* src/DBGPerspective/menus/toolbar.xml,menu.xml: move the run
	  menuitem/toolbutton to the end. Put continue at the beginning.

Thu, 12 Oct 2006 08:53:28 +0200 Dodji Seketeli

	* src/dbgengine/nmv-i-debugger.h,nmv-gdb-engine.cc: added a new
	  IDebugger::print_variable_type() interface. This requests the
	  engine to print the type of a named variable. As an answer,
	  IDebugger later emits the IDebugger::variable_type_signal() event
	  carrying a pair variable name/variable type.
	* tests/fooprog.cc,test-breakpoint.cc: updated this to test the
	  new IDebugger::print_variable_type() interface.

2006-10-11  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/nmv-source-editor.cc: use monospace font for source
	editor.

2006-10-11  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/menus/breakpointspopup.xml: Move "Go to source" above
	"delete" in the menu
	* src/DBGPerspective/nmv-breakpoints-view.cc,
	src/DBGPerspective/nmv-breakpoints-view.h: add new get_selected_breakpoint()
	function, store breakpoint object in treemodel
	* src/DBGPerspective/nmv-dbg-perspective.cc: Implement actions for
	breakpoint view context menu (i.e. "Go to source" and "delete").  In
	addition, you can jump to a breakpoint in source by double-clicking on it.

mardi 10 octobre 2006, 21:33:30 (UTC+0200) Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc:
	  GDBEngine::Priv::on_gdb_stdout_has_data_signal(): in some cases
	  gdb can send a complete ouptut record + a part of the next one.
	  So detect the end of an output record, parse that relevant part of
	  it, and append the coming gdb output to what remains in the incoming
	  buffer. This is not done really efficiently for now as it involves
	  too much copying and memory allocation. But let's see if this works
	  first, optimization will come up later.

Tue, 10 Oct 2006 11:37:45 +0200 Dodji Seketeli

	* configure.ac: add -Wextra to the devel super hot flags (activated by
	   NEMIVER_DEVEL=on). This triggers a lot of compilation errors,
	   mostly unused parameters, that I fixed. This was pointed out by
	   Christophe Fergeau, aka teuf,  on IRC.
	* src/dbgengine/nmv-gdb-engine.cc:
	  GDBEngine::Priv::parse_function_args(): take in account arguments that
	  have \" in their content. This should fix a bug reported on IRC by
          Jean-Francois Rameau, aka JFR.
	* src/DBGPerspective/nmv-breakpoints-view.cc: it seems like
	  the static variable of type VariableColumns was bound to another
	  static instance of the of another type that happened to have the
	  same name. Weird. That was responsible of dumping of a lot of gtk
	  warnings in the terminal.
          So I renamed VariableColumns here, calling it BPColumns.
          The warnings are gone now.

2006-10-09  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/nmv-dbg-perspective.cc: I figured out how to trigger
	the popup menu on button press instead of button release.  It needs to be
	connected with connect_notify() instead of just connect() (see gtkmm bug
	#89780)

2006-10-09  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/nmv-breakpoints-view.cc,
	src/DBGPerspective/nmv-breakpoints-view.h: a new widget for displaying the
	list of currently set breakpoints in the status notebook area.
	It currently displays a list of breakpoints that gets updated
	in a rather crude way after breakpoints are added or removed.
	It also pops up a context menu which has a choice of 'delete'
	or 'go to source', but these menu items don't currently
	do anything yet.  I thought I'd just commit what I had for now.
	* src/DBGPerspective/Makefile.am: add new breakpoints-view files
	* src/DBGPerspective/menus/Makefile.am,
	src/DBGPerspective/menus/breakpointspopup.xml: add new breakpoints list
	popup menu
	* src/DBGPerspective/nmv-dbg-perspective.cc: incorporate the new Breakpoint
	list widget and popup menu.  Still needs a lot of work, but it's a start.
	* src/main.cc: break out of the loop after we find the session we're looking
	for.

Mon, 09 Oct 2006 22:21:59 +0200 Dodji Seketeli

	* src/DBGPerspective/nmv-popup-tip.cc: use a textview instead of a
	  label. Labels don't work very well for long texts.
	* src/DBGPerspective/nmv-dbg-perspective.cc:
	  DBGPerspective::on_debugger_variable_value_signal ():
	  show variable names in the popup tips.


Mon, 09 Oct 2006 19:42:42 +0200 Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc:
	  GDBEngine::Priv::parse_breakpoint(): take the pending breakpoints
	  partially in account. In the future we will need to really flag
	  pending breakpoints as such so that client code can make the
	  difference between breakpoints that are set end pending ones.
	  This fixes an annoying bug were pending breakpoints were not
	  visible by client code.
	* src/dbgengine/nmv-i-debugger.h:  Add a
	  IDebugger:Variable::to_string() method.
	* src/DBGPerspective/nmv-popup-tip.cc,h: added this new widget.
	  Its there to carry the content of variables which popup when the
	  mouse is left over a variable for one second.
	* src/DBGPerspective/schemas/nemiver-dbgperspective.schemas: added
	  a key /apps/nemiver/dbgperspective/show-dbg-error-dialogs to
	  determine if we should show error messages coming from the
	  underlying debugger engine (read gdb here). It's set to false by
	  default.
	* src/DBGPerspective/nmv-dbg-perspective.cc: When the mouse is left
	  over a word (in the source view), we consider that word as being
	  an expression and we ask IDebugger to evaluate that expression.
	  If that evaluation doesn't lead to an error, the result is shown in
	  a "popup tip" below the word we were talking about. This way, to
	  quickly know the content of a variable, just let the mouse over that
	  variable for one second.
	*  src/DBGPerspective/nmv-source-editor.cc,h: added
	   SourceEditor::get_word_at_position() to get a word at x,y position.
	*  src/DBGPerspective/nmv-call-stack.cc : make call stack aquisition
	   be robust w.r.t some debugger engine errors.
	* src/* : made some general cleanups.


Sun, 08 Oct 2006 16:10:47 +0200 Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc: update
	  DBGPerspective::Priv::prog_path with what comes from
	  IDebugger::got_proc_info_signal (). That way,
	  DBGPerspective::Priv::prog_name is alway set to the absolute
	  prog path. A side effect is that the absolute prog path is saved
	  in the on disk saved session. This fixes a problem reported by
	  Jonner at https://mail.gna.org/public/nemiver-list/2006-10/msg00004.html .

Sat, 07 Oct 2006 01:44:09 +0200 Dodji Seketeli

	* src/worbench/nmv-workbench.cc,nmv-i-workbench: add a
	  IWorkbench::get_main_context() API.
	* src/DBGPerspective/nmv-dbg-perspective.cc: started to add
	  some infrastructure code to help trigger an action when the mouse
	  is put on a word for more than one second. This will be used to
	  popup a tooltip showing the content of a variable when the mouse is
	  set over the variable for at least one second or so. More on this
	  later.
	* src/DBGPerspective/nmv-source-editor.cc: a bit of cleanup.

Thu, 05 Oct 2006 23:56:29 +0200 Dodji Seketeli

	* src/DBGPerspective/nmv-vars-editor.cc: removed the global variables
	  row from the variable editor because there are way too much global
	  variables in a program. Showing them there is counter productive.
	  Instead, VarsEditor should turn into a real variable inspector widget
	  that could show the content of arbitrary variables and be able to
	  edit variables, as well. This is obviously a post 0.1 feature.
	* short-term-todo-list.txt: updated this.

Wed, 04 Oct 2006 23:35:26 +0200 Dodji Seketeli

	* src/nmv-dbg-engine.cc: make LOG_PARSING_ERROR() show up in the
	  default domain because I suspect a couple of parsing errors to occurs.
	  So I want to make them appear.
	  GDBEngine::Priv::parse_member_variable(): Fix this function to make
	  it support objects/structure table parsing too. GDBMI is a bit
	  harsh because when you get ^done,value="<foo>", you don't know if
	  foo is going to be a table or not. This function is really getting a
	  bit hackish to my taste. Maybe I should find a way to split it into
	  several functions, each one parsing a different kind of variable.

mercredi 4 octobre 2006, 23:35:21 (UTC+0200)
Wed, 04 Oct 2006 00:46:31 +0200 Dodji Seketeli

	* src/DBGPerspective/nmv-sess-mgr.h,cc: added a
	  ISessMgr::clear_session() api, to clear an existing session without
	  deleting it. Deleting means erasing everything including erasing the
	  session entry in the sessions table. clearing meanings erasing the
	  session content, but keeping the entry in the sessions table.
	* src/DBGPerspective/nmv-dbg-perspective.cc: 
	  in DBGPerspective::record_and_save_session() clear what's in the
	  session before adding more stuff to it. Otherwise, the session
	  content keeps growing, which leads to the duplication of data
	  pointed to by Jonner in
	  https://mail.gna.org/public/nemiver-list/2006-10/msg00001.html .
	  This should fix that bug.


Tue, 03 Oct 2006 08:42:00 +0200 Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc,h:
	  DBGPerspective::execute_program(): add a vector of breakpoints to set,
	  in parameter.
	  In DBGPerspective::execute_session(): load the breapoints saved in
	  the session and call DBGPerspective::execute_program() with them.

2006-10-02  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* short-term-todo-list.txt: remove an item from the TODO list that Dodji
	already implemented.  I haven't had much time to hack on nemiver lately, but
	at least I can do a little housekeeping :)  Also added a few more things to
	svn:ignore

Mon, 02 Oct 2006 22:21:56 +0200 Dodji Seketeli

	* src/dbgengine/nmv-i-debugger.h: add a new parameter to
	  IDebugger::got_proc_info_signal(): the path of the target.
	  Added IDebugger::get_env_variables () and IDebugger::get_target_path().

	* src/dbgengine/nmv-gdb-engine.cc:
	  GDBEngine::Priv::extract_proc_info(). Make this extract the target
	  path as well as the process ID. Implement the new interfaces that
	  got added. In GDBEngine::load_program() don't 'info proc" here
	  because the target may not have been really loaded. This should be
	  done in IDebugger::run() or in the IDebugger::attach() only.

	* src/DBGPerspective/nmv-dbg-perspective.cc: in
	  DBGPerspective::get_contextual_menu(): add the content of the
	  'debug' menu to the contextual menu.

	* tests/test-breakpoint.cc: update to reflect api changes in
	  IDebugger.


dimanche 1 octobre 2006, 12:04:37 (UTC+0200) Dodji Seketeli

	* src/main.cc: now,  "nemiver myprog progarg0 progarg1" works.
          no more need to do nemiver --debug myprog progarg0 progarg1.
	* src/DBGPerspective/glade/runprogramdialog.gladep: removed this
	  file from svn.
	* src/dbgengine/nmv-gdb-engine.cc: GDBEngine::Priv::launch_gdb():
	  locate the absolute filepath of the program being launched, scanning
	  the PATH environement variable and the cwd.
	  If the program is not found, return an error.
	  Now, if I type 'nemiver aprog', the debugger will locate
	  aprog in the path and launch it. There is no more need to give
	  the exact absolute path.

samedi 30 septembre 2006, 21:27:48 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-preferences-dialog.cc,h: renamed
	  nmv-cur-session-props-dialog.h,cc. Also fix some bugs in
	  adding/removing directories.
	* src/DBGPerspective/nmv-dbg-perspective.cc: propagate the
	  rename of nmv-cur-session-props-dialog.h into
	  nmv-preference-dialog.h
	* src/DBGPerspective/glade/preferencesialog.glade: make the
	  scrollbars automatic. Renamed currentsessiondialog.glade into
	  preferencesdialog.glade.


samedi 30 septembre 2006, 20:53:08 (UTC+0200) Dodji Seketeli

	* menus/menubar.xml,src/workbench/nmv-workbench.cc: add an edit menu.

	* src/dbgengine/nmv-gdb-engine.cc: add some more traces.

	* src/DBGPerspective/nmv-dialog.h: add Gtk::Dialog, and
	  Gnome::Glade::Xml forward decls to make this .h file self contained
	  w.r.t type declarations. Also, prefix the member attributes by "m_".
	  All the inherited classes have also been changed to reflect these
	  changes.
	* src/DBGPerspective/glade/currentsessiondialog.glade,
	  src/DBGPerspective/nmv-cur-session-props-dialog.h,cc: a new
	  preference dialogs. It started as a dialog to edit the session
	  properties but I turned that it is better putting all the preference
	  editing here. I must then change the name of the dialog into
	  nmv-preference-dialog.h,cc, I think.
	* src/DBGPerspective/menus/menus.xml: add a edit -> preferences menu.


2006-09-29  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/glade/savedsessionsdialog.glade: First crack at
	creating a dialog for executing saved debugging sessions from the GUI
	* src/DBGPerspective/glade/Makefile.am: install new glade file
	* src/DBGPerspective/menus/menus.xml: add menu item for launching the saved
	sessions dialog
	* src/DBGPerspective/Makefile.am,
	src/DBGPerspective/nmv-saved-sessions-dialog.cc,
	src/DBGPerspective/nmv-saved-sessions-dialog.h: add a Saved Sessions dialog.
	The functionality works, but it's just the bare minimum right now (e.g. pick
	a session and execute it).  You can't yet edit anything about the session or
	remove a session from the list.
	* src/DBGPerspective/nmv-dbg-perspective.cc: connect the new saved sessions
	menu item to the dialog, and execute the selected session if the user clicks
	OK on the dialog.

2006-09-28  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/nmv-sess-mgr.cc: missing quote for fullfilename in add
	breakpoint sql query.
	* src/DBGPerspective/schemas/Makefile.am: $schemafiles was not defined, use
	$files instead

jeudi 28 septembre 2006, 23:12:22 (UTC+0200) Dodji Seketeli

	* src/dbgengine/nmv-i-debugger.h: renamed
	IDebugger::BreakPoint::full_file_name() into
	IDebugger::Breakpoint::file_full_name() so that it is homogeneous with
	IDebugger::Frame::file_full_name().

	* src/dbgengine/nmv-gdb-engine.cc,
	src/DBGPerspective/nmv-sess-mgr.h,cc:
	  propagated the IDebugger::Breakpoint::full_file_name() change.
	  Also, add a ISessMgr::BreakPoint::file_full_name() property.

	* src/DBGPerspective/sqlscripts/sqlite/create-tables.sql: updated
	  the database to add the new file_full_name property in the
	  breakpoints table.

	* src/uicommon/nmv-ui-utils.h: move the get_widget_from_glade()
          helpers from nmv-env.h to here. nmv-env.h doesn't depend on Gtk+
	  anymore.

	* src/common/nmv-namespace.h: add a couple of namespace macros
	  to keep emacs users happy with w.r.t indentation and namespaces.

	* src/DBGPerspective/nmv-dialog.cc,
	  src/DBGPerspective/nmv-load-core-dialog.cc,
	  src/DBGPerspective/nmv-run-program-dialog.cc,
	  src/DBGPerspective/nmv-proc-list-dialog.cc:
	 propagated the ui_utils::get_widget_from_glade() move.

	* src/confmgr/nmv-i-conf-mgr.h,nmv-gconf-mgr.h: added a new
	  IConfMgr dynmod to abstract configuration properties storage
	  management.
	  Today, only a gconf backend implementation is provided.
	  Should a sqlite3 backend be needed, it could be easily be added.

	* src/workbench/nmv-i-workbench.h,,nmv-workbench.cc:
	  remove the previous propertie map.
	  Add a IWorkbench::get_configuration_manager() entry point to get
	  the Conf manager. Do the proper initialisation of the ConfManager.

	* src/DBGPerspective/nmv-dbg-perspective.cc: When the debugging info
	  don't provide the full source file paths, use IConfMgr to look up
	  source files in the list of directories pointed to by the
	  /apps/nemiver/dbgperspective/source-search-dirs key. It seems to
	  work. We still lack a GUI to update settings that sit in gconf.

	* src/main.cc: don't use the IWorkbench::properties() anymore as
	  it has disapeared.

mardi 26 septembre 2006, 00:08:44 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/schemas/Makefile.am,
	src/DBGPerspective/schemas/nemiver-dbgperspective.schemas,
	src/DBGPerspective/Makefile.am,
	configure.ac: added a gconf schema to store nemiver's properties
	to come.


2006-09-25  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/nmv-dbg-perspective.cc: Add ability to load environment
	variables that have been saved with the session and display them in the
	Execute dialog, etc.
	* src/DBGPerspective/nmv-sess-mgr.cc, src/DBGPerspective/nmv-sess-mgr.h:
	save and restore environment variables when saving and restoring sessions
	* src/DBGPerspective/sqlscripts/sqlite/create-tables.sql: add an
	env_variables table to the session database

2006-09-24  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/common/nmv-ustring.cc: Fixed a minor bug where when joining from
	iterators.  This came up when you pass an argument on the command line (e.g.
	nemiver --debug="/path/to/foo --arg" which ended up duplicating the first
	argument (i.e. it would show "--arg --arg" as the arguments for that
	session).  Fixed by incrementing the iterator before entering the loop

dimanche 24 septembre 2006, 02:05:26 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-source-editor.cc,h: okay, fire a
	  SourceEditor::marker_region_got_clicked_signal() whenever
	  a user left clicks in the marker region of the source view.
	* src/DBGPerspective/nmv-dbg-perspective.cc: toggle breakpoint
	  when the user clicks in the marker region.
	* short-term-todo-list.txt: udpated todo list.
	* src/dbgengine/nmv-gdb-engine.cc: add more traces to the breakpoints
	  parsing code. Do not require the breakpoint gdbmi output to have
	  the fullname property as some debug info set don't have it. Client
	  code should work things out with the file property only.
	  I haven't updated client code for the moment, though.
	  Traces on the client side should show and empty fullname property.

2006-09-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* AUTHORS: I guess I'm an author now
	* src/DBGPerspective/nmv-load-core-dialog.cc: don't set the initial value of
	the core file to the current working directory.  This doesn't make much
	sense to me.  It already uses the current working directory for the starting
	point for browing for a core file.
	* src/workbench/nmv-workbench.cc: added an "About" dialog.

samedi 23 septembre 2006, 21:39:56 (UTC+0200) Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc, src/dbgengine/nmv-i-debugger.h:
	  Added IDebugger::state_changed_signal() to that IDebugger notifies
	  clients about it's state. State client side state management code
	  can then be *much* simplified.
	* src/DBGPerspective/nmv-dbg-perspective.cc: simplified state
	  management code a lot. Basically state manement happens
	  in only one signal handler, instead of being scattered throught
	  the perspective's code. That happens in
	  DBGPerspective::on_debugger_state_changed_signal (), logically.
	* src/DBGPerpective/nmv-throbber.h,cc: this is a throbber, not a
	  throbb*l*er. Okay, renamed a couple of files for + did some seding
	  for that.

2006-09-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/glade/runprogramdialog.glade: Moved the button for
	adding a new environment variable beside the treeview.  Added a remove
	button.
	* src/DBGPerspective/nmv-run-program-dialog.cc,
	src/DBGPerspective/nmv-run-program-dialog.h: connected the 'remove variable'
	button actions and made it set sensitivity based on whether a row was
	selected in the treeview

samedi 23 septembre 2006, 18:09:37 (UTC+0200) Dodji Seketeli

	* short-term-todo-list.txt: updated this a bit. Surprisingly, some
	  items went out because they got done ! So I added some new items.
	  What a funny game :-).

2006-09-23  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/nmv-run-program-dialog.cc: Mark the columm headers of
	the environment variable treeview for translation (also renamed "variable"
	to "name" since the section title already says "environment variables").  
	Improved the process of adding a variable significantly by selecting the
	newly added row and setting the cursor so the user can immediately start
	typing the variable name and value.  I still need to add the ability to be
	able to <tab> from one column to the next.

2006-09-22  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* glade/workbench.glade.bak, glade/workbench.gladep.bak: more cleanup.
	Removed some glade backup files from version control

2006-09-22  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/workbench/Workbench.conf, src/workbench/Workbench.conf.in: remove
	duplicate and unused configuration files for the workbench

2006-09-22  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/glade/runprogramdialog.glade: Enable the environment
	variables treeview
	* src/DBGPerspective/nmv-run-program-dialog.cc, nmv-run-program-dialog.h:
	Beginning implementation of the ability to set environment variables in the
	"Execute" dialog.  It's a really bad user experience right now, but I
	haven't decided on a final approach yet.  Currently there's an "Add" button
	that will append an empty row onto the treeview of environment variables.
	The User can then click on that blank row and edit the cells to define the
	variable name and value.  This isn't very discoverable, because it's not
	obvious that a new empty row has been added.  We need a better solution for
	the UI.
	* src/DBGPerspective/nmv-dbg-perspective.cc: connect to dialog to get the
	environment variables map

mercredi 20 septembre 2006, 23:48:41 (UTC+0200) Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h:
	  detect when the target received a signal or an error.
	  Add two new signals: IDebugger::signal_received_signal() and
	  IDebugger:error_signal(). Renamed IDebugger::error_message_signal()
	  into IDebugger::log_message_signal(). The later name reflects more
	  what the signal is about. Did some logging cleanup. Fix the
	  debugger error detection parsing code.
	  Added a new IDebugger::add_env_variables() to support setting
	  environment variables for running the target.
	* src/DBGPerspective/nmv-dbg-perspective.cc: notify the user whenever
	  the target receives a signal or when the debugger engine itself gets
	  and error. Also made the API change to prepare the support of
	  setting environment variables for the target. Now everything is
	  in place, we just need to get the enviroment variable values from
	  the GUI.
	* src/DBGPerspective/nmv-proc-list-dialog.cc:
	  ProcListDialog::run(): fix a gdb warning: the function must return
	  a value.
	* src/main.cc: DBGPerspective::execute_program() now takes
	  an environment variables map.


2006-09-19  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/nmv-dbg-perspective.cc: switch back the accelerator for
	loading a core file to "L" since "C" is already taken by "Close"

2006-09-19  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/nmv-dialog.cc, src/DBGPerspective/nmv-dialog.h:
	abstracted out a common base Dialog class for nemiver
	* src/DBGPerspective/Makefile.am: add new base Dialog files
	* src/DBGPerspective/nmv-load-core-dialog.cc,
	src/DBGPerspective/nmv-load-core-dialog.h: inherit from Dialog
	* src/DBGPerspective/nmv-proc-list-dialog.cc,
	src/DBGPerspective/nmv-proc-list-dialog.h: inherit from Dialog
	* src/DBGPerspective/nmv-run-program-dialog.cc,
	src/DBGPerspective/nmv-run-program-dialog.h: inherit from Dialog

mardi 19 septembre 2006, 08:30:06 (UTC+0200) Dodji Seketeli

	* configure.ac, src/term: removed the src/temp directory

lundi 18 septembre 2006, 23:43:15 (UTC+0200) Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h:
	add a tty parameter to IDebugger::attach_to_program()
        and IDebugger::load_program().
	* src/DBGPerspective/nmv-terminal.cc,h:
	added this small and simple terminal implementation based on vte.
	* src/DBGPerspective/nmv-dbg-perspective.cc: added a "target terminal"
	in so that targets' terminal can be redirected there.
	When a target needs some stdout/stdin interaction with the user,
	it can now be done via that tab.


lundi 18 septembre 2006, 21:35:14 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-load-core-dialog.cc,h: put Jonner as the
	author here.

2006-09-17  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/Makefile.am: added new LoadCoreDialog files
	* src/DBGPerspective/glade/Makefile.am: Added new glade file for the new
	Load Core Dialog window
	* src/DBGPerspective/glade/loadcoredialog.glade: new file
	* src/DBGPerspective/nmv-load-core-dialog.cc: new file
	* src/DBGPerspective/nmv-load-core-dialog.h: new file
	* src/DBGPerspective/nmv-dbg-perspective.cc: integrate the new Load Core
	file dialog, update the menu text and accelerators for a couple of the
	actions in the 'File' menu. (loading a core file is now Alt+F -> C).
	* src/DBGPerspective/nmv-run-program-dialog.cc: removed an extra include
	that is no longer needed

2006-09-17  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* svn:ignore: Cleanup.  Ignore a bunch more files
	* src/DBGPerspective/glade/runprogramdialog.glade.bak: I thought I removed
	this last time

2006-09-17  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/DBGPerspective/glade/runprogramdialog.glade: Added new glade dialog
	window from Baptiste Mille-Mathias.  Thanks!  Modified slightly to increase
	width to fit a title.  Also, the environment variables portion of the dialog
	is hidden for now until we add support for setting environment variables.
	* src/DBGPerspective/nmv-dbg-perspective.cc: add "..." at the end of the
	"Execute" menu item to make it more obvious that it will open a dialog
	window instead of immediately perform an action.
	* src/DBGPerspective/nmv-run-program-dialog.cc: integrate new glade file
	* src/DBGPerspective/glade/runprogramdialog.glade.bak: removed
	* src/DBGPerspective/glade/runprogramdialog.gladep.bak: removed

lundi 18 septembre 2006, 00:17:20 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc: change this to reflect
	  the API change in libgsvmm 0.1.0
	* src/term/nmv-terminal.cc: started to hack up this small vte based
	  terminal called nmvterm.
	  The aim is not to have a full featured terminal but
	  something light so that we can redirect targets' tty to it.
	  I think I will need to code an ITerminal interface responsible
	  to drive this terminal process from inside nemiver. I will
	  also use Gtk::Socket/Plug to make sure nmvterm's widget show up
	  in a widget embedded in a nemiver's debugger perspetive. Nice hacks
	  to come.
	* src/common/nmv-env.h: added NEMIVER_BEGIN_NAMESPACE and
	  NEMIVER_AND_NAMESPACE macros to keep emacs users indentation support
	  happy.
	* configure.ac: check the availability of vte.


dimanche 17 septembre 2006, 14:55:46 (UTC+0200) Dodji Seketeli

	* sed.sh, sed2.sh: remove these from repository.
	* src/dbgengine/nmv-gdb-engine.cc: did a bit of code cleanup.
	* configure.ac: rely on libgtksourceview-1.0, version 0.1.0 now.
	no more gtksourceviewmm-1.0
	* tests/inout.cc: added some logs.

samedi 16 septembre 2006, 19:01:04 (UTC+0200) Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc:
	GDBEngine::Priv::parse_variable_value(): don't throw exeception
	on parsing errors.
	* tests/inout.cc: added this testing material prog to work on
	target input/output handling.

samedi 16 septembre 2006, 14:05:31 (UTC+0200) Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc:
	GDBEngine::Priv::parse_variable_value(): don't forget to parse
	simple variable value as well eg: value="8". We did parse compound
	values only.
	GDBEngine::Priv::parse_stream_record(): replace the leading chars
	"\\n" in stream record by an end-of-line character. Stream records
	are now nicers to print.
	GDBEngine::Priv::parse_result_record(): reflect the change in
	GDBEngine::Priv::parse_variable_value().
	OnStreamRecordHandler::do_handle(): group all the stream records of
	of a given gdb output record and fire just one signal per type of
	record (IDebugger::console_message_signal(),
	IDebugger::target_ouput(), or IDebugger::debugger_log()). In the
	past, I use to fire one signal per stream record.
	* src/DBGPerspective/nmv-vars-editor.cc: now show function arguments
	as well as local variables. Fixing the debugger engine leads
	to correctly showing simple variables as well. Show local variable
	types when the information is available.
	* src/DBGPerspective/nmv-dbg-perspective.cc: add traces to help
	debug the breakpoints setting workflows.
	Make sure that the callstack status notebook tab gets selected by default.
	* src/common/nmv-log-stream.cc,h,nmv-log-stream-utils:
	  Did some code cleanup in here.
	* src/common/nmv-exception.h: prefix the exception log messages by
	 "|X|".


vendredi 15 septembre 2006, 00:00:56 (UTC+0200) Dodji seketeli

	* src/dbgengine/nmv-gdb-engine.cc:
	 GDBEngine::Priv::parse_member_variable(): debugged this to a point
	 that makes it suck much less. It seems like the parsing is quite
	 right. The main problem being that I have to learn what to parse
	 by sending data to gdb and see what comes out <grin/>.
	 GDBEngine::Priv::parse_result_record(): make this parse variable
	 value when needed. Okay, IDebugger know fires a
	 IDebugger::variable_value_signal() as the result of the
	 IDebugger::print_variable_value() now. YAY !
	* src/DBGPerspective/nmv-vars-editor.cc: make this show the local
	variables. Basically, when we get the list of local variables, loop
	over that list and call IDebugger::print_variable_value() for each.
	These calls further results in a bunch of events
	IDebugger::variable_value_signal(), feeding us with the complete
	description of the variable. We just show that complete list.

	This entry basically shows the local variables in each frame \o/ .
	It still need some polish though, but the basics are in the box.

jeudi 14 septembre 2006, 01:59:07 (UTC+0200) Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: fought hard to parse gdbmi variable
	  value (result of -data-evaluate-expression). I still have to debug
	  the result of the parsing and make sure it is correct.
	  At this point, nothing is visible yet.
	* src/DBGPerspective/nmv-vars-editor.cc: started to prepare the code
	  here for when we get IDebugger::Variable with full info from
	  IDebugger. We are not there yet.

mardi 12 septembre 2006, 23:12:47 (UTC+0200) Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc: debug the parsing of local
	variables.
	* src/DBGPerspective/nmv-vars-editor.cc,h: went forward on the variable
	editor. It can now show variables, but not their attributes.
	* src/DBGPerspective/nmv-dbg-perspective.cc: show the variable editor
	in the notebook.

lundi 11 septembre 2006, 00:10:04 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-vars-editor.cc,h: added this.
	Started to hack on the variable editor. I am still far far in the
	limbos.
	* short-term-todo-list.txt: updated the todo list.

dimanche 10 septembre 2006, 00:53:26 (UTC+0200) Dodji Seketeli

	* src/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h:
	 add a IDebugger::currenf_frame_signal() emitted when the user
	 loads a core file. This indicates the number of the frame where
	 the signal occured, which is basically zero. I added this signal
	 for debugging purposes, because working on it helped me iron out
	 lots of glitches here and there. Parse what gdbs throws out when we
	 load a core file.
	 Add a IDebugger::load_core_file() entry point. The says it all.
	 * src/DBGPerspective/menus/menus.xml,
	 src/DBGPerspective/nmv-dbg-perspective.cc:added "load core" menu
	 entries/actions. Today, the user is asked twice to load a file.
	 Once to load a core file, and the other time to load a program
	 image. We should come up with a nice widget that shows the two
	 step at the same place so that the user has a better experience
	 in this process.
	 * src/common/nmv-log-stream.cc: add support for the environement
	 variable nmv_log_domain="domain" to set up domain filters for
	 logging. Oh, I have also added the wildcard 'all' domain.
	 Setting nmv_log_domain=all pulls *all* the logs from all the domains.
	 Beware, that *is* verbose.
	 * tests/Makefile.am, tests/test-core.cc: added a test to load
	 core files. To run it, do ./runtestcore <prog> <core>
	 * tests/do-core.cc: added this crasher which sole job is to dump
	 a core that can be used later by runtestcore.

2006-09-09  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* autogen.sh: use gnome-autogen.sh from gnome-common instead of maintaining
	a separate autogen.sh script
	* depcomp, install-sh, missing: remove automake-generated files

samedi 9 septembre 2006, 11:32:36 (UTC+0200) Dodji Seketeli

	* src/dbgengine: moved src/DBGPerspective/dbgengine over here.
	Now, the dbgengine dynmod is "independant" from the the Debugger
	graphical perspective. One can use it from outside that perspective.
	See the test/test-breakpoing.cc test as an example.
	To run that test, do cd tests ; ./runtestbreakpoint .libs/fooprog .
	* src/dbgengine/nmv-gdb-engine.cc: do a bit of cleanup. Wire the
	IDebugger::program_finished_signal(). I forgot to wire it in the
	first place.
	* src/dbgengine/nmv-i-debugger.h: Remove the
	IDebugger::Frame::Parameter, as it is no used. Remember, I use
	IDebugger::Variabl instead.
	* src/DBGPerspective/nmv-dbg-perspective.cc: use the
	IDebugger::program_finished_signal() instead of fiddling with
	the IDebugger::stopped_signal() and the "StopReason" field.
	* src/common/nmv-dynamic-module.h: make
	DynamicModule::get_module_loader() public.
	* src/common/nmv-proc-utils.cc,h: make a bit of cleanup.
	* tests/test-breakpoint.cc: make this work properly with the main
	loop. Remove the former sleep(1) hacks. Now this properly works
	with the mainloop. What a beauty.


vendredi 8 septembre 2006, 17:27:33 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc,
	src/common/nmv-proc-utils.cc,h: remove
	* autogen.sh: add autoheader in there.
	 GDBEngine::Priv::launch_program() and
	 GDBEngine::Priv::attach_channel_to_loop_context_as_source(). Put them
	 in nmv-proc-utils.h.


2006-09-07  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* Makefile.am:
	* autogen.sh:
	* configure.ac:
	* nemiver.desktop:
	* nemiver.desktop.in:
	* po/LINGUAS:
	* po/POTFILES.in:
	* src/Makefile.am:
	* src/main.cc: Implement i18n support using intltool, glib-gettext
	* src/workbench/nmv-workbench.cc:
	* src/DBGPerspective/nmv-dbg-perspective.cc:
	* src/DBGPerspective/nmv-proc-list-dialog.cc:
	* src/DBGPerspective/nmv-run-program-dialog.cc: mark a bunch of strings as translatable
	* config.h.in: remove generated file

mercredi 6 septembre 2006, 23:28:32 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc,
	  src/DBGPerspective/dbgengine/nmv-i-debugger.h:
	  don't use the IDebugger::FrameParameter, use IDebugger::Variable
	  instead. Implement the IDebugger::list_local_variables() call.
	  Make it fire the IDebugger::local_variables_listed_signal() event.
	* src/DBGPerspective/nmv-call-stack.cc: update this to use
	  IDebugger::Variable instead of IDebugger::FrameParameter

mercredi 6 septembre 2006, 00:16:00 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc,
	  src/DBGPerspective/dbgengine/nmv-i-debugger.h: started to work
	  the local variables parsing code. Nothing works yet.
	* src/DBGPerspective/nmv-dbg-perspective.cc:  don't add a "\n(gdb)"
	  string each time a string is sent to the command view.

dimanche 3 septembre 2006, 19:27:39 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/menus/menus.xml,
	  src/DBGPerspective/nmv-dbg-perspective.cc: replace the "set/unset"
	  breakpoint menu entries by a single "toggle break" menu entry.
	  I did the same in the contextual menu. I find this more convenient.
	  Also, place the selection cursor at the same line as the
	  "where marker".

	* src/DBGPerspective/nmv-source-editor.cc,h: add some helper code
	  here.

dimanche 3 septembre 2006, 17:59:07 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc,
	  src/DBGPerspective/dbgengine/nmv-i-debugger.h: issue the
	  "info proc" command upon IDebugger::run(), IDebugger::attach()
	  and IDebugger::load_program() so that we can get the PID of the
	  target program being debugged. I have added the signal
	  IDebugger::got_proc_info_signal() to emit that information.
	  Based on that work, added IDebugger::stop() to stop the
	  current program when it is 'running'. Did a bit of cleanup.
	* src/DBGPerspective/menus/menus.xml,
	  src/DBGPerspective/nmv-dbg-perspective.cc:
	  added a "stop" menuitem, wired it to the new IDebugger::stop()
	  function.
	  Prevent a user from attaching to nemiver itself.


samedi 2 septembre 2006, 13:13:12 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc: consider paths as local
	everywhere, not like URIs. No more gnomevfs is involved in handling
	path. I still use gnomevfs (the C api) to detect file mime types.
	I think I need to wrap the gnome_vfs_get_mime_type_for_name() api.
	It doesn't seems to be wrapped atm. This should fix a bug reported
	by Jonathon Jongsma when trying to open files that have paths with
	characters that must be escaped to have a valid URI.

samedi 2 septembre 2006, 03:05:33 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-call-stack.cc: emit the
	  CallStack::frame_selection_signal() when the user selects a
	  frame. Select the frame 0 by default when a new call stack is
	  set.
	* src/DBGPerspective/nmv-dbg-perspective.cc: move the where marker
	  when the CallStack::frame_selection_signal() is fired, no more
	  when the IDebugger::debugger_stopped_signal() is fired.

jeudi 31 août 2006, 21:14:37 (UTC+0200) Dodji Seketeli

	* src/common/nmv-safe-ptr.h: removed the cast operator to PointerType* .
	  This leads to safer code. I needed to update a lot of files in the
	  entire project to reflect this change.
	* src/DBGPerspective/nmv-throbbler.cc,h: make the throbbler work somehow.
	* src/DBGPerspective/nmv-dbg-perspective.cc: pack the throbbler at the
	  right hand side of the toolbar. Start it when the debugger engine is running,
	  stop it otherwise, woot. Okay, now that the mechanics are in place,
	  we need some much better artwork.
	* src/DBGPerspective/icons/green.png: added this png file show in the
	  throbbler when it is stopped.

mercredi 30 août 2006, 18:06:04 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-call-stack.cc: do not show the arguments values
		in the callstack because it can get very long.
	* src/DBGPerspective/nmv-throbbler.cc,h: started to hack on this. Far from
	  being finished

mercredi 30 août 2006, 00:23:39 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: debug the
	GDBMIList::get_value_content() method so that the frame params parsing
	works better. Add a bunch of logs for further debug, in any case.
	* src/DBGPerspective/nmv-call-stack.cc: add the function parameters
	to the treeview and update them accordingly. Wow, it seems to *work*. Now
	I can go sleep, I am tired.

mardi 29 août 2006, 19:35:39 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: properly emit the
	  IDebugger::frames_params_listed_signal(), yay !.
	* src/DBGPerspective/nmv-call-stack.cc: hook on the
	  IDebugger::frames_params_listed_signal(). The CallStack widget doesn't
	  do anything useful with it yet. Next stop is to display the frames
	  parameters arguments ... cheers.

mardi 29 août 2006, 11:48:05 (UTC+0200) Dodji Seketeli

	* src/common/Makefile.am: add nmv-connection.h and
	  nmv-connection-manager.h  so that we pass make distcheck.
	* Makefile.am, nemiver.desktop: applied a patch from Jonathon Jongsma to
	  add a nemiver.desktop file.

2006-08-28  Jonathon Jongsma  <jonathon.jongsma@gmail.com>

	* src/uicommon/nmv-ui-utils.cc: check to see if an accel key is registered
	for each action and if not, use an overloaded ActionGroup::add() function
	that doesn't set an accelkey.  This way, any menu items that use a
	Gtk::StockID automatically get their standard accel keys registered.  Now
	menu items Open (<control>O), Quit (<control>Q), and Close (<control>W) all
	work correctly
	* src/workbench/nmv-workbench.cc: Add mnemonic for the _File menu (so that
	<alt>F works).

lundi 28 août 2006, 23:42:43 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: debunked the
	gdb/mi list parsing code. It seems to work now. Next stop is to
	emit the proper signal and then to show the function arguments in
	the call stack widget.

lundi 28 août 2006, 20:22:36 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc:
	  spent a lot of time debugging the crash that
	  was occuring during the parsing of GDBMI structures.
	  It was due to GDBMIValue::get_value_content()
	  and GDBMIValue::get_result_content()
	  returning copies of list<> and not references.
	  Thus, writting this:
	  for (iter = gdbmivalue.get_value_conten ().begin () ;
		   iter != gdbmivalue.get_value_content ().end ();
		   ++iter) {
		  //blah
	  }
	  was leading to subtle crashes because
	  iter was looping out of the list
	  bounds, because the two calls to get_value_content()
	  are returning *different* list objects.
	  I must change the signature of that method, for sure.

lundi 28 août 2006, 10:02:48 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: cleanup, more call
	stack parsing. Started to work on frame parameters parsing. Still
	bugged atm.
	* src/DBGPerspective/dbgengine/nmv-i-debugger.h: added
	IDebugger::frames_params_listed_signal(), not plugged yet.
	* src/DBGPerspective/nmv-call-stack.h,cc: the callstack thing starts
	working somehow. The function parameters part still doesn't, though.

dimanche 27 août 2006, 10:17:30 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: more stack trace
	  parsing. Things are getting better and more solid. Still nothing visible
	  yet.
	* src/main.cc: fix the --log-domains option handling.

samedi 26 août 2006, 20:26:14 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: more stack trace
	  parsing. Still does not work.
	* src/DBGPerspective/nmv-sess-mgr.cc: log in default domain here.
	* src/DBGPerspective/nmv-dbg-perspective.cc: applied a patch
	  from Jonathon Jongsma to make the notbook tabs behave like epiphany,
	  i.e, don't eat up all the screen size, but instead allow horizontal
	  scrolling when the number of notebook pages reaches a certain
	  number.
	* ltmain.sh,aclocal.m4: remove generated files from repository.

samedi 26 août 2006, 17:48:32 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: more stack trace
	  parsing work. Nothing works yet.
	* src/common/nmv-i-connection-driver.h,
	  src/common/nmv-connection.cc,h,
	  src/dbdimpl/sqlite/nmv-sqlite-cnx-drv.cc,h: long int and int64 are
	  the same on amd64 ...


samedi 26 août 2006, 15:01:16 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc,
	  src/DBGPerspective/nmv-dbg-perspective.cc :
	  updated this code to use the domain aware
	  logging feature that's newly available
	  in src/common/nmv-log-stream-utils.h.
	* src/common/nmv-log-stream.cc,h,
	  src/common/nmv-scope-logger.h: add a working support for
	  logging domain. Basically, one can trigger/disable logging by
	  associating a set a logs to a domain name. Enabling/diabling a
	  log domain then causes all the logs associated to that logging domain
	  to be enabled/disabled.
	* src/main.cc: one can now do nemiver --log-domains "foo bar" to
	  enable logging for the domains foo and bar.

vendredi 25 août 2006, 19:06:34 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: more debugging of the
	  GDB/MI variable=value parsing code.

vendredi 25 août 2006, 10:38:44 (UTC+0200) Dodji Seketeli

	* src/workbench/Makefile.am, src/DBGPerspective/dbgengine/Makefile.am,
	  src/DBGPerspective/Makefile.am, src/dbdimpl/sqlite/Makefile.am:
	  add -module -avoid-version options to
	  this module.
	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: started to work on
	  parsing the generic "variable=value" syntax of GDB/MI. Nothing works
	  yet. This is to build the ground for the callstack management.
	* src/DBGPerspective/dbgengine/nmv-i-debugger.h: added
	  IDebugger::frame_listed_signal()
	* src/DBGPerspective/nmv-call-stack.cc,h: more work on this. Nothing
	  works yet

vendredi 18 août 2006, 10:03:38 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc,
	  src/DBGPerspective/dbgengine/nmv-gdb-engine.cc, :
	  Change the IDebugger api so that it does not export any knowledge
	  of GDB/MI. IDebugger is now a good citizen of the
	  "encapsulation-and-code-against-interface" land. This also
	  simplifies the client code a lot.
	* src/DBGPerspective/nmv-call-stack.cc,h: started to hack on a call
	  stack type. Everything has to be done.
	* src/DBGPerspective/nmv-dbg-perspective.cc: reflect the changes in
	  the IDebugger API in here.

jeudi 17 août 2006, 17:05:35 (UTC+0200) Dodji Seketeli

	* src/workbench/nmv-workbench.cc: don't add the same action group twice.
	* src/DBGPerspective/nmv-dbg-perspective.cc: make the command, error and
	  target output scroll. Debunk the beast a bit.



mercredi 16 août 2006, 13:43:22 (UTC+0200) Dodji Seketeli

	* src/workbench/nmv-workbench.cc: cleanup the actions and ui_manager init code.
	* src/DBGPerspective/nmv-dbg-perspective.cc: properly menu accelerators.
	* src/uicommon/nmv-ui-utils.h,cc: add support for accelerators.


mercredi 16 août 2006, 11:08:22 (UTC+0200) Dodji Seketeli

	* src/uicommon/nmv-ui-utils.h: change the api of ui_utils::ActionEntry
	    to support the creation of ActionToggle objects, as well as Action
	    objects.
	* src/workbench/nmv-workbench.cc: reflect the change of
	    ui_utils::ActionEntry api.
	* src/DBGPerspective/nmv-dbg-perspective.cc: support showing/hidding
	    the command, errors and target output views. This is not well tested
	    yet. I know need to make these views scroll <grin/>.


dimanche 13 août 2006, 11:07:40 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc,
	  src/DBGPerspective/dbgengine/nmv-i-debugger.h	: added an
	  IDebuggger::program_finished_signal() here.
	* src/DBGPerspective/nmv-dbg-perspective.cc: added some keyboard
	  shortcuts to pilot the debugger: F5 (continue), shift-F5 (run),
	  F7 (step into), shift-F7 (step out), F8 (step over). Fix
	  the handling of IDebugger::stopped_signal(), handle the
	  "program-exited" event.
	* src/DBGPerspective/nmv-source-editor.cc,h:
	  added SourceEditor::unset_where_marker() to remove the "where
	  marker" from the source editor.

samedi 12 août 2006, 22:14:31 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc: make this rely on the
	  new IDebugger API only. Remove the knowledge of GDM/MI from here.
	  There are part of this class that are much nicer now.

samedi 12 août 2006, 19:53:35 (UTC+0200) Dodji Seketeli

	* src/workbench/nmv-workbench.cc, nmw-i-workbenc.h: added
	  IWorkbenc::get_properties().
	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc,nmv-i-debugger.h:
	  added a bunch of rather precise signals to reflect the state of the
	  debugger. This is a big step in direction of IDebugger api that
	  does not adhere to anything gdb specific. This will also hopefully
	  help to simplify the client code.
	  Did a bit of cleanup too.  Also make the "attach to process"
	  thing work.
	* src/DBGPerspective/nmv-dbg-perspective.cc: started to wire the
	  this to the new IDebugger signals, to simplify this code. There
	  should not be any knowledge of gdb/mi in this class.


vendredi 11 août 2006, 18:39:06 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: provide the 'attach to
	  process' at this level.
	* src/DBGPerspective/nmv-dbg-perspective.cc: wire the 'attach to process'
	  functionality so that I can debug it. Okay, it highly broken today ...

vendredi 11 août 2006, 00:42:11 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/menus/menus.xml: add a menu item for the attach
	  to a process dialog.
	* src/DBGPerspective/nmv-proc-list-dialog.cc,h: went forward on this.
	* src/DBGPerspective/nmv-dbg-perspective.cc: wired the "attach to
	  process dialog" so that we can test it.

jeudi 10 août 2006, 17:58:37 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-proc-list-dialog.cc,h:  more work on this.
	Nothing works yet.

mercredi 9 août 2006, 18:37:32 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-proc-list-dialog.cc,h: started to work on the
	proc list dialog. Nothing works for now.


mercredi 9 août 2006, 15:19:45 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-proc-mgr.cc,h: more work on the libgtop
	  wrapper.

mardi 8 août 2006, 22:29:16 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-proc-mgr.cc,h: added this small class to
	  show the list of running processes. Not tested yet.

lundi 7 août 2006, 23:25:11 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-sess-mgr.cc,h: implemented
	SessMgr::delete_sessions() and SessMgr::delete_session() with default
	transaction.
	* src/main.cc: implemented the --purgesssions and --executesession
	options.

dimanche 6 août 2006, 20:35:48 (UTC+0200) Dodji Seketeli

	* src/workbench/nmv-workbench.cc: hide the main window by default.
	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: fix a long standing
	  annoying assert.
	* src/DBGPerspective/nmv-sess-mgr.cc,h: make ISessMgr be a pure
	  interface.
	* src/DBGPerspective/nmv-dbg-perspective.cc: started to support
	  the launching of a recorded session. Nothing works yet.
	* src/main.cc: support the --listsessions option. Next stop is to
	  add a --debugsession <sessionnum> option.

samedi 5 août 2006, 18:34:12 (UTC+0200) Dodji Seketeli

	* src/workbench/nmv-i-perspective.h: added some comments.
	* src/workbench/nmv-workbench.cc: emit the
	IWorkbench::shutting_down_signal() signal at app shutdown.
	* src/DBGPerspective/nmv-sess-mgr.cc,h: went forward in
	  saving/loading/deleting sessions. It seems the saving part works
	  somehow. I haven't really tested it though.
	* src/DBGPerspective/nmv-dbg-perspective.cc: save the session
	  at workshop shutdown time. I haven't coded anything to reload
	  the sessions yet.
	* src/common/nmv-tools.cc:
	  (execute_sql_command_file): check the presence of the sql script
	  file before opening it.
	* src/common/nmv-date-utils.h: properly export the functions here.

vendredi 4 août 2006, 18:39:23 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-sess-mgr.cc,h,
	  src/DBGPerspective/sqlscripts/sqlite/create-tables.sql:
	  more work on the debugger session
	  manager. Nothing works yet though.

jeudi 3 août 2006, 23:51:55 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc:
	(DBGPerpective::append_source_editor): fix a typo: don't use
	 Gnome::Vfs::Uri::to_string(), but rather Gnome::Vfs::Uri::get_path()
	everywhere. This should fix some annoying bugs.

jeudi 3 août 2006, 23:46:30 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc: properly close
	the right source editor when asked.

jeudi 3 août 2006, 23:21:04 (UTC+0200) Dodji Seketeli

	* src/*lot-of-files*: started to work on a session manager.
	  also, tried to make the nmv-dbg-perspective.cc code more robust.
	  Don't emit the "debugger-not-ready' signal after we send the
	  "break" command to gdb.

mardi 1 août 2006, 19:12:56 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc: okay, I think I understood
	  the cause of the previous crash ==> intialize
	  DBGPerspective::Priv::contextual_menu .

mardi 1 août 2006, 18:51:29 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc: better handling of the editor
	 state. Don't dynamic_cast in DBGPerspective::popup_source_view_contextual_menu(),
	 because some users reported a crash a that point (weird).
	* src/DBGPerspective/nmv-source-editor.cc: code cleanup. Set the source
	 editor in the view only state.

mardi 1 août 2006, 14:09:17 (UTC+0200) Dodji Seketeli

	* src/common/nmv-ustring.cc: (UString::join): fix a crasher.
	* src/main.cc: more command line option work. Seems like we can now launch
	  the debugger via the command line now.

mardi 1 août 2006, 10:20:00 (UTC+0200) Dodji Seketeli

	* src/main.cc,src/common/nmv-ustring.cc,h,src/DBGPerspective/nmv-dbg-perspective.h,cc:
	  more work on the command line handling.

lundi 31 juillet 2006, 08:47:18 (UTC+0200) Dodji Seketeli

	* src/main.cc: started to work on command line options to launch the
	 debugger

dimanche 30 juillet 2006, 18:18:57 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc: fix handling of
	  breakpoint listing.
	* src/DBGPerspective/nmv-source-editor.cc: don't set breakpoint
	  markers more than once per line.
	* src/common/nmv-ustring.cc: fix the UString::chomp() function.

vendredi 28 juillet 2006, 18:10:42 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: added
	 GDBEngine::delete_breakpoint() to delete breakpoints by bkpoint number.
	* src/DBGPerspective/nmv-dbg-perspective.cc: started to work on breakpoint
		deletion capabilities, via the contextual menu.

mardi 25 juillet 2006, 23:42:41 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc:
	 Build contextual menu when right clicking in a sourceview.
	 I still have to code the unset break point action handler.
	* src/DBGPerspective/nmv-source-editor.cc:  override the
	on_button_press_event() virtual method so that we can work around
	the hard coded contextual menu of gtksourceview.

mardi 25 juillet 2006, 18:54:36 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: 
	  (GDBEngine::Priv::parse_breakpoint): parse full file name and breakpoint
	   line.
	* src/DBGPerspective/nmv-dbg-perspective.cc: set breakpoints, visually.

mardi 25 juillet 2006, 07:40:09 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: better
	  handling of commands flow control. IDebugger::queue_command()
	  won't issue a command until the preceding command triggers
	  a result record back from gdb. IDebugger::execute_command() is
	  now just a wrapper around Idebugger::queue_command. Everybody
	  now has to use IDebugger::queue_comand().
	* src/DBGPerspective/nmv-dbg-perspective.cc: started to
	  cache a list of breakpoints. The list gets updated gradually.
	  I can now use this list to display the breakpoints visually.
	* src/common/nmv-ustring.cc,h: Added UString::chomp() to trim
	  white spaces at the begining and at the end of the strings.

mardi 11 juillet 2006, 17:51:08 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: added the step out
	 action.
	* src/DBGPerspective/dbgengine/nmv-i-debugger.h: added the step out
	 method.
	* src/common/*.(cc|h): seded some copyright information

mardi 11 juillet 2006, 16:27:55 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc: wire the menu actions
	 with what they have to do, make sure the command, prog outpout and
	 error view scroll to end properly.

lundi 10 juillet 2006, 02:42:49 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc:
	add IDebugger::queue_command( . It basically queues a command
	that will be executed only after the previous command has been
	executed.
	To execute a command directly (without waiting for any other command),
	use IDebugger::execute_command().
	* src/DBGPerspective/nmv-dbg-perspective.cc:
	(DBGPerspective::execute_program): by default, break in main and
	run the program. In a near future, one should be able to deactivate
	this by a checkbox in the "execute program" dialog.

lundi 10 juillet 2006, 01:01:11 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: add more parsing
	 function error logs.
	* src/DBGPerspective/nmv-dbg-perspective.cc: first version to
	move the "where" marker when the debugger sends 'stopped' out of band
	record. This works somehow, but I think the Gtk::TextView::scroll_to()
	should be called in a g_idle_add(). This only works when typing
	gdb/mi commands by hands in the command view.
	* src/DBGPerspective/nmv-source-editor.cc: first version of the
	infrastructure to show the "where" marker in the source.


vendredi 7 juillet 2006, 18:10:31 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: better handling of the
	  debugger answer.

jeudi 6 juillet 2006, 13:39:42 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc:
	(GDBEngine::Priv::on_gdb_stdout_has_data_signal): fix the condition to
	 detect that a gdb output chunk is complete. This should be more robust
	 now.
	* src/DBGPerspective/nmv-dbg-perspective.cc: 
	 (DBGPerspective::on_insert_in_command_view_signal): added this method
		to detect that a user typed a gdb command in the command view and send
		the command to gdb.

jeudi 6 juillet 2006, 09:15:47 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-source-editor.cc:
	(SourceEditor::Priv::get_absolute_resource_path): fix this
	(SourceEditor::init): load the breakpoint marker pixbuf

jeudi 6 juillet 2006, 08:37:33 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc:
	(GDBEngine::load_program): fixed loading a program after
	gdb has been launched
	* src/DBGPerspective/nmv-source-editor.cc: get the path to
	 the resources at instanciation time so that we can load things
	 like breakpoint marker pixbufs and the like.
	* src/DBGPerspective/icons/breakpoint-marker.png: added this to
	 repository

lundi 3 juillet 2006, 22:55:07 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: 
	 (GDBEngine::Priv::launch_gdb): the target arguments have to be
	 set using the "set args" command.
	 (GDBEngine::Priv::on_gdb_master_pty_has_data_signal),
	 (GDBEngine::Priv::on_gdb_stdout_has_data_signal): advertise a
	 a gdb output record only if the "(gdb)" string is found in the
	 buffer we get from gdb. Otherwise, wait for the next string chunk

	 Also, add debugging to lot of the parsing routines.
	* src/DBGPerspective/nmv-dbg-perspective.cc:
	add a "debugger_ready_signal() and use it to set the debugger
	ready dependant actions (un)sensitive.

dimanche 2 juillet 2006, 19:29:19 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-i-debugger.h: fixed some doc
	* src/DBGPerspective/nmv-dbg-perspective.cc: start throwing the
	  the debugger stream record at the different text views of the status
	  window
	* src/DBGPerspective/glade/bodycontainer.glade: update the status
	  window

samedi 1 juillet 2006, 14:28:58 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc: made various fixes
	  to make this work with the main loop. Do not necessarily run the
	  main loop each time a command is issued.
	* src/DBGPerspective/dbgengine/nmv-i-debugger.h: make it optional
	  to run the event loop after issuing a command
	* src/DBGPerspective/nmv-dbg-perspective.cc: started to wire the
	  'execute program' action.
	* src/DBGPerspective/nmv-run-program-dialog.cc,h: started to code
	  the run program dialog.
	* src/common/nmv-ustring.cc,h: added the UString::split() method.

vendredi 23 juin 2006, 00:38:59 (UTC+0200) Dodji Seketeli

	* */Makefile.in: remove these files from svn.
	* configure: removed this file from svn:
	* src/dbgengine: moved this in src/DBGPerspective . The dbgengine
	  is now part of the DBGPerspective plugin.
	* src/DBGPerspective/dbgengine/nmv-gdb-engine.cc:
	  (GDBEngine::Priv::on_gdb_stdout_signal): fixed a crash due to
	  a bad usage of iterators.
	* tests/test-breakpoint.cc: updated this to reflect the move
	  of the dbgenginein the DBGPerspective.

samedi 17 juin 2006, 17:10:32 (UTC+0200) Dodji Seketeli
	* Initial code. Make sure the plugin system in place.

