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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 2006, 15:19:45 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-proc-mgr.cc,h: more work on the libgtop
	  wrapper.

mardi 8 aot 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 aot 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 aot 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 aot 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 aot 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 aot 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 aot 2006, 23:46:30 (UTC+0200) Dodji Seketeli

	* src/DBGPerspective/nmv-dbg-perspective.cc: properly close
	the right source editor when asked.

jeudi 3 aot 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 aot 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 aot 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 aot 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 aot 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.

