2000-11-06 Fernando Nasser <fnasser@cygnus.com> * interface.tcl (show_warning): Add missing argument to ide_messageBox and add comments explaining why we use it for windows. 2000-11-01 Larry Smith <lsmith@redhat.com> * console.itb (_build_win): Added code to remove horizontal scrollbar by setting -hscrollmode none, which enables the console widget to wrap text properly. * globalpref.itb (build_win): added checkbutton to enable wrapping text in the console window. 2000-10-31 Larry Smith <lsmith@redhat.com> * targetselection.ith (run_method): Add variable for "Run Program" and "Continue..." buttons * targetselection.itb (build_win): put "Run Program" and "Continue From..." buttons into a frame and save them in new run_method variable. * change targetselection.itb (change_target) disables "Run Program" and "Continue..." buttons when the target is "exec", enables them for all others. 2000-10-26 Larry Smith <lsmith@redhat.com> * targetselection.itb: Run Program and Continue From Last Stop are now radio buttons rather than checkbuttons 2000-10-26 Mo DeJong <mdejong@redhat.com> * attachdlg.itb (list_pids): Use "ps axw" to get pid list when running under Linux. Use string match instead of regexp match is ps filter entry. * attachdlg.ith (list_pids): Change default argument to "*". 2000-10-23 Fernando Nasser <fnasser@cygnus.com> * util.tcl (find_iwidgets_library): Use the directories that were actually searched in the error message. 2000-10-13 Fernando Nasser <fnasser@cygnus.com> With Steven Johnson <sbjohnson@ozemail.com.au> This change fixes part of the possible scenarios where a race condition would cause core dumps if there were commands changing registers or other target resources in a startup script. The remaining scenarios are fixed by a patch to generic/gdbtk-hooks.c * interface.tcl (gdbtk_update_safe): New function. Like gdbtk_update but does nothing if target is running. (gdbtk_register_changed): Call the above safe version. (gdbtk_memory_changed): Likewise. 2000-10-11 Fernando Nasser <fnasser@cygnus.com> * srctextwin.itb (build_popups): Fix typos that caused duplicate "Jump to Here" menu entries in the breakpoint-set right-click pop-up menu. 2000-10-04 Fernando Nasser <fnasser@totem.to.cygnus.com> * download.itb (download_it): Fix previous changes for non-windows hosts. * srctextwin.itb (LoadFromCache): Ditto. 2000-10-04 Fernando Nasser <fnasser@totem.to.cygnus.com> * download.itb (download_it): Convert filename to native before passing it to a Tcl command. * srctextwin.itb (_mtime_changed): Ditto. (LoadFromCache): Ditto. 2000-09-18 Fernando Nasser <fnasser@cygnus.com> * watch.tcl (build_win): Use code when setting callback. 2000-08-10 Fernando Nasser <fnasser@cygnus.com> * targetselection.itb (change_baud): Fix typo (ETH, not ETX). 2000-08-10 Fernando Nasser <fnasser@cygnus.com> * targetselection.itb (init_target_db): Add 115200 baud option to target remote. 2000-08-10 Fernando Nasser <fnasser@cygnus.com> * targetselection.itb (change_baud): Don't set baud for ETX. 2000-08-10 Fernando Nasser <fnasser@cygnus.com> * srctextwin.itb (jump_to_here): New method. Implements the "Jump to Here" popup menu option. (build_popups): Add the "Jump to Here" option to the popup menu. * srctextwin.ith: Add declaration of jump_to_here(). 2000-08-09 Fernando Nasser <fnasser@cygnus.com> * srctextwin.itb (FillSource): Add comments. 2000-08-08 Fernando Nasser <fnasser@cygnus.com> * srctextwin.itb (LoadFromCache): Do not cache if cannot stat the file. This lead to problems trying to access a incomplete cache entry later. 2000-06-06 Fernando Nasser <fnasser@cygnus.com> * util.tcl (find_iwidgets_library): Add missing global declaration which caused a stack trace instead of the proper error message. 2000-05-04 Fernando Nasser <fnasser@cygnus.com> * regwin.itb (build_win, update): Safer test for editable. 2000-05-01 Fernando Nasser <fnasser@cygnus.com> * variables.tcl (edit): Make changes to a variable which is a register to be reflected on the register window by running the update hook. 2000-05-01 Fernando Nasser <fnasser@cygnus.com> * regwin.itb (build_win): Adjust size of columns independently, force typed registers to raw mode and check if values can be edited. Also, add "Add to Watch" option to the menu. (update): Similar changes to similar code. (init_reg_display_vars): Initialize new variables used above. (reg_select): Deactivate menu options when action is not possible. (but3): Ditto. (edit): Do not edit if it is not editable. (acceptEdit): Fix bug is error message box display. (addToWatch): New mwthod. Add a register to the Watch window. * regwin.ith: Add addToWatch to the class. * tclIndex: Regenerate. 2000-04-27 James Ingham <jingham@leda.cygnus.com> These changes allow Insight to handle the case where there are symbols for the source files, but the source files are not in the location pointed to by the symbol. * srctextwin.itb (SrcTextWin::setTabs): Make the "asm" type for the source display "S" not "", which is not very clear. (SrcTextWin::configWin): ditto. (SrcTextWin::FillAssembly): Handle all return values from LoadFromCache. * (SrcTextWin::LoadFile): Handle "couldn't find file" return from LoadFromCache. * (SrcTextWin::LoadFromCache): If the source file could not be found, return -1 rather than choking. Also change "asm" type for source from "" to "S". * srctextwin.ith: Change the defaults for the "asm" type from "" to "S" for Source display. This is just cosmetic, but clearer. 2000-04-13 Tom Tromey <tromey@cygnus.com> * console.itb (Console::_complete): Dequoted first argument to switch. Window name is `$_twin', not `_twin'. 2000-04-10 Tom Tromey <tromey@cygnus.com> * srctextwin.itb (SrcTextWin::build_popups): Don't set actibe background on popup menu item. 2000-04-08 Tom Tromey <tromey@cygnus.com> * console.itb (Console::_build_win): Make Control-a, Control-u, and Control-w bindings show the insertion point. 2000-04-05 James Ingham <jingham@leda.cygnus.com> * regwin.itb (RegWin::build_win): Enable the "Display all registers" menu at startup if any registers have been removed. (RegWin::save_reg_display_vars): Handle cases where the register set is not contiguous. (RegWin::destructor): Actually save away the removed registers. The latter two are Steve Johnson's change. * regwin.ith (RegWin): Added "all_regs_shown" and "disp_all_menu_item" to handle tracking whether any registers have been removed from the display. 2000-04-03 Steve Johnson <sbjohnson@ozemail.com.au> * regwin.itb (dimensions): Use rows from preference file rather than hard-coding a preference. * prefs.tcl (pref_set_defaults): Add gdb/reg/rows preference. 2000-04-03 James Ingham <jingham@leda.cygnus.com> * util.tcl (find_iwidgets_library): Follow links in determining the location of the executable. 2000-03-30 Fernando Nasser <fnasser@totem.to.cygnus.com> * variables.tcl (edit): Remove call to close, which caused editing of variables to fail. Note: I don't know why we would need to do this here as it seems that the "delete entry" operation will do that. Perhaps this was to account to some old widget bug. But we cannot call close here because it calls UnEdit, which unsets some of the edit state. (open): Make sure to abort any ongoing edit. This was causing problems when someone tried to expand an structure while editing its pointer. 2000-03-28 James Ingham <jingham@leda.cygnus.com> * managedwin.itb (ManagedWin::startup): Open the SrcWin, this does two things, 1) Makes sure that there IS a SrcWin, and 2) brings the first such window to the foreground... 2000-03-28 Jim Blandy <jimb@redhat.com> Handle the fact that there are holes in the register numbering. * regwin.itb (RegWin::init_reg_display_vars): Ask gdb_regnames to provide the register numbers, too; don't just assume that the Nth element is register N. 2000-03-27 James Ingham <jingham@leda.cygnus.com> * interface.tcl (gdbtk_quit): Let the window manager store away the list of active windows before quitting. (gdbtk_tcl_preloop): Open all the windows that were active in the former session. * prefs.tcl (pref_set_defaults): Set the default value of the "gdb/window/active" pref. Stores the list of active windows. * managedwin.itb (ManagedWin::pickle): New method - store away instructions to recreate this window. (ManagedWin::shutdown): New Method - run through the active windows pickling them all. (ManagedWin::startup): Restore all the saved active windows. * managedwin.ith: Declare pickle, shutdown & startup. * tclIndex: regenerate. 2000-03-10 James Ingham <jingham@leda.cygnus.com> * targetselection.ith (get_target_list): Should be a proc, since it does nothing instance-specific. * util.tcl (keep_raised): For some reason raising a window, then deiconifying it is MUCH faster on "e" & WindowMaker under XFree. Go figure. Other WM's don't seem to care, so do it this way... * managedwin.itb (ManagedWin::reveal): Ditto... 2000-03-10 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * srcbar.tcl (do_attach): Just call gdbtk_attach_native. (do_connect): Replace gdbtk_attach_target call with gdbtk_attach_remote call. * interface.tcl (gdbtk_attach_native): Renamed from do_attach method and moved from srcbar.tcl. (gdbtk_attach_remote): New proc. Renamed from gdb_attach_target, to better distinguish from the native version. (run_executable): Change gdbtk_attach_target call into gdbtk_attach_remote. * srctextwin.itb: Add keyboard accelerator for Attach command. * tclIndex: Rebuild. 2000-03-09 Elena Zannoni <ezannoni@kwikemart.cygnus.com> From: James Ingham <jingham@leda.cygnus.com>: * attachdlg.itb (build_win): Pack the dialog better, so that when window is resized components are not hidden. 2000-03-02 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * attachdlg.itb: Give a name to the window. 2000-03-01 James Ingham <jingham@leda.cygnus.com> * interface.tcl (_open_file): The window which had the focus could get deleted by the vwait implicit in the tk_getOpenFile call. So check and make sure it is still around before raising it... 2000-02-23 Keith R Seitz <kseitz@nwlink.com> * srctextwin.ith (_highlightAsmLine): Define new method. * srctextwin.itb (_highlightAsmLine): New method. (FillAssembly, FillMixed): Use _highlightAsmLine to highlight the current assembly line. Fri Feb 4 23:19:03 2000 Andrew Cagney <cagney@b1.cygnus.com> * gdb/gdbtcl2: Directory renamed to gdb/gdbtk/library. 2000-01-12 Fernando Nasser <fnasser@totem.to.cygnus.com> * targetselection.itb (init_target_db): Add the word "serial" to the Angel target to make the distinction clear from the UDP connection. 2000-01-05 Fernando Nasser <fnasser@totem.to.cygnus.com> From Dave Vogel (dave@lightsurf.com): * targetselection.itb (init_target_db, config_dialog): Add support for selecting a target running the Angel monitor (RDI protocol) over an UDP connection. * interface.tcl (set_target_name): Set hostname when target is RDI over UDP (see previous entry). 1999-12-15 Fernando Nasser <fnasser@rtl.cygnus.com> * variables.tcl: UnEdit any fields open to edit before colapsing a tree branch (it was generating a Tcl exception and stack dump). 1999-09-29 James Ingham <jingham@leda.cygnus.com> * prefs.tcl (pref_read): Convert env(HOME) to a win32 path BEFORE handing it to file join, so we won't look for a network drive. 1999-09-23 James Ingham <jingham@leda.cygnus.com> * toolbar.tcl (GDBToolBar): Typo. (new_menu): Changed this to allow menus to be altered as well as added. (menu_exists): New method. (clear_menu): New method. (_load_src_images): Moved here from srcbar.tcl. Added Attach & Detach classes. This is all still kind of ill-factored. (In instance data): Made menu data arrays rather than dynamically constructed variables. * srcwin.itb (SrcWin::set_execution_status): Let gdb print the PC, since Tcl's conversion may not be wide enough. * srctextwin.ith: initialize the Cname variable. * srctextwin.itb (SrcTextWin::location): (SrcTextWin::location): Change address compare to a string compare. These are always both hex in the same format, but on a 64 bit host the conversion would fail. (SrcTextWin::showBalloon): Catch all errors in the balloon help but also report them to the debug window. (SrcTextWin::LoadFromCache): Erase and reload dirty cached windows. * srcbar.tcl (create_run_menu): Add "Attach", "Detach" and "Kill" for native targets. (do_attach): Attach to a native target. (do_detach): Detach from a native target. (do_kill): Kill a native target. * memwin.itb (MemWin::toggle_enabled): Toggle the state of the widget, as well as the color, so people can't edit when the window doesn't contain valid memory. (MemWin::update_address): Set the state to normal if we have loaded valid memory. (MemWin::BadExpr): Set the state to disabled on error. (MemWin::incr_addr): Set the state to normal if a step succeeds. * managedwin.itb (ManagedWin::open_dlg): New function. Preferred function when you know you are opening a dialog. (ManagedWin::_open): new function, contains the common bits of opening windows & dialogs. (ManagedWin::open): Use the _open function. (ManagedWin::_create): Don't use Icon windows with modal dialogs. * interface.tcl (gdbtk_cleanup): Set a shutting_down flag. (gdbtk_tcl_fputs): Restore the fputs hook. This is trivial to do, and ensures that no one will delete the hook behind our backs. (gdbtk_tcl_fputs_error): ditto. (_open_file): Make file parameter optional, and don't query if it is provided. (gdbtk_attached): New function. Called from attach hook. (gdbtk_detached): New function. Called from detach hook. * helpviewer.ith (HtmlViewer): Add the attach dialog to the list of topics. * srcbar.tcl (do_kill): Added the Kill menu item for killing the inferior on native targets. 1999-09-16 James Ingham <jingham@leda.cygnus.com> * prefs.tcl (pref_set_defaults): define the wrap preference for the console window. * console.itb (Console::_paste): Add the "delete selection" semantics so we can use this for all the Paste events. (Console::_delete): New method, centralize delete handling so we can protect against things like delete deleting a selection up in the history region of the window. (Console::_build_win): Change bindings to use _paste & _delete. (Console::_build_win): wrap if told to by the wrap parameter. * console.ith: Declare _delete. 1999-09-16 Stan Shebs <shebs@andros.cygnus.com> * targetselection.itb (TargetSelection::init_target_db): Remove references to D10V target, use only standard remote for D10V. 1999-09-15 James Ingham <jingham@leda.cygnus.com> * console.itb (Console::_paste): Fix another "set foo [catch ...]" idiom. (Console::_build_win): Remove the extraneous posting of the <<Paste>> event in handling B2-Release. Just call _paste. 1999-09-10 James Ingham <jingham@leda.cygnus.com> From Mumit Khan <khan@xraylith.wisc.edu> * prefs.tcl (pref_set_defaults): Add main_names preference. * interface.tcl (gdbtk_locate_main): New proc. (run_executable): Use. * srcwin.itb (SrcWin::_build_win): Use. (SrcWin::location): Likewise. (SrcWin::point_to_main): Likewise. 1999-08-27 James Ingham <jingham@leda.cygnus.com> * srctextwin.itb (SrcTextWin::FillAssembly): Use the new gdb_load_disassembly. (SrcTextWin::FillMixed): Use the new gdb_load_disassembly. * interface.tcl (gdbtk_idle): Call gdbtk_restore_fputs at idle time. This puts the gdbtk_fputs hook back in place, just in case an error left it pointing to null. 1999-08-11 Tom Tromey <tromey@cygnus.com> * kod.itb (KodWin::build_win): Don't use Tix. (Various): Changed as a result of build_win change. (KodWin::destructor): Unset new globals. Also unset kodActivePane. * kod.ith (labh): Removed variable. * kod.ith (set_os): Declare. * kod.itb (KodWin::build_win): Don't use Tix labelled frame widget or Tix paned widget. Removed size boxes from Windows code. (KodWin::constructor): Add `$this set' to gdb_set_hook. (KodWin::destructor): Remove from hook. (KodWin::set_os): New method. * toolbar.tcl (GDBToolBar::destructor): Remove from gdb_set_hook. (GDBToolBar::constructor): Add to gdb_set_hook. (set_hook): New method. (create_view_menu): Don't put kod onto menu. * kod.itb (KodWin::display_object): Don't put `Details' message in label; this messes up resize and doesn't really add anything. * images/kod.gif, images2/kod.gif: Removed. * toolbar.tcl (create_window_buttons): Removed kod button. (add_menu_command): Don't load kod image. * kod.itb: Renamed from kod.tcl. Restructured to follow new itcl conventions. * kod.ith: New file. * toolbar.tcl (create_window_buttons): Use gdb_kod_cmd, not gdb_kod_name. (create_view_menu): Likewise. * interface.tcl (initialize_gdbtk): Don't mention gdb_kod_name. * targetselection.itb (TargetSelection::init_target_db): Added Cisco targets. From Martin Hunt. * kod.tcl (build_win): Use correct capitalization for buttons. 1999-08-10 James Ingham <jingham@leda.cygnus.com> * srctextwin.itb (SrcTextWin::constructor): Add the disassembly flavor hook. (SrcTextWin::disassembly_changed): New method, fix up all the windows when the disassembly flavor changes. (SrcTextWin::_mtime_changed): We were setting the filename:dirty to 1 regardless of the result of the mtime check... Doh! (SrcTextWin::reconfig): The setTabs call was assuming ALL windows were source windows. (SrcTextWin::do_tag_popup): Remove the balloon when the breakpoint popups are posted as well. (SrcTextWin::do_source_popup): Also handle the case where there is a selection, but the point is not over it. * srctextwin.itb (SrcTextWin::destructor): Remove it when the object goes away. * regwin.itb (RegWin::constructor): Add the disassembly_flavor_hook. (RegWin::destructor): Remove it when the widget is destroyed. (RegWin::disassembly_changed): New method, tell the widget it needs to redisplay itself with the new register names. (RegWin::reconfig): Actually do the reconstruction if the register set names have changed. * regwin.ith: Add declarations for the new methods. * interface.tcl (gdbtk_tcl_disassembly_hook): New hook to support changing the disassembly flavor. * srctextwin.itb (SrcTextWin::getVariable): Use a selection in preference to the word around the hit point, if there is one. (SrcTextWin::do_source_popup): Really dismiss the balloon when you popup a menu... 1999-08-05 James Ingham <jingham@leda.cygnus.com> * srctextwin.itb (SrcTextWin::showBalloon): Fix ShowBalloon. We can't use "info line" to tell us whether we should post a balloon over the current line, since gdb only considers the first line of a statement executible, not the continuation lines. Instead, show any line in the currently selected function. Sigh... 1999-08-06 Tom Tromey <tromey@cygnus.com> * interface.tcl (gdb_set_hook): New hook. 1999-08-02 Tom Tromey <tromey@cygnus.com> * managedwin.ith (window_name): Removed extraneous comma. 1999-07-27 Keith Seitz <keiths@cygnus.com> * variables.tcl: Rewrite to use new variable rewrite. * locals.tcl: Ditto. * watch.tcl: Ditto. * srctextwin.itb (updateBalloon): Use new variable rewrite. * blockframe.ith, blockframe.itb: New block and frame classes. * data.ith, data,itb: New stack and queue classes (data structures). * tclIndex: Rebuilt. 1999-07-20 Jason Molenda (jsm@bugshack.cygnus.com) * prefs.tcl (pref_set_defaults): Set tab_size to the univeral standard of 8, not 4. 1999-07-16 Stan Shebs <shebs@andros.cygnus.com> * All files (*.tcl, *.itb, *.ith): Add GPL notices, regularize copyright and header comments. 1999-06-29 James Ingham <jingham@leda.cygnus.com> * bpwin.itb (BpWin::bp_store): New proc, store away the current breakpoint list into a gdb command file. (BpWin::bp_restore): restore a breakpoint list from a command file. (BpWin::build_win): Add menu items for store & restore breakpoints. 1999-06-24 Keith Seitz <keiths@cygnus.com> * srcwin.itb (SrcWin::destructor): Its "gdb_clear_file_hook", not "gdb_clear_file". 1999-06-23 James Ingham <jingham@leda.cygnus.com> * srctextwin.itb (SrcTextWin::_mtime_changed): Catch the call to mtime. This will fail when you are in assembly mode, and the file is actually a function address. (SrcTextWin::motion): Catch the call to showBalloon. There are various things that can go wrong here, and we certainly don't want the user to hear about them. 1999-06-15 Keith Seitz <keiths@cygnus.com> * interface.tcl (gdbtk_stop_idle_callback): Catch calls to remove hook, since it could already be gone if we got a signal. * srcwin.itb (busy): If there is no target and the debugger is native, we should also let the user know that his program is running. 1999-06-11 James Ingham <jingham@leda.cygnus.com> * interface.tcl (gdbtk_tcl_exec_file_display): Only call clear file if there is a file loaded in the source window. This avoids some flashing at startup. 1999-06-10 Keith Seitz <keiths@cygnus.com> * srctextwin.itb (do_source_popup): Clear the varBalloon tag before mapping a popup onto the screen. (showBalloon): The "-pc" option was removed from gdb_variable. Provide equivalent functionality, and display popups again. * interface.tcl (set_target): Don't call the target dialog if there gdb_target_cmd is empty and we are a native debugger. Don't set a default target -- force the gui to ask the first time! (run_executable): Set options after we have a target, not before. * watch.tcl (destructor): Don't call no_inferior -- the window's already been destroyed. Instead, run through our list of variables and delete them. 1999-06-10 James Ingham <jingham@leda.cygnus.com> * srctextwin.itb (SrcTextWin::clear_file): Don't try to set the text view back to the gdbtk_scratch_widget, this is very fragile. (SrcTextWin::LoadFromCache): initialize the mtime correctly when you add a window to the cache. (SrcTextWin::LoadFromCache): don't add the ,asm,lib to the scratch widget pane name. * interface.tcl (gdbtk_tcl_exec_file_display): Only run gdbtk_clear_file if the filename is not null. This avoids source window flashing. * srctextwin.itb (SrcTextWin::_mtime_changed): Set a dirty flag when the mtime has changed so that you can know to reload the source. (SrcTextWin::LoadFromCache): Look at the dirty flag, and reload from disk if it is set. 1999-06-10 Keith Seitz <keiths@cygnus.com> * watch.tcl (clear_file): New method. * variables.tcl (constructor): Register gdb_clear_file hook. (destructor): Unregister gdb_clear_file hook. (clear_file): New method. * targetselection.itb (init_target_db): Add Picobug monitor. (fill_targets): Don't explicitly list every TCP target: deduce it from the target database. (native_debugging): Compare host and target triples. * srcwin.ith (clear_file): Add declaration. * srcwin.itb (constructor): Register gdb_clear_file hook. (destructor): Unregister gdb_clear_file hook. (clear_file): New method. * srctextwin.ith (LoadFile): Add arg "mtime_changed". (clear_file): Add declaration. (_mtime_changed): Add declaration. (_initialize_srctextwin): Add declaration. (_clear_cache): Add declaration. * srctextwin.itb (constructor): Move all initialization to _intialize_srctextwin so that we can easily re-initialize. (Stwc): Change layout to explicitly list panes and mtimes. (ClearTags): Catch calls removing tags. Needed when loading new executables. (_mtime_changed): New method. (FillSource): Immitate command line gdb, checking if a file has changed since it was last used. If it has, load it into the cache. (LoadFile): Add parameter to inform whether a file's mtime has changed. Reload the cache if it has. (clear_file): New method. (_initialize_srctextwin): New method. (_clear_cache): New method. Stubbed. * main.tcl: Move initialization of state to initialize_gdbtk in interface.tcl * interface.tcl (gdbtk_tcl_exec_file_display): Don't reset source windows or globals here -- the clear file hook will do that. (set_exe_name): Always say the exe has changed, in case the user reloads the same exe (which he's recompiled). (set_exe): Don't call gdb_clear_file. (set_target): Return string result codes. (clear_file_hook): New hook. (gdbtk_clear_file): New proc. (initialize_gdbtk): New proc. Moved initialization of globals (yich) here from main.tcl * download.itb (download_it): When running set_target, use new string return codes. * interface.tcl (gdbtk_attach_target): New proc. Moved contents of run_executable dealing with attaching to a target here. (run_executable): Use gdbtk_attach_target. (connect): Remove and merge with gdbtk_attach_target. * srcbar.tcl (do_connect): Use gdbtk_attach_target to attach to the target. * tclIndex: Regenerate. 1999-06-07 James Ingham <jingham@leda.cygnus.com> * memwin.ith (numbytes): Change the default to 0, which means "depends on window size". This is really the useful value. * memwin.itb (MemWin::newsize): Move getting the rheight to AFTER the update idletasks. Otherwise the bbox call will return "" when the window is being constructed. (MemWin::reconfig): Set rheight back to "" to force it to be recomputed. Both font changes and switch to "depends on window size" could invalidate this. 1999-06-08 Keith Seitz <keiths@cygnus.com> * srcwin.itb (set_execution_status): Do not try to second guess gdb_target_has_execution with gdb_running. Make gdb_running follow it. We'll have to fix those targets that do not set inferior_pid as they crawl out of the woodwork. 1999-06-07 James Ingham <jingham@leda.cygnus.com> * prefs.tcl (pref_set_defaults): Set the initial height and with of the browser to 0 so the packer & gridder can get this right on systems with different fonts. Fixes CR 100619. * browserwin.itb (BrowserWin::_build_win): Don't set the height and width of the file_box and func_box. This keeps them from floating correctly when there is not stored default. 1999-06-04 James Ingham <jingham@leda.cygnus.com> * regwin.itb (RegWin::acceptEdit): Call gdbtk_update after changing the register value so that the locals and watch window will get updated if any of these variables are in registers. Fixes CR 100670. 1999-05-25 Keith Seitz <keiths@cygnus.com> * variables.tcl (getLocals): Don't pass any args to gdb_get_{locals, args} so that the currently selected frame is used. (context_switch): New method. * locals.tcl (getVariablesBlankPath): Don't catch call to getLocals. getLocals will do it and return {} if an error occurs. Always pass the frame of the variable to the variable backend, assuming that the selected frame is the proper frame to use. (update): Recognize context switches a little better. * variables.tcl (cursor): New method. (enable_ui): Use "cursor". (disable_ui): Ditto. (no_inferior): Ditto. (open): Change toplevel's cursor when opening variables. 1999-05-03 Martin Hunt <hunt@cygnus.com> * toolbar.tcl (create_help_menu): Open About window as transient. * main.tcl: Open About window as transient. * about.tcl (About): Set window title. 1999-04-27 James Ingham <jingham@cygnus.com> * srcpref.itb (build_win): Pack the frame containing the disassembly flavor chooser. Redid some of the other packing to look a bit nicer too. * srcpref.itb (save): Call apply and then close rather than duplicating the apply code. 1999-04-26 James Ingham <jingham@cygnus.com> * modal.tcl (ModalDialog): Add the "expire" variable, and cancel the dialog after the given time if set. * managedwin.ith (destructor): Use the new quit_if_last method to decide whether to quit the app or not. This way you can manage create a splash screen and not quit the app when you take it down. (quit_if_last): Add default implementation - returns 1. * about.tcl (quit_if_last): Add the quit_if_last to the About box, returning 0. * main.tcl: Added a line to open a splash screen, but commented it out for devo. 1999-04-22 Keith Seitz <keiths@cygnus.com> * targetselection.itb (port_list): ManagedWin has a proc named "open". We really want the tcl command "::open" to open a port. 1999-04-15 Martin Hunt <hunt@cygnus.com> * prefs.tcl (pref_set_defaults): New pref, gdb/use_icons. This is set if Unix should use gdbtk_icon.gif as an icon. Some window managers, such as olvwm, have problems with it. * managedwin.itb (ManagedWin::_create): Don't create icon for Unix, unless gdb/use_icons is set. * globalpref.itb (GlobalPref::build_win): Add a checkbutton to set pref gdb/use_icons. * managedwin.itb (ManagedWin::window_name): If iconname is not specified, use window name. (ManagedWin::_create): For Unix, call make_icon_window. (ManagedWin::make_icon_window): New function. Makes a unix icon. * main.tcl: Set initial target to "exec" if running in test mode. * bpwin.itb (BpWin::constructor): Set icon name to "BPs". * regwin.itb (BpWin::build_win): Set icon name to "Regs". * srcwin.itb (SrcWin::_update_title): Set icon name to basename of filename. * variables.tcl (VariableWin::build_win): Set icon name to "Locals". 1999-04-12 Keith Seitz <keiths@cygnus.com> * variables.tcl (populate): Update the value of the parent variable's children before stuffing them into the window. This makes sure that the value of the variable is always current. 1999-04-09 James Ingham <jingham@cygnus.com> * memwin.itb (MemWin::incr_addr): Fix the increment-decrement control. It would allow you to scroll into negative addresses, which causes some simulators to crash. It would also increment improperly in cases where the address value in hex corresponded to a negative signed int. 1999-04-07 Martin Hunt <hunt@cygnus.com> * interface.tcl (gdbtk_signal): Don't set gdb_running to 0. 1999-04-06 Martin Hunt <hunt@cygnus.com> * targetselection.itb (TargetSelection::getname): Call init_target_db. (TargetSelection::init_target_db): Add target mon2000. Set most remote targets to default to downloading. Add new baudrates for remote target. Other misc target fixes. (save) Use "pref setd" in case pref is not created yet. (TargetSelection::config_dialog): Gray out port number when in exec mode. * targetselection.ith: Add public proc init_target_db. * srcwin.itb (SrcWin::set_execution_status): Don't print anything if gdb_running is 0. * srctextwin.itb (SrcTextWin::motion): Show variable values even when not debugging. Needed so users can examine values after a segfault. * interface.tcl (set_target): If the target name is "", use the default target name. (run_executable): Set gdb_running correctly. Don't allow downloading to "exec". (gdbtk_signal): New function called from gdbtk_annotate_signal. Sets gdb_running to 0 and pops up a dialog with the signal name and description. * main.tcl: Set initial target name to "". Set gdb_target_changed so a dialog will always be forced the first time. * download.itb (Download::download_it): Set gdb_loaded before notifying src windows the download is done. Catch the notifications in case the dialog has been closed. * console.itb (Console::destructor): Set gdbtk_state(console) to "" instead of unsetting it. 1999-04-02 James Ingham <jingham@cygnus.com> * memwin.itb (MemWin::build_win): Remove the -validate option from the memory spinner. It was not appropriate, since you can type expressions into the window. 1999-04-02 Keith Seitz <keiths@cygnus.com> * tclIndex: Rebuilt. * toolbar.tcl (create_control_buttons): Use SrcWin's inferior method to centralize control of inferior state. (create_control_buttons): Ditto. (source): Move SrcBar's public variable "source" here, so that the toolbar can use that info, too. * srcwin.itb (SrcWin::inferior): New public method to consildate inferior control and dispatch to proper handlers. * srcwin.ith (SrcWin::inferior): Add declaration. * srctextwin.itb (SrcTextWin::do_key): Use parent SrcWin's inferior method to handle inferior state changes (run, step, next, etc). * interface.tcl: Add procs to centralize inferior control: gdbtk_step, gdbtk_next, gdbtk_stepi, gdbtk_nexti, gdbtk_run, gdbtk_continue, gdbtk_finish, gdbtk_stop. New stop button code (see comments before gdbtk_stop): (gdbtk_stop_idle_callback): Idle callback for stop button. (gdbtk_detach): New proc to forcibly detach from target. * main.tcl: Initialize data used by stop button. * srcbar.tcl (create_run_menu): Call SrcWin's inferior method with button commands. (source): Move "source" to Toolbar class. 1999-03-29 Keith Seitz <keiths@cygnus.com> * browserwin.itb (BrowserWin::do_all_bp): Fix quoting of break command. (BrowserWin::_toggle_bp): Ditto. 1999-03-19 Keith Seitz <keiths@cygnus.com> * download.itb (Download::download_it): Configure SrcWin's toolbar, too, to a downloading state. * srcbar.tcl (runstop): Change states from numbers to strings to avoid confusion. (_set_runstop): Change states from numbers to strings to avoid confusion. * srcwin.ith (toolbar): New public method. * srcwin.itb: Change all references of runstop to use new strings introduced into GDBSrcBar::_set_runstop. (SrcWin::toolbar): New public method to configure the state of the toolbar. * tclIndex: Regenerate. 1999-03-18 Martin Hunt <hunt@cygnus.com> * interface.tcl (set_target_name): Remove first argument. If prompt is not set, still update gdb_target_cmd. (set_target): Call set_target_name with prompt argument set correctly. (run_executable): Check for no exe name. Catch problems with bad target names and prompt for new one. * main.tcl: Set target name from prefs. If it is "", the set "gdb_target_changed" to force it to be changed later. * prefs.tcl (pref_set_defaults): Don't set target default to "exec". Leave the default unset. * srcbar.tcl (create_menu_items): Update args to set_target_name. 1999-03-18 Keith Seitz <keiths@cygnus.com> * prefs.tcl (pref_read): Change unix preference filename to ".gdbtkinit". This bogosity has been around long enough. 1999-03-16 Martin Hunt <hunt@cygnus.com> * managedwin.itb (ManagedWin::_create): When running under testsuite, don't resize. 1999-03-13 James Ingham <jingham@cygnus.com> * browserwin.itb (BrowserWin::search): If all the files are selected in the file box, then don't pass the files argument. This makes the function browser a little quicker. The main slowdown, however, is sorting the resultant list. Maybe do this in C to get this quicker? * memwin.itb (MemWin::edit): Comment out the line that reads back in the newly set memory value. Because of the chain of calls, on Windows this causes some evil race that results in GDBTk filling all the visible cells with the new value. I don't understand it yet, so this is just a temporary fix. 1999-03-12 James Ingham <jingham@cygnus.com> * memwin.ith (MemWin): Add saved_addr to the class. This is where we store the old address before we change addresses, so that we can get back to a good state in case of errors. * memwin.itb (MemWin::update_addr): gdb_get_mem does not always return an error code when it hits an error. Catch that here. (MemWin::update_address): Store away the old address, so we can restore it if there is an error. (MemWin::BadExpr): Restore the saved address in case of errors. 1999-03-09 James Ingham <jingham@cygnus.com> * Rebuilt tclIndex. 1999-03-08 James Ingham <jingham@cygnus.com> * srctextwin.itb (SrcTextWin::constructor): pc(funcname) was changed to pc(func), but the initialization was not changed... * download.ith (dont_remember_size): Download window should not remember its size. * interface.tcl (connect): Handle the case where set_target returns 3... * debugwin.itb (DebugWinDOpts::build_win): Replace $this delete with delete object $this. * tfind_args.tcl (build_win): Ditto... * helpviewer.itb (HtmlViewer::_buildwin): Ditto... * srcbar.tcl (GDBSrcBar): Reorder the Source & the page setup & print menus... 1999-03-04 Martin Hunt <hunt@cygnus.com> * download.ith: New file. * download.itb: New file. Implements itcl3 class and replaces download.tcl. * srcbar.tcl (create_menu_items): Call create_run_menu without arguments. (create_run_menu): Add Disconnect and Connect to Run menu instead of file menu. Change download_it to Download::download_it. * srctextwin.itb (do_key): Change binding to call Download::download_it. * debugwin.itb (DebugWinDOpts::build_win): Add ProcessWIn to list of classes for filter. * interface.tcl (set_target): No need to set window title. (run_executable): Change download_it to Download::download_it 1999-03-04 James Ingham <jingham@cygnus.com> * modal.tcl (ModalDialog): Handle WM_DELETE_WINDOW by calling the cancel method. Also set unpost_notification to different values in unpost & the destructor, so if the object dies irregularly, you know not to try to double destruct it. 1999-03-03 James Ingham <jingham@cygnus.com> * warning.tcl (WarningDlg::constructor):Destroy with unpost. * util.tcl (get_disassembly_flavor, set_disassembly_flavor, init_disassembly_flavor): Added these functions for the Intel P2 disassembly flavors. (list_element_strcmp): New function for lsort -command on lists. * tracedlg.tcl (TraceDlg): Change combobox callback to reflect new after behavior. * targetselction.itb (TargetSelection::save): If the target is not valid, tell the user rather than simple refusing to go away. Also move stuff around to isolate the instance dependant stuff as much as possible Also replace delete with unpost. * targetselection.ith (TargetSelection): Make as much of the initialization stuff Class functions as possible. Then only initialize it once. * srcwin.ith (_update_title): initialize need_files. * srcwin.itb (SrcWin::_build_win): I changed the combobox so it ran its code in an idle handler, so we can take out all the after idle... cruft here. * srctextwin.ith (SrcTextWin): Added textheight variable so you can adjust the height of the text display. * srctextwin.itb (SrcTextWin::build_win): Don't hardcode the size of the text window, set it with the textheight option instead. Also replace childsite with "component text" wherever required. * srcpref.itb (SrcPref::build_win, set_flavor): Added the Intel disassembly flavor combobox. Added set_flavor method to support this. * srcpref.ith: Added declaration for set_flavor, and disassembly_flavor instance variable. * modal.tcl (ModalDialog::post, unpost): Added unpost method to provide a more regular way to dismiss the dialogs. Just destroying them was leading to funny destruction order bugs. Added cancel method, which is what client code should call to "force close" the dialog, so child classes can override, and do some cleanup. * memwin.itb (MemWin::destructor): Call the cancel method of the Preferences dialog (if it is posted) rather than just destroying it. * mempref.itb (MemPref::ok): call unpost, since this is a modal dialog. * managedwin.itb (ManagedWin::reveal): Used to be called raise. Don't reuse Tcl or Tk commands unless there is a really good reason to... (ManagedWin::destroy_toplevel): renamed from delete, which conflicts both with the Itcl1.5 delete method, and the Itcl3.0 delete command... Also, don't use this as the way to destroy ManagedWins, rather destroy the object and let the object take care of removing its toplevel. (ManagedWin::_create): Group all the windows with . for WindowManagers that properly handle this. (ManagedWin::_create): Use dont_remember_size rather than the instance variable. Also, windows which don't remember size are not necessarily transient. (ManagedWin::_create): Only call post if the ManagedWin also isa ModalDialog. It is clearer what is going on. * managedwin.ith: Carry through the name changes. * main.tcl: call init_disassembly_flavor for Intel assembly flavors. *main.tcl: Group . with . This is half of the work required to play nice with WindowMaker. The other half waits till we can get gdb to pass the command-line arguments to Tcl. * interface.tcl: Add file_changed_hook to the hooks. The browser window watches this and refreshes the file box if it changes. * globalpref.ith (GlobalPref): This should be a modal dialog. * globalpref.itb (GlobalPref::build_win): call update idletasks, not update. Since we are calling update, there is no reason to delay calling resize_font_item_height. * globalpref.itb: Replace destroy toplevel with unpost. * debugwin.itb (DebugWin::build_win): Replace childsite with "component text" * console.itb (Console::_build_win): Replace childsite with "component text" * browserwin.itb: Rewritten pretty completely. * prefs.tcl (pref_set_defaults): add the browser preferences. * prefs.tcl (pref_set_defaults): add the intel disassembly flavor preference. * about.tcl (About): This should be a modal dialog. 1999-03-02 James Ingham <jingham@cygnus.com> * globalpref.itb (GlobalPref::make_font_item): Don't do the resize_font_item_height here, since an update can cause the resize before all the windows are built. Delay to the end of build_win instead. 1999-02-24 James Ingham <jingham@cygnus.com> * toolbar.tcl (remove_button): Specify the row in the toolbar from which you are removing the item. On Windows, there are two rows in the standard toolbar... 1999-02-22 Martin Hunt <hunt@cygnus.com> * warning.tcl (WarningDlg::constructor): Remove extra quote that was causing loading of this module to fail. * managedwin.itb (ManagedWin::_create): If the pack fails (for example because the warning dialog reliazed it should ignore the warning) print a warning debug message and return. Also, while testing, tell the window manager to position the window without asking the user for the position. 1999-02-18 Martin Hunt <hunt@cygnus.com> * srctextwin.itb (SrcTextWin::FillAssembly): As a last resort, if the disassembly fails for some reason, switch to the scratch pane and write in a message about not being able to disassemble. 1999-02-18 Martin Hunt <hunt@cygnus.com> * helpviewer.ith (HtmlViewer): Add thread and function browser windows to help index. * help/index.toc: Removed. 1999-02-18 Martin Hunt <hunt@cygnus.com> * help/thread.html: New file. Thread window online help. * help/index.html: Add thread.html, and alphabetize list. * help/source.html: Add index for thread_bp. 1999-02-17 Martin Hunt <hunt@cygnus.com> * globalpref.itb (GlobalPref::build_win): Add a checkbutton to allow use of an internet browser to read help files. * prefs.tcl (pref_set_defaults): Add preference gdb/help/browser. Default is to use builtin html help. * helpviewer.itb (HtmlViewer::open_help): New public proc. Depending on preferences, opens help in external browser or internal htmlviewer. * toolbar.tcl (create_help_menu): Use HtmlViewer::open_help. 1999-02-17 Martin Hunt <hunt@cygnus.com> * managedwin.itb (ManagedWin::_create): Restore some lines that were accidently checked in commented out. 1999-02-17 Keith Seitz <keiths@cygnus.com> * help/index.html: Add function browser. * help/browser.html: New help file. 1999-02-12 Martin Hunt <hunt@cygnus.com> * managedwin.itb (ManagedWin::_create): If a window class defines a public variable "nosize" the size will not be set, only the position. * browserwin.ith (toggle_all_bp): Add public variable "nosize". 1999-02-12 Martin Hunt <hunt@cygnus.com> * process.ith: New file. * process.itb: New file. Converted process.tcl to new itcl class. * process.tcl: Deleted. * warning.tcl (WarningDlg::constructor): Set the window name. 1999-02-11 Martin Hunt <hunt@cygnus.com> * variables.tcl (editEntry): Check that $variable is not empty. * warning.tcl (WarningDlg::constructor): Put focus on the "OK" button and bind it to <Return>. * watch.tcl (add): If the user attempts to add a non-existent variable to the watch-window, display an ignorable warning. * interface.tcl (gdbtk_tcl_ignorable_warning): -transient should not take an argument. (set_target_name): Ditto. * srcbar.tcl (create_menu_items): Ditto. * memwin.itb (MemWin::create_prefs): Ditto. * managedwin.itb (ManagedWin::_create): Ditto. 1999-02-11 James Ingham <jingham@cygnus.com> Move the Intel disassembly mode changes into devo. * main.tcl: Init the disassembly flavor bits. * prefs.tcl: Define disassembly-flavor * srcpref.ith: Add current_disassembly_flavor instance variable and set_flavor method. * srcpref.itb (build_win): Add the disassembly_flavor combobox. (apply): set the flavor, if applicable. (set_flavor): New method. * util.tcl: Add 3 new functions - get_disassembly_flavor, list_disassembly_flavor and init_disassembly_flavor. 1999-02-10 Martin Hunt <hunt@cygnus.com> * srcwin.itb, download.tcl, main.tcl, srcbar.tcl: Removed old IDE stuff. * toolbar.tcl (create_help_menu): Updated Cygnus URL and removed old IDE stuff. (create_ide_buttons): Removed. 1999-02-10 Martin Hunt <hunt@cygnus.com> * managedwin.itb (ManagedWin::_create): Bind Alt-F4 to always close the window. 1999-02-10 Martin Hunt <hunt@cygnus.com> * main.tcl: Removed old debugging preferences. * prefs.tcl (pref_set_defaults): Ditto. 1999-02-09 Martin Hunt <hunt@cygnus.com> * managedwin.itb (ManagedWin::_create): Simplify raise and post now that all windows use new manager. * warning.tcl (WarningDlg): Rewrite of entire class to use new itcl 3.0 class. Also now uses a "class name" to keep track of which messages should be ignored. Uses tk_messageBox of the message doesn't have -ignorable set. * interface.tcl: Removed IDE stuff. (gdbtk_tcl_ignorable_warning): Accept "class" argument and use it when creating a WarningDlg. Use new ManagedWin::open. * srctextwin.itb (SrcTextWin::set_tp_at_line): Fix TraceDlg open command to use ManagedWin::open. * srcpref.itb (SrcPref::build_win): Comment out line number option. It wasn't very useful and did not become effective until GDBtk was restarted. 1999-02-09 James Ingham <jingham@cygnus.com> * srctextwin.itb (build_win): Set the paned window background to white so it looks better when you switch windows. * mempref.itb (build_win): Use the libgui combobox for the bytes per line field. * mempref.itb: remove some global declarations that I missed when I converted all the variables to instance data. * variables.tcl (change_value): Catch one more place where $this was being passed as a window name. * TODO: Added some more items, and removed some that had been fixed. Mon Feb 8 12:27:16 1999 Keith Seitz <keiths@cygnus.com> * interface.tcl (set_target_name): Fix switch syntax error and getd the options preference in case it's not set. Thu Feb 4 11:55:43 1999 Keith Seitz <keiths@cygnus.com> * targetselection.itb (_init_db): Add MIPS target. (fill_targets): Ditto. Thu Feb 4 07:56:12 1999 Keith Seitz <keiths@cygnus.com> * targetselection.itb: Set "TargetSelection::target_trace" as the correct trace for gdb_loaded. * targetselection.ith: Make "target_trace" a public proc. 1999-02-03 Martin Hunt <hunt@cygnus.com> * help/console.html: Cleaned up and added history and editing commands. * stackwin.itb (StackWin::build_win): Remove balloon help. * console.itb (Console::_search_history): New function. Does a pattern match on history buffer. (Console::_rsearch_history): New function. Does a pattern match on history buffer in the reverse direction. (Console::_build_win): Bind Control-Up, Control-Down, Shift-Up, and Shift-Down to search history instead of mess up the console window. Bind Control-o to break to disable it. * help/stack.html: Cleanup. * help/source.html: Add a bunch of missing quotation marks. 1999-02-03 Martin Hunt <hunt@cygnus.com> * memwin.itb: Change from tixControl widget to iwidgets::spinint. Fix problems with error dialogs. 1999-02-02 Martin Hunt <hunt@cygnus.com> * srctextwin.itb (SrcTextWin::do_source_popup): Even after fixing the obvious syntax errors in this function, it didn't work. So I simplified the logic. Now it will attempt to use whatever is selected. If multiple lines are selected and tracing is enabled, it will set tracepoints, otherwise it will try to extract a variable name from single lines only. * main.tcl: Only open debugwin if GDBTK_DEBUG > 1. * toolbar.tcl (create_view_menu): Only add "Debug WIndow" menu item if GDBTK_DEBUG is set. 1999-02-02 Martin Hunt <hunt@cygnus.com> * browserwin.itb (BrowserWin::_fill_source): Add lib argument from gdb_loc to the call to $Source location. (BrowserWin::_goto_func): Ditto. 1999-02-01 James Ingham <jingham@cygnus.com> * browserwin.itb (BrowserWin::_fill_source): Add a null lib argument to the call to $Source location. 1999-02-01 Martin Hunt <hunt@cygnus.com> * prefs.tcl (pref_save): Change the list of sections back into a list. 1999-02-01 Martin Hunt <hunt@cygnus.com> * srctextwin.itb (SrcTextWin::FillMixed): Simplify line formatting. (SrcTextWin::continue_to_here): Call gdb_set_bp with new type arg. (SrcTextWin::set_bp_at_line): Call gdb_set_bp with new type arg. Use "catch" command and display error if there is one. 1999-02-01 Martin Hunt <hunt@cygnus.com> * srcwin.itb (SrcWin::goto_func): Dont attach filename if there isn't a valid one. Fri Jan 29 20:01:30 1999 Fernando Nasser <fnasser@rtl.cygnus.com> * main.tcl: Restored kod code lost with merge * prefs.tcl: Ditto. * srctextwin.tcl: Ditto. * toolbar.tcl: Ditto * kod.tcl: Adapted to the new branch. 1999-01-28 Martin Hunt <hunt@cygnus.com> * srcwin.itb (SrcWin::_build_win): Only call gdb_loc once. (SrcWin::location): Update linespec for gdb_loc to include the "lib" arg. * srctextwin.itb (SrcTextWin::LoadFromCache): Add "lib" argument. This is used to create a unique cache key so we don't confuse the disassembly of a function in a shared lib with the disassembly of its trampoline. Also updated UnLoadFromCache, LoadFIle, FillSource, FillMixed, and FillAssembly to pass this argument around. * helpviewer.ith (HtmlViewer::constructor): Declare we have a constructor. (PageStack::constructor): Delete this declaration. * helpviewer.itb (HtmlViewer::constructor): initialize args before calling _buildwin * main.tcl: Only open initial debug window if GDBTK_DEBUG is set. * help/debug.html: Add help for GDBTK_DEBUG Wed Jan 27 07:18:05 1999 Keith Seitz <keiths@cygnus.com> * interface.tcl (gdbtk_pc_changed): Removed. (gdbtk_register_changed): New procedure. (gdbtk_memory_changed): New procedure. Mon Dec 21 14:12:14 1998 Keith Seitz <keiths@cygnus.com> * manage.tcl (manage_create): Set window geometry after window is created. * prefs.tcl (pref_save): Save out preferences for memory window, too. Thu Dec 17 08:54:37 1998 Keith Seitz <keiths@cygnus.com> * browser.tcl (fill_source): Strip off any function args which could arise from C++ function names. (search): Be careful of C++ functions with spaces in the name returned from gdb_search. Tue Dec 15 13:24:42 1998 Keith Seitz <keiths@cygnus.com> * prefs.tcl (escape_value, unescape_value): New procs to escape equal signs in preference values. (pref_read): Use unescape_value whenever prefs are read. (pref_save): Use escape_value whenever prefs are saved.. Tue Dec 15 11:07:01 1998 Keith Seitz <keiths@cygnus.com> * process.tcl (build_win): Do not export the listbox's selection as the X selection so that multiple listboxes can have selections highlighted at the same time. * stack.tcl (build_win): Ditto. Mon Dec 14 15:53:38 1998 Keith Seitz <keiths@cygnus.com> * watch.tcl (update): Catch errors to getLocals, which could error if no symbol table is loaded. * locals.tcl (update): Ditto. 1998-11-17 Fernando Nasser <fnasser@totem.to.cygnus.com> * kod.tcl: fix <Double-1> command spec for listbox. 1998-11-13 Martin M. Hunt <hunt@cygnus.com> * srctextwin.tcl (bp): Pass "asm" argument to do_bp. (do_bp): Use asm argument to determine whether to check for multiple bps on the same src line. Remove redundant "if" statement. 1998-11-12 Martin M. Hunt <hunt@cygnus.com> * srctextwin.tcl (do_bp): Fix multiple assembly breakpoints mapping to the same line number. Thu Nov 12 15:20:15 1998 Jim Ingham <jingham@cygnus.com> * console.tcl (complete): I added the ability to pass from_tty from gdb_cmd to the underlying commands. Pass 1 when the command is invoked from the console. * interface.tcl (gdbtk_tcl_tstart, gdbtk_tcl_tstop): Run the src window's do_tstop method rather than manipulating the widgets by hand. * src.tcl (build_win): Redo the packing so that the function combobox doesn't push all the other combo-boxes off the screen if it has a very long function name in it. * srcbar.tcl (do_tstop): Added a mode that just changes the GUI, which can be called from console hooks. * srctextwin.tcl: Fixed some bugs I introduced in setting breakpoints in the assembly & mixed mode windows. Dropped the notion of joint breakpoint images for lines that have breakpoints of two separate types. Too fragile. Also added the "dont_change_appearance" flag, used in the continue_to_here method to tell the GUI not to reflect the temporary disabling of all the breakpoints. * toolbar.tcl (insert_buttons): Added a little more error-checking. Wed Nov 11 08:40:04 1998 Fernando Nasser <fnasser@cygnus.com> * kod.c: adjusted sizes and packing options of widgets 1998-11-10 Fernando Nasser <fnasser@totem.to.cygnus.com> * main.tcl: small fix to the kod code as requested by the maintainers * kod.tcl: use show kod and info <kod cmd> as per spec Mon Nov 9 17:00:45 1998 Fernando Nasser <fnasser@cygnus.com> * kod.tcl: New file that implements the Kernel Object Display window * Makefile: added kod.tcl * main.tcl: test for kod support * manage.tcl (manage_init): support for kod * prefs.tcl (pref_save, pref_set_defaults): ibid * scrtextwin.tcl (config_win, do_key): ibid * toolbar.tcl (_load_images, create_window_buttons, create_view_menu): ibid * tclIndex: regen Mon Nov 9 12:09:48 1998 Michael Snyder <msnyder@cleaver.cygnus.com> * actiondlg.tcl: Customize the stack collect string to collect the FP reg plus 64 words of stack mem. This will work for many targets. As noted in earlier comment, we need a way to configure this to the specific target. Wed Nov 4 12:41:42 1998 Jim Ingham <jingham@cygnus.com> * actiondlg.tcl: Get the stack collect string from an instance variable. Need to implement some way to get this from the target settings... * global_pref.tcl (toggle_tracing_mode): Add & remove hooks when you go in and out of tracing mode. Also reset the B1 behavior when you leave tracing mode * interface.tcl (gdbtk_tcl_trace_find_hook): Added the trace find hook, so you can switch the GUI state when the tfind command is used to enter & leave browse mode. * srcbar.tcl (constructor, destructor trace_find_hook): Added the trace_find_hook to the source toolbar, and added the necessary hooks to handle it. * srctextwin.tcl (trace_find_hook): Added a trace find hook to the sourcebar as well. * stack.tcl (update): protect against errors in gdb_stack. Just return "NO STACK" if we couldn't get it. * src_pref.tcl (constructor, cancel): Put all the saved prefs in an array, on cancel, see if any have changed and only rebuild the window if there have been changes. 1998-11-03 Keith Seitz <keiths@cygnus.com> * target.tcl: Add ice target. (GdbLoadPref): Add "after_attaching" preference. (set_saved): Add "after_attaching" preference. (write_saved): Add "after_attaching" preference. (change_target): Add "after_attaching" preference. (build_win): Add "after_attaching" entry to options frame. * main.tcl (set_target_name): Add ice target. (set_target): If an "after_attaching" preference exists, run it. Mon Nov 2 13:24:10 1998 Jim Ingham <jingham@cygnus.com> * bp.tcl (update): The hook function was passing more arguments than this function expected. Mon Nov 2 11:16:10 1998 Jim Ingham <jingham@cygnus.com> * toolbar.tcl: Added Tdump image. Fri Oct 30 17:36:05 1998 Jim Ingham <jingham@cygnus.com> * src.tcl (set_execution_status): Changed status messages, tracing is not the same as async debugging... Fri Oct 30 17:06:31 1998 Jim Ingham <jingham@cygnus.com> * bp.tcl (bp_all): Only remove tracepoints in the tracepoint window, and breakpoints in the breakpoint window. Fri Oct 30 11:22:23 1998 Jim Ingham <jingham@cygnus.com> * actiondlg.tcl: Added special tag "Collect Stack". This still needs to get hooked into the target database to deal with targets that need to do something special to collect the stack. Also moved some repeated code into loops. * main.tcl (source_file): Source in a file of gdb commands. * srcbar.tcl (constructor): Added source file menu entry, and made stack buttons belong to both the Trace & Control classes. * srctextwin.tcl (constructor): One too many separators in the trace trace popup menu. * tclIndex: regenerated. * tfind_args.tcl: Added "tfind frame" * toolbar.tcl (create_button): Allow a button to belong to more than one class. * toolbar.tcl (enable_ui): Eliminate redundant code, and allow a button to belong to more than one class. * toolbar.tcl (create_trace_menu): Added save tracepoints & Tfind frame menu items. * tracedlg.tcl: Added deletion of actions, and fixed a the whiile-stepping combobox callback for the new combobox. * util.tcl (save_trace_commands): new proc. 1998-10-29 Michael Snyder <msnyder@demo-laptop2.cygnus.com> * target.tcl: add /dev/cua0 for Linux. Tue Oct 27 13:46:03 1998 Jim Ingham <jingham@cygnus.com> * Many little bug fixes all over in order to get tracing to work along with normal program control. * toolbar.tcl: Rewrote much of the code here to put commonly used code into functions, and clean up adding menus and buttons. Added the ability to disable particular menu items, not just whole menus. Added the ability to delete and insert buttons on the fly. * srcbar.tcl: Pushed the changes to toolbar.tcl into this file. * srctextwin.tcl: Changed the code dealing with breakpoints and tracepoints to use the text tags more consistently. Use only one set of menus for the whole widget, rather than having a separate set for the SRC+ASM case. Rewrote a lot of the code to separate out the tracing & program control functions. * interface.tcl (gdbtk_tcl_breakpoint): pass more information to the scrtextwin when a breakpoint changes state, so it can do the right thing without having to guess... * tracedlg.tcl (build_win): get the packing right so the window expands correctly. * main.tcl: do_tstop -> tstop, do_tstart -> tstart to avoid confusion with the methods in ScrBar.tcl. * prefs.tcl: Added two new preferences B1_Behavior to control whether B1 sets breakpoints or tracepoints. * src_prefs.tcl: Put in support for the B1_Behavior. * global_prefs.tcl: Put back tracing checkbox. * tdump.tcl: Fixed an incorrect (1 rather than 1.0) text widget line specification. * tfind_args.tcl (build_win): Bind return in the entry to the OK button. Clear the entry field if the Type has changed. * utils.tcl: Added comments for the debug commands. * watch.tcl (build_win): Flash the OK button before invoking it. Wed Oct 28 16:19:57 1998 Martin M. Hunt <hunt@cygnus.com> * srctextwin.tcl: Changed the _map cache to use the variable Cname instead of the kludgy upvar alias. Mon Oct 26 21:08:54 1998 Martin M. Hunt <hunt@cygnus.com> * srctextwin.tcl (motion): Show breakpoint balloons even when not running. (showBPBalloon): Check for null before displaying. Wed Oct 21 10:05:17 1998 Martin M. Hunt <hunt@cygnus.com> * images/kod.gif: Added temporary kernel object display icon. Wed Oct 14 17:30:07 PDT 1998 Jim Ingham <jingham@cygnus.com> * main.tcl (gdbtk_tcl_preloop): Fixed the code to set gdb_exe_name. I seem to have dropped a variable... * main.tcl (_open_file): Make the open file dialog truely modal on windows. Wed Oct 14 14:29:17 1998 Martin M. Hunt <hunt@cygnus.com> * target.tcl: Change default runlist for remote targets to download. (build_win): Add user-defined list of functions for initial breakpoints. * main.tcl (run_executable): Set user-defined initial breakpoints. * prefs.tcl (pref_set_defaults): Define new prefs gdb/load/bp_at_func and gdb/load/bp_func. These are user-defined initial breakpoints. Sat Oct 10 00:21:44 1998 Martin M. Hunt <hunt@cygnus.com> * help/source.html: Add new images, add description of changes to breakpoints and threads support. Fix typos. * help/memory.html: Cleanup and add new information. * help/breakpoint.html: Reformat. * help/images: Add a bunch of new GIFs. 1998-10-08 Keith Seitz <keiths@cygnus.com> * main.tcl (run_executable): Do not call set_exe here, either. (_open_file): Add some comments about using set_exe here instead of in download_it and run_executable. Do not look for main, either, since the file hooks will take care of that. * interface.tcl (gdbtk_tcl_pre_add_symbol): Do not reset the source windows here -- only show the user what is going on. (gdbtk_tcl_post_add_symbol): Force the source windows' file comboboxes to refill, since adding a symbol file may actually expand the debugger's view of the world. (gdbtk_tcl_file_changed): New hook proc. Called by file_changed_hook in symfile.c, this hook will cause the source window to point to main/entry. gdbtk_tcl_exec_file_display actually sets up gdbtk for this. (gdbtk_tcl_exec_file_display): Renamed from gdbtk_tcl_exec_file_changed for clarity. This hook is called from exec_file_display_hook in exec_file_command. This function sets up gdbtk to use a new executable, including resetting the debugger's state and source window(s). See comments in this file for more information. * download.tcl (download_it): Don't call set_exe here and do not touch state variables gdb_target_changed -- run_executable will do it. (In short, make download_it one step closer to only doing the download!) 1998-10-08 Keith Seitz <keiths@cygnus.com> * variables.tcl (UnEdit): Fix quoting problems so that arrays may be inspected/edited. (edit): Ditto. Wed Oct 7 16:03:00 1998 Martin M. Hunt <hunt@cygnus.com> * srctextwin.tcl (reconfig): Fix bindings. Wed Oct 7 13:07:00 1998 Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_create): Bind ALL source windows Map and Unmap events. (manage_delete): Small optimization. (manage_iconify): When the last source window is iconified, iconify all the support windows too. When any source window is deiconified, deiconify everything. * src.tcl (destructor): Destroy SrcTextWin too. Tue Oct 6 23:00:08 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (set_status): Display only the first line of the message. (build_win): Configure status window to a height of 1. * srcbar.tcl (create_menu_items): Change "Open..." menu item to call _open_file proc. Remove old _open_file method. * main.tcl (run_executable): If the run command fails with a result of "No executable" then call _open_file. (_open_file): New proc. Opens a file requester and sets the executable name to the selected file. * toolbar.tcl (create_menu_items): Add "..." to Source and Global prefs menu item. Mon Oct 5 21:10:30 1998 Jim Ingham <jingham@cygnus.com> * srctextwin.tcl (set_tracepoint): The filename variable changed to current(filename) but this use was not updated. * global_prefs: Added a global preference to turn on the tracing. It only sets the tracing preference, and does not cause gdb to relayout the toolbar yet... * util.tcl: Fixed the comments for the little debug thingie. * util.tcl (auto_step): Added a way to cancel the auto_stepping. This is not currently used, but with this it could be... Mon Oct 5 00:43:11 1998 Martin M. Hunt <hunt@cygnus.com> * srctextwin.tcl (SrcTextWin): Create a threaded image with a color of [pref get gdb/src/thread_fg]. (bind_src_tags): Bind bp_tag <Motion> and <Leave> for balloon help on breakpoints. (config_win): A bunch of binding changes to support balloon help breakpoints and setting multiple BPs on a line. Add menu item for thread specific BPs. (reconfig): Similar changes as above. (register_balloon): Remove. (updateBalloon): Cleanup and don't call register_balloon. (do_bp): When a BP is deleted, call gdb_find_bp_at_line() to see if there are any more BPs at the same line number. Add "thread" BP type. (bp_line): Accept an optional list of thread numbers to set BPs on. Loop through the list setting BPs on each thread. (motion): Accept a window and type argument. Call showBPBalloon in type is not "var". (showBPBalloon): New method.Opens a balloon with breakpoint info in it. (showballoon): Accept window parameter. (ask_thread_bp): New. A thread selector dialog. Opens a scrolled listbox with a list of threads and allows the user to multiselect threads to set BPs on. (do_thread_bp): New callback from ask_thread_bp() listbox. * src_pref.tcl: Replace disabled color selector with thread fg selector. Disabled color should probably always be black anyways. * util.tcl (CygScrolledListbox): Temporary simple scrolled listbox. Replace with a better one soon. * prefs.tcl (pref_set_defaults): Set default for thread fg. * bp.tcl (bp_add): For thread BPs, set the button color correctly. * tclIndex: Rebuilt. Fri Oct 2 17:07:32 1998 Jim Ingham <jingham@cygnus.com> * util.tcl (debug namespace): Added helper functions "trace_var", "remove_trace" & "remove_all_traces" which watch a variable, and dump the stack, and its value when it is touched... They are in the "debug" namespace. *tclIndex: regenerate index. Fri Oct 2 14:02:25 1998 Jim Ingham <jingham@cygnus.com> * main.tcl (gdbtk_tcl_preloop): Catch the error when no file is given on the command line. 1998-10-02 Keith Seitz <keiths@cygnus.com> * srcbar.tcl (_open_file): Call SrcWin::point_to_main. (_set_runstop): Catch the stop in case the user aborts a session. * srctextwin.tcl (destructor): New. Remove all previously added hooks. * src.tcl (point_to_main): New function. I got tired of typing the same five lines over and over again. * main.tcl (set_baud): Target baud preferences are stored as [target name]-baud, not [target name]/baud. (run_executable): Call SrcWin::point_to_main. (gdbtk_tcl_preloop): Call SrcWin::point_to_main. * interface.tcl (gdbtk_tcl_pre_add_symbol): Use "update idletasks", not just "update". (gdbtk_tcl_post_add_symbol): Rewrite to have better behavior for symbol files which have been loaded. Use a small hack to work with gdbtk_tcl_exec_file_changed so that we look for main only when a new executable is loaded. (gdbtk_tcl_exec_file_changed): New proc to do some necessary setup when an exec file changes. * tclIndex: Regenerate. Fri Oct 2 11:40:05 1998 Martin M. Hunt <hunt@cygnus.com> * Makefile (TCL): Add modal.tcl. * tclIndex: Rebuilt. 1998-10-02 Keith Seitz <keiths@cygnus.com> * srcbar.tcl (_set_runstop): Catch the stop in case the user aborts a session. Thu Oct 1 18:58:11 1998 Jim Ingham <jingham@cygnus.com> * main.tcl (gdbtk_tcl_preloop): We were using lindex on the return value from info files, but if the directory had a space in it, then the result was not a proper Tcl list, and so the command would fail. Use regexp instead... Thu Oct 1 17:21:26 1998 Jim Ingham <jingham@cygnus.com> * download.tcl (download_it): One more place where we used "Foundry_Debugger" unconditionally... Stamped out. * main.tcl (set_target): Don't put the "Trying to communicate..." message in the window title, put it in the status area, and remember to remove it when you are done. Wed Sep 30 21:32:39 1998 Jim Ingham <jingham@cygnus.com> * srctextwin.tcl (insertBreakTag): There was a bug in the method of inserting break tags. If a tag of the intended type did not already exist, insertBreakTag would not set it. This method is a little less flexible, but actually works for all our uses. Wed Sep 30 19:42:43 1998 Jim Ingham <jingham@cygnus.com> * src.tcl (set_execution_status): When the program has terminated, most stubs detach. Then we need to set gdb_target_changed here so gdb will know to reattack when you press the Run button. * memory.tcl (update_address): We caught the gdb_eval when you give an address expression, but then only trapped the case where you gave an invalid address or non-existant symbol. Trap all the other errors as well... Wed Sep 30 16:55:53 1998 Martin M. Hunt <hunt@cygnus.com> * bp.tcl: Add optional "thread" column and menu items to turn it on and off. * prefs.tcl (pref_set_defaults): Add gdb/bp/show_threads preference used for toggling the display of the thread column in the BP window. Default is 0 (off). 1998-09-28 Keith Seitz <keiths@cygnus.com> * download.tcl (download_it): Don't download if there is no executable... Mon Sep 28 14:23:39 1998 Jim Ingham <jingham@cygnus.com> * modal.tcl: NEW FILE. Had to fix a bug in the dialogs so I made a sub-class: ModalDialog. The bug was that manage.tcl sets the WM_DELETE_WINDOW handler to be "manage delete" of the window, which is wrong for these windows, they need to unpost themselves first. Override this in the post method. * mem_pref.tcl: Subclass & remove the code that went into the ModalDialog class. * target.tcl: ditto. * tclIndex: regenerate for the new class. Fri Sep 25 19:01:32 1998 Jim Ingham <jingham@cygnus.com> * utils.tcl (freeze): Hacked the freeze method so that it comes closer to working on Windows, but it still flashes. Use a post method, like that im mem_prefs.tcl or target.tcl instead. * mem_pref.tcl (post): Added post method, so you can use the Windows EnableWindow call without sending your app into the background when the dialog is dismissed. * target.tcl (post): Added the same method to this class. Really should subclass these. Will do this when we rework the class hierarchy for Itcl3.0. * memory.tcl (create_prefs): Use the new post method. * main.tcl (set_target_name): Use the post method rather than freeze. 1998-09-25 Keith Seitz <keiths@cygnus.com> * main.tcl (set_baud): Baud rates are saved in gdb/load/target-baud, not gdb/load/target/baud. (set_target): Attempt to silently detach before attaching. * target.tcl: Add gdb_target entries for Angel and ARM Remote protocols. 1998-09-18 Keith Seitz <keiths@cygnus.com> * interface.tcl (gdbtk_tcl_post_add_symbol): Force the source window to 'main'; if that fails, let gdb guess based on stop_pc. 1998-09-04 Keith Seitz <keiths@cygnus.com> * srctextwin.tcl (SrcTextWin::destructor): Define and remove previously installed hooks. * browser.tcl (get_selection): Listbox indices start at zero! Clear the selection if the user clicks below the last visible item in the listbox. Thu Sep 3 16:43:43 1998 Jim Ingham <jingham@leda.cygnus.com> * mem_prefs.tcl: Fixed the size & format radiogroups in the memory preferences so that they match the format options being sent to it by the memory window. Also greyed out the format box when float or double is selected. Also made sure we didn't re-enable any disabled widgets in the idle function. Sun Aug 30 00:40:28 1998 Martin M. Hunt <hunt@cygnus.com> * process.tcl: New file. Implement a process/thread selection and display window. * srctextwin.tcl (do_key): Add entry for thread/process window. (config_win): Bind "Thread List" to Control-H. (FillSource): Fix bug when source is not found. * toolbar.tcl (create_menu_items): Add Thread List to menu * manage.tcl (manage_init): Add process window to managed array. * prefs.tcl (pref_save): Add "process" to window types to save. * Makefile: Add process.tcl * tclIndex: Rebuilt 1998-08-28 Keith Seitz <keiths@cygnus.com> * variables.tcl (edit): Format data so that C arrays are not mistaken for tcl commands. (UnEdit): Ditto. Thu Aug 27 14:13:09 1998 Martin M. Hunt <hunt@cygnus.com> * main.tcl (run_executable): If the target is "sim" then the pref "sim-opts" should be treated as target options instead of command line arguments. Wed Aug 26 00:06:11 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (mode): Set the mode widget using entryset. (build_win): Use default combobox selectbackground. * srctextwin.tcl (FillMixed): Better error handling. (LoadFIle): Stop harrassing users with worthless dialog boxes. * main.tcl (run_executable): Set args when arguments are given in the target dialog. * helpViewer.tcl (insertHtml): Window may have been closed while waiting for HTMLparse, so catch next commands to prevent error message. * images/stack.gif: Use the image from images2 because it looks better. Tue Aug 25 16:09:02 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (build_win): Change fonts on comboboxes to src-font. * global_pref.tcl: Change to new combobox. Tue Aug 25 11:41:43 1998 Martin M. Hunt <hunt@cygnus.com> * srctextwin.tcl (insertBreakTag): Take an index instead of a linenumber. Check for bp_tag and break_tag. (display_breaks): Reset all lines back to break_tag after deleting bp image. Fixes caching bug. (do_bp): Fix up calls to insertBreakTag. Fri Aug 21 12:44:25 1998 Martin M. Hunt <hunt@cygnus.com> * target.tcl (build_win): Remove tix stuff. Set maxheight of comboboxes to 10. Remove all code to count elements in comboboxes because the new one does it for us. (fill_rates): Remove combobox height configure code. (fill_targets): Same. * src.tcl (build_win): Change combobox -height to -maxheight for combobox 1.05. (name, goto_func): Use combobox entryset instead of SetSilent. (SetSilent): Deleted. * srctextwin.tcl (FillSource): Fix change mode call when no source is found. 1998-08-20 Keith Seitz <keiths@cygnus.com> * srctextwin.tcl (print): New method. Moved from src.tcl. * srcbar.tcl (create_menu_items): Add page setup for non-ide again.. * src.tcl (build_win): Fix balloon help for new comboboxes. (print): Move guts to srctextwin and invoke that method. * target.tcl: Remove protected variable tcpmode. Add "options" member for sim and exec targets. For sim, this is options to pass to the simulator; for exec, command line arguments. (build_win): Replace tix comboboxes with one from libgui. (set_saved): Add target-options when appropriate. (write_saved): Add target-options when appropriate. (fill_rates): Modify to work with new combobox. (fill_targets): Modify to work with new combobox. (config_dialog): New method which maps/unmaps/relabels comboboxes and entries for each target. (change_target): Remove all code pertaining to mapping/unmapping/relabeling comboboxes and entries and call config_dialog instead. (change_baud): Remove all code pertaining to mapping/unmapping/relabeling comboboxes and entries and call config_dialog instead. * console.tcl (Console): Add key binding for TAB completion. (find_lcp): New helper method for find_completion. (find_completion): New helper method for complete. (complete): New method (bound to tab key) which computes the completion of the current command line. (reset_tab): New method to reset the tab completion whenever a key is pressed (forces complete to recompute the completions instead of printing out the last list of completions). 1998-08-18 Keith Seitz <keiths@cygnus.com> * stack.tcl (update): Use new built-in command gdb_stack for backtraces. Use the global gdb_selected_frame_level to figure out which line in the listbox should be highlighted. ALWAYS highlight the selected frame. Put a fencepost arount update so that we can prevent it from being called twice when change_frame is used. (change_frame): Protect call to gdbtk_update so that this object is not updated twice. * srctextwin.tcl (config_win): Copy the properties of the selection tag into a new "search" tag that will be used by the search widget. (search): Use the defined "search" tag to highlight found text. Remove all search-tagged text from the window when an empty expression is entered. Mon Aug 17 14:27:54 1998 Martin M. Hunt <hunt@cygnus.com> * main.tcl (do_tstop): Require combobox package. * src.tcl (build_win): Use new combobox. (name): Changes for new combobox. (goto_func): Changes for new combobox. (FillNameCB): Changes for new combobox. (FillFuncCB): Changes for new combobox. (SetSilent): New method, like tixSetSilent. (mode): Changes for new combobox. (set_name): Changes for new combobox. (reset): Changes for new combobox. * srctextwin.tcl (FillSource): Call parent's mode method when mode is changed to assembly. (location): Call display_breaks only if flag is set. (LoadFIle, FillAssembly, FillMixed): Set display_breaks flag. (display_breaks): Set all breakpoints in a single pass. (insertBreakTag): Check $stop before trying to remove tag. Mon Jul 27 12:35:31 1998 Martin M. Hunt <hunt@cygnus.com> * interface.tcl (gdbtk_tcl_tracepoint): Make function match C implementation by adding pass_count. Sat Jul 25 22:40:49 1998 Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_init): Change "loadpref" to "targetsel" and change class name to TargetSelection. This avoids confusion with the IDE GdbLoadPref class. * target.tcl (TargetSelection): Change class name. * main.tcl (set_target_name): Change "loadpref" to" targetsel" Fri Jul 24 14:37:49 1998 Keith Seitz <keiths@cygnus.com> * util.tcl (bp_exists): New procedure. * srctextwin.tcl (SrcTextWin::constructor): Add public vars "parent" and "ignore_var_balloons" and initialize accordingly. (config_win): Add binding for browser. Add binding for up/down arrows to scroll more naturally. (do_key): Add browser entry. * browser.tcl: Add srctextwin into browser. * prefs.tcl (pref_set_defaults): Add new preferences for the func browser. * tclIndex: Regenerate. Fri Jul 24 00:53:28 1998 Martin M. Hunt <hunt@cygnus.com> * srctextwin.tcl (SrcTextWin): Initialize LineNums. (setTabs): Set tabs correctly when in assembly mode or when there are no linenumbers. (bind_src_tags): Remove lineNum_tag bindings. (config_win): Remove lineNum_tag and line_tag. Set linenumbers to break_tag and bp_tag instead. (FillAssembly): Don't use lineNum_tag. (FillMixed): Don't use line_tag. (LoadFile): Use new protected variable LineNums. (insertBreakTag): Instead of trying to calculate the correct location of the new tag, simply ask the widget where the old one was. (do_bp): Call insertBreakTag when bps are deleted. * src.tcl (FillNameCB): Call gdb_listfiles with [pwd]. Sat Jul 18 13:27:20 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (location): Change BROWSE_TAG to STACK_TAG. * interface.tcl (gdbtk_quit): New function. Called by cleanup code in GDB. Fri Jul 17 00:03:43 1998 Martin M. Hunt <hunt@cygnus.com> * memory.tcl (build_win): Change address controlbox to call update_address_cb. (update_address_cb): New method. Handle address controlbox callbacks. Set flag and call update_address. (update_address): Call BadExpr on bad expressions. Use local variable "ae" to set public variable addr_exp. This fixes bug where widget forgets its address when reconfigured. Set table background white when expression is OK. (BadExpr): When a bad expression is entered, create a messagebox and set the table bg to gray. * mem_pref.tcl (apply): Remove mystery debug line. Thu Jul 16 16:56:12 1998 Jim Ingham <jingham@cygnus.com> * download.tcl, ide.tcl, interface.tcl, main.tcl, manage.tcl srcbar.tcl, toolbar.tcl: Merged the IDE changes back into devo. Mon Jul 13 14:34:45 1998 Jim Ingham <jingham@cygnus.com> * mem_pref.tcl (destructor): Remember to delete the variable trace that implements the entry widget checking. Fri Jul 10 19:17:53 1998 Jim Ingham <jingham@cygnus.com> * mem_pref.tcl: Changed the number of bytes entry widget so that it only accepts +'ve integers, and protect against the case where the user deletes the contents of this entry, then closes the window. Also made the entry disabled when the other radio button is selected. Wed Jul 8 23:20:33 1998 Martin M. Hunt <hunt@cygnus.com> * srctextwin.tcl (FillSource): Fix code that detects when no line numbers are available and we must use assembly mode. Mon Jul 6 17:53:50 1998 Jim Ingham <jingham@cygnus.com> * download.tcl, helpViewer.tcl, html_library.tcl, memory.tcl, register.tcl, src.tcl, srctextwin.tcl, target.tcl, tracedlg.tcl, util.tcl, variables.tcl, warning.tcl, watch.tcl: With the Tcl 8.0 compiler, expr commands are more efficient if you use: expr {$foo + $bar} instead of: expr $foo + $bar So I changed all the uses of expr to this form. Mon Jul 6 15:19:59 1998 Martin M. Hunt <hunt@cygnus.com> * srctextwin.tcl (FillSource): Call Parent's mode method to combobox will be updated. * src.tcl (mode): Pass along second argument to mode_set. Wed Jul 1 15:09:47 1998 Martin M. Hunt <hunt@cygnus.com> * srctextwin.tcl (location): Add missing parameter to FillSource call in SRC+ASM. Wed Jul 1 11:07:21 1998 Jim Ingham <jingham@cygnus.com> * main.tcl (gdbtk_preloop): Call gdbtk_idle on spec. If there was an error in loading an executible specified on the command line, then the pre_add_symbol hook would have called gdbtk_busy but the corresponding call to gdbtk_idle would not have occured. Also changed some catch calls so they didn't use "catch {set foo [real_command]}" but rather the more efficient: "catch {real_command} foo" * register.tcl: more catch cleanups * src.tcl: more catch cleanups * stack.tcl: more catch cleanups * target.tcl: more catch cleanups * tdump.tcl: more catch cleanups * variables.tcl: more catch cleanups * watch.tcl: more catch cleanups Wed Jul 1 12:21:55 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (build_win): Remove incorrect runstop argument for srcbar. Wed Jul 1 11:25:48 1998 Martin M. Hunt <hunt@cygnus.com> * floatbar.tcl: Deleted. * Makefile: Removed floatbar.tcl * tclIndex: Rebuilt. Wed Jul 1 11:19:05 1998 Martin M. Hunt <hunt@cygnus.com> * toolbar.tcl (enable_ui): Now takes an argument and handles disable_ui and no_inferior functions. (disable_ui): Deleted. (no_inferior): Deleted. (constructor): Set idle, busy, and no_inferior hooks to enable_ui. * srcbar.tcl (_open_file): Fix for multiple source windows. Wed Jul 1 01:40:52 1998 Martin M. Hunt <hunt@cygnus.com> * Makefile: Added srctextwin.tcl. * tclIndex: Rebuilt. * src.tcl: Major rewrite to move the source text window into another object implemented in srctextwin.tcl. Every function changed and many moved to srctextwin.tcl. * srctextwin.tcl: New file. * bp.tcl (goto_bp): Fix call to source widget. * src_pref.tcl (build_win): Add line number checkbutton. Layout needs changed. * prefs.tcl (pref_set_defaults): Add linenum pref. Thu Jun 25 17:31:30 1998 Keith Seitz <keiths@cygnus.com> * toolbar.tcl (create_menu_items): Add Function Browser menu item. * tclIndex: Regenerate. * Makefile: Add browser.tcl. * util.tcl (do_test): New procedure for invoking a test in the testsuite from the command line. (gdbtk_read_defs): New procedure for reading in the testsuite definitions file * src.tcl (build_win): Create new entry for searching the source window. This "feature" shares the screen with the download indicator. (download_progress): If starting a download, unmap the search widget and map the download progress indicator in its place. When downloading is done, do the opposite. (config_win): Bind the down and up arrow keys to directly scroll the window. (search): New method which searches for strings in the source window and jumps to a particular line. (set_state): Do not reset current_file to empty when an exe has been downloaded. (bp): Do not special case tracepoint debugging. * manage.tcl (manage_init): Add elements for function browser. (manage_create): If GDBTK_TEST_RUNNING is set in the environment, place all windows on the screen at +0+0. * prefs.tcl (pref_save): Add new preference category "search". (pref_set_defaults): Add search preferences. * tracedlg.tcl (TraceDlg::destructor): Destroy the actions dialog is it exists. (add_action): Save the object returned from the window manager when the actions dialog is opened so that we can later destroy it if necessary. (done): Clear ActionsDlg when the actions dialog is destroyed. * main.tcl (do_tstart): Do not disable the "Begin collection" menu item when we issue a tstart. * console.tcl (paste): New method which handles all Paste events for this window. (Console): Bind the middle mouse button on unix to generate a paste event. Override default binding for button-2 motion to allow easier pasting into the window. Bind the paste event to the method paste. Wed Jun 17 13:50:48 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (reconfig): Recognize tab size changes. * src_pref.tcl (build_win): Add tab control. Remove extra frame. Justify variable ballons text. Set activebackgrounds on color buttons. Tue Jun 9 13:57:24 1998 Keith Seitz <keiths@cygnus.com> * helpViewer.tcl (HtmlViewer): Display appropriate help based on the preference gdb/mode. * help/trace: Add help files for tracing. * main.tcl (gdbtk_tcl_preloop): Call gdbtk_update so that the source window fills files into the combobox. * srcbar.tcl (_open_file): "cd" to directory, don't add it to the search list. This never gets reset anywhere, so if multiple file commands are added, we could get the wrong path. Call gdb_clear_file, too. * interface.tcl (gdbtk_tcl_pre_add_symbol): Call the reset method of the source window, too. * src.tcl (reset): New method used to clear the source window whenever multiple file commands are used. * tdump.tcl (update): Erase the contents of the tdump window when displaying a new dump. * stack.tcl (update): Errors from the backtrace can contain backtrace info, too, so make sure we print as much of that as possible. * register.tcl (build_win): Do not allow editing in tracing mode. (reg_select): Do not allow editing in tracing mode. * memory.tcl (update_address): Check that gdb's handling of chars and char*s doesn't abort the update. * variables.tcl (build_win): Disable editing in tracing mode. (build_menu_helper): Disable editing in tracing mode. (getLocals): Use the builtin functions gdb_get_locals and gdb_get_args to get all local variables. Concat lists together. (Variable::value): Set a default value for "radix" in case the regsub fails. Tue Jun 9 00:00:18 1998 Martin M. Hunt <hunt@cygnus.com> * interface.tcl (gdbtk_quit): No longer use quit_hook. Just call "manage save". * manage.tcl (manage): Remove manage quit. (manage_quit): Deleted. (manage_init): Remove quit_hook. (manage_save): Use "Pref setd" instead of "pref set". * prefs.tcl (pref_set_defaults): Remove quit_hook. (pref_quit): Deleted. Mon Jun 8 16:15:33 1998 Martin M. Hunt <hunt@cygnus.com> * target.tcl (set_check_button): Check for existence of button before trying to set its state. Mon Jun 8 13:31:08 1998 Martin M. Hunt <hunt@cygnus.com> * memory.tcl (build_win): Always Bind configure event to newsize method. Change table widget to use incr_addr for both incr and decr. Enable autorepeat. (create_prefs): Set rheight (row height). (newsize): Set rheight if necessary. Return if numbytes is not zero. (update_address): Move gdbtk_idle and gdbtk_busy calls to update_addr. (update_addr): Surround with gdbtk_idle and gdbtk_busy. (incr_addr): Take an argument to indicate how much to increment or decrement by. (decr_addr): Deleted. Fri Jun 5 00:13:49 1998 Martin M. Hunt <hunt@cygnus.com> * Change all references to GDBTK_IDE to IDE_ENABLED. Thu Jun 4 18:34:11 1998 Martin M. Hunt <hunt@cygnus.com> * memory.tcl: Complete rewrite. Added many new features and made it much faster. * mem_pref.tcl (build_win): Set listbox width. * images/check.gif: New image. Used in version of memory window without a menubar. Thu Jun 4 10:53:33 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * tclIndex: regenerated. Merged (most recent first): - Elena Zannoni <ezannoni@kwikemart.cygnus.com> * tracedlg.tcl (ok): if the tracepoint does not exist (this can happen if user is editing a tp and decides to remove it from tp window) do not core dump, give an error message instead, and return. * bp.tcl (get_actions): invoke trace dialog from tracepoint window, passing filename and line as arguments, rather than address. - Jeff Holcomb <jeffh@cygnus.com> * main.tcl (set_baud): Change gdb/load/$gdb_target_name/baud to gdb/load/${gdb_target_name}-baud. - Elena Zannoni <ezannoni@kwikemart.cygnus.com> * tdump.tcl (update): call tdump only if the current trace frame number is not -1. * interface.tcl (gdbtk_tcl_tstart): update menus entries only, do not do actual command. (gdbtk_tcl_tstopt): update menus entries only, do not do actual command. (gdbtk_tcl_warning): remove tdump warning message from list of not displayed messages. * main.tcl (do_tstart): catch error output from tstart and display error dialog. (do_tstop): catch error output from tstop and display error dialog. * bp.tcl (bp_add): align properly the bpnum and passcount fields, for the tracepoint window. * main.tcl (set_exe): set file_done (new global state variable) depending whether new file was read in or not. (set_target_name): return 0 if user chose cancel from target setting window displayed by 'connect'. (set_target): if no target_cmd is specified call set_target_name and ask user for it. (async_connect): handle possible outcomes of set_target command, issue appropriate messages to user. Initialize file_done to 0. * target.tcl (cancel): set gdb_target_name to CANCEL for use by set_target_name. Added public data 'exportcancel'. * toolbar.tcl (do_async_connect): change menu items state only if connect was successful. * src.tcl (bp): modify condition for SOURCE case to display tp dot after connecting to target. * actiondlg.tcl (constructor): make dialog non modal. (destructor): release grab not any longer necessary. (change): make lsearch use exact pattern matching for entries added to the collect list using the 'other' field. The new syntax allows array elements to be specified and this messes up the default glob style pattern matching. (change_other): reject memranges (obsolete). Delegate validation of user input to the lower levels, in gdb. I.e. keep everything until the whole tracepoint is installed. * tracedlg.tcl (gdb_add_tracepoint): call to gdb_actions is now catching the errors (in case of incorrect syntax) and displaying them to the user. * main.tcl (set_target): Changed text of error message to mention the Target Settings dialog. * prefs.tcl: Set default preference for gdb/load/check to 0. * target.tcl (build_win): disable comparison with executable for 'exec' targets. (set_check_button): new method. Enable/disable the check button for comparing executable. (change_target): call set_chack_button when target changes. Set default preference gdb/load/check to 0. * stack.tcl: set initial window width value to 40, so that window looks better if opened before a stack exists. - David Taylor <taylor@texas.cygnus.com> * main.tcl (async_connect): remote-compare is now compare-sections. - Elena Zannoni <ezannoni@kwikemart.cygnus.com> * warning.tcl (constructor): call destructor if dialog doesn't need to be displayed. * console.tcl (invoke): make function get input and return if in readline state, independently from the value of Running. * src.tcl (set_state): set state of pop up menus only for synch mode. * tdump.tcl (build_win): simplify the window, eliminating pane. This fixes resize problems. (update): add call to see to display last thing outputted to the window. * tfind_args.tcl (do_it): call the tfind_cmd procedure. * toolbar.tcl (create_menu_items): changed calls to tstart and tstop to use do_tstart and do_tstop. * srcbar.tcl (runstop): do not call _set_trace in asynch case, just use _set_runstop always. (_set_runstop): added handling for asynch mode cases. (_set_trace): removed. * main.tcl (do_tstart): new procedure to execute tstart command update tstart/tstop button, and menu entries accordingly. (do_tstop): new procedure for tstop, as above. (run_executable): calls do_tstart in the asynch case. * interface.tcl (gdbtk_tcl_tstart): new procedure to invoke the tstart command (gdbtk_tcl_tstop): new procedure to invoke the tstop command * interface.tcl: (gdbtk_tcl_warning) do not display warning about no current trace frame upon opening of tdump window. * main.tcl: (run_executable) in asynch mode just call tstart, connect is now done independently. (async_connect) new procedure to connect and do comarison with remote executable, in asynch mode. Sets up gui state globals. (async_disconnect) new procedure to disconnect from target in asynch mode. Sets up gui state globals. * prefs.tcl: added new preference gdb/load/check * srcbar.tcl: (create_buttons) tfind commands now use tfind_cmd function * target.tcl: added new preference gdb/load/check to execute an automatic remote-compare command on connection to target in asynch mode (set_saved) set saved value for new preference (write saved) write saved value for new preference (build_win) set state of 'run to main', 'break at exit', 'display dowload' to disabled for asynch mode target dialog. Added new checkbutton for automatic comparison of remote exec. Saved_check: new protected member * tdump.tcl: (update) changed check for no frame, since 0 is legal trace frame number. * toolbar.tcl: (create_menu_items): added menus items 'connect to target' and 'disconnect', in async mode. Changed to call tfind_cmd to execute tfind commands (do_async_connect): new method to connect to target in async mode. (do_asynch_disconnect): new method to disconnect from target in async mode. * util.tcl: (tfind_cmd): new proc to execute a tfind command on the target Thu May 28 12:49:29 1998 Keith Seitz <keiths@cygnus.com> * target.tcl: Add sparclite target. (fill_targets): Add sparclite target. * main.tcl (set_target_name): Rearrange so that the default behavior is to assume a remote-like target. * src.tcl (browse_to): Helper function for BpWin::goto_bp which causes the source window to show the specified location. * bp.tcl (bp_add): Clean up repetitive code. Add double-click binding which shows the breakpoint in the source window. (bp_select): Clean up repetitive code. (goto_bp): New function. Sun May 24 14:05:27 1998 Keith Seitz <keiths@cygnus.com> * src.tcl (reconfig): Remove the variable balloon selection in the text widget, too, when we are disabling varialbe balloons. * target.tcl: Add a "runlist" parameter to all gdb_target entries. This list controls the default behavior of the run button. (GdbLoadPref): Define the run preferences based on this target. (build_win): Add a "more options" dropdown pane to allow users to modify the behavior of the run button. (set_saved): Add run button preferences. (write_saved): Add run button preferences. (fill_targets): Add the "pretty name" to the combo box, not gdb's internal target name. (change_target): Use get_target to translate the "pretty-name" to the real target name. (save): Write out saved values, too. (get_target): New method to translate the "pretty-name" of a target into gdb's internal name/ (toggle_more_options): New method to handle mapping and unmapping of the "more options" pane. (set_run): New method. Moved from src_pref.tcl. (valid_target): Moved here from main.tcl. (native_debugging): Moved here from main.tcl. (change_target): Don't write_saved here -- wait until dialog is closed. * src_pref.tcl (build_win): Use libgui's Labelledframe class instead of the Tix labeled frame. Remove the run button frame -- this has moved into the target selection dialog. (set_run): Moved to targets.tcl. * prefs.tcl (pref_set_defaults): Change default preferences for the run button to only do a run. Target selection will reset these as appropriate. * main.tcl (set_baud): Baud preferences are in TARGET-baud, not TARGET/baud. (run_executable): Remove special cases for exec targets. (native_debugging,valid_target): Move to target.tcl. * images/more.gif, images/less.gif: New images for drop frames. * tclIndex: Regenerate. Wed May 20 13:43:00 1998 Martin M. Hunt <hunt@cygnus.com> * toolbar.tcl (create_menu_items): Remove register prefs. * images/stop.gif: Set transparent bit. Tue May 19 12:34:11 1998 Keith Seitz <keiths@cygnus.com> * bp.tcl (bp_add): Use source window's colors. Use "file tail" not "lindex [file split ] end". (bp_modify): Use source window's colors. Use "file tail" not "lindex [file split ] end". (bp_remove): Call bp_select before we delete the breakpoint. * main.tcl (run_executable): Encapsulate all calls to debugger based on new run preferences. * manage.tcl (manage_init): Change loadpref titles to "Target Selection" * pref.tcl (build_win): Disable Help button until it works. * prefs.tcl (pref_set_defaults): Define new run button preferences. Lose stack and bp window color preferences -- use the source window ones instead. Lose left_click, too. * src.tcl: Remove all references to _Source_Left_Click and replace with new protected variable Tracing. Define new protected variable UseVariableBalloons so that we don't follow the preferences blindly. Replace all preference calls for these two globals. (reconfig): Allow reconfiguration of variable balloons and popup menu colors. (config_win): Add binding for File Menu->Open. (do_key): Add open key. * src_pref.tcl (SrcPref): Save all newly added preferences. (build_win): Add new preferences for mode, variable balloons, lots of color choices. (cancel): Reset all new preferences. (pick): Allow passing of button in to make things a little easier. (reconfig): Keep empty -- no need for this to reconfigure itself. (set_run): New method to make sure someone does not try to run _and_ continue a target with the run button. * stack.tcl (build_win): Use the source window's preferences to set colors. * target.tcl (build_win): Disable Help button until it works. Mon May 18 15:25:00 1998 Martin M. Hunt <hunt@cygnus.com> * html_library.tcl (HMstack): Remove stray 'g' that was preventing autoloading. Mon May 18 13:17:30 1998 Keith Seitz <keiths@cygnus.com> * helpViewer.tcl (HtmlViewer): Initialize glossary. (glossaryPost): Fill in skeleton supplied by jingham. (glossaryUnpost): Ditto. (lookup): New method to lookup glossary definitions. (HMset_image): Add special image names. Fri May 15 00:30:06 1998 Martin M. Hunt <hunt@cygnus.com> * memory.tcl (update_address): Source window was never being updated due to a faulty fencepost. I removed it. Was it useful? Tue May 12 11:47:11 PDT 1998 James Ingham <jingham@leda.cygnus.com> * helpViewer.tcl: Made the fonts for the viewer track the global font preferences *html_library.tcl: Use Tcl Font objects for the fonts rather than building up X Font Specs. Thu May 7 16:03:32 1998 Keith Seitz <keiths@cygnus.com> * toolbar.tcl (create_menu_items): Remove automatic stepping. (create_menu_items): "Cygnus on the Web..." should point to GNUPro page... Wed May 6 20:18:34 1998 Keith Seitz <keiths@cygnus.com> * main.tcl (set_target_name): Recognize d10v and m32r targets. (valid_target): Change test to recognize all tcp targets. * target.tcl: Add m32r and d10v tcp targets. Wed May 6 12:52:12 1998 Keith Seitz <keiths@cygnus.com> * srcbar.tcl (create_menu_items): Install a page setup menu item for non-ide debuggers. * src.tcl (print): Don't call idewindow_freeze and idewindow_thaw the ide is not running Wed May 6 10:41:30 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * bp.tcl (get_actions): set bpnum to be the real tracepoint number, not the selected row number. Tue May 5 04:07:12 1998 Martin M. Hunt <hunt@cygnus.com> * target.tcl: Add D10V and M32R target. * prefs.tcl (pref_set_defaults): Set debugging off by default. Fri May 1 15:23:57 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * main.tcl (valid_target) make 'remotetcp' a valid target. Fri May 1 11:50:40 1998 Jim Ingham <jingham@leda.cygnus.com> * helpViewer.tcl: Added the skeleton for the Glossary entries. Fixed the zoom to top of page when rendering is complete nit. Added a reconfig method to refresh the current page. Compulsive reordering of methods. Thu Apr 30 00:04:52 1998 Martin M. Hunt <hunt@cygnus.com * global_pref.tcl (change_icons): Remove debug line. * toolbar.tcl: Change image names to end with _img so they don't conflist with command names. * srcbar.tcl: Same. Tue Apr 28 16:51:09 1998 Jim Ingham <jingham@leda.cygnus.com> * html_library.tcl: The redefinition of tkFocusOK in this file can cause an infinite recursion loop in autoloading tkFocusOK. Change proc -> ::proc to hide the definition from itcl_mkindex * tclIndex: remade without the reference to tkFocusOK. Tue Apr 28 16:51:09 1998 Jim Ingham <jingham@leda.cygnus.com> * helpViewer.tcl: The index page now shows up properly in the history list. Also added images for the fore, back and home buttons, and removed the close button. * manage.tcl: Moved the wm withdraw of a new toplevel before the constructor is run in manage_create. This avoids flashing. * main.tcl: Changed the tk application name of gdbtk from tk to gdbtk. Mon Apr 27 14:18:01 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * helpViewer.tcl: (constructor) Change 'Foreward' to 'Forward' and calls to 'foreward' method to calls to 'foreward' method. (forward) changed method name from 'foreward'. Thu Apr 23 19:02:25 1998 Keith Seitz <keiths@onions.cygnus.com> * toolbar.tcl (create_menu_items): Use the new help viewer when not using the IDE. * helpViewer.tcl (HtmlViewer::constructor): Set default values for previously passed-in variables. (HtmlViewer::destructor): Destroy the toplevel, too. (HMset_image): prepend the dir name "images" to the image path. Thu Apr 23 13:31:07 1998 Jim Ingham <jingham@leda.cygnus.com> * html_library.tcl: First checkin * helpViewer.tcl: First checkin * manage.tcl (manage): Added the help veiwer to the windows list. Aslo compulsively alphabetized the list... * tclIndex Rebuilt for the new procs. Mon Apr 20 11:14:17 1998 Keith Seitz <keiths@onions.cygnus.com> * global_pref.tcl (build_win): Add font selector for the status font. * main.tcl (run_executable): Exec targets are always "loaded". Sat Apr 18 02:11:04 1998 Martin M. Hunt <hunt@cygnus.com> * prefs.tcl (pref_read): Remove debug line. * util.tcl (toggle_debug_mode): When enabling or disabling debugging, also enable or disable error reporting and stack traces. Sat Apr 18 01:13:03 1998 Martin M. Hunt <hunt@cygnus.com> * srcbar.tcl (_toggle_updates): Cleanup. * src.tcl (do_popup): Fix problems with selections. While I'm messing with this code anyway, change how it works so that the popup will contain the word that is under the cursor if nothing is selected. * toolbar.tcl (create_buttons): Bind button 3 to create new windows when possible. * stack.tcl (StackWin): Fix broken deiconify call. * images/[console.gif, reg.gif]: Update. Fri Apr 17 10:34:23 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (location): Don't look up the full pathname of each file added to the combobox. Fri Apr 17 09:58:59 1998 Keith Seitz <keiths@onions.cygnus.com> * target.tcl (default_port): New proc. Returns a default port based on host os. (startup code): Use default port to determine the default port to use for all hosts. (build_win): Only set the target if it is valid. For unix, use port names that correspond to the OS running. Change gdb/load/$target-portnum to gdb/load/$target-port (typo?) (get_target_list): Do not allow "exec" for cross debugging. (save): Do not do dismiss dialog if the target is not valid. (cancel): If exportcancel is set, set gdb_target_cmd to "CANCEL". This will allow run_executable to cancel a run if the user cancels target selection. (exportcancel): New public data. * main.tcl (set_target_name): Return status to caller so that the user can cancel a run request when the target selection dialog is opened. Do not modify gdb_exe_changed -- it has already been set proprely. (set_target): If gdb_target_cmd is empty, call set_target_name to set it. Allow all set_target_name commands to cancel target selection. (run_executable): Allow all set_target_name commands to cancel target selection. Always clear bp's at main and exit, since this proc will set them for all targets now. Save the bp number for the breakpoint installed at main and exit so that we can reliably delete them if the user cancels any subsequent target selection. Whenever the run is canceled, delete the breakpoints at main and exit. Move setting of breakpoints at main and exit from download_it here. (valid_target): New proc. Returns true if the given target is a valid, runnable target. (native_debugging): New proc. Returns true if this gdb is not a cross gdb. (startup code): Do not call set_target_name here -- let run_executable do it. * interface.tcl (gdbtk_tcl_query): Update the display when this dialog is dismissed. (gdbtk_tcl_warning): Always show warnings in the debug window. * download.tcl (download_it): Move setting breaks at main,exit to run_executable in main.tcl. Thu Apr 16 11:28:01 1998 Martin M. Hunt <hunt@cygnus.com> * main.tcl (set_target_name): Add "prompt" parameter which allows this function to be called without it always prompting for the target name. This allows it to quietly initialize variables from preferences. (set_target): Remove HACK_FIRST_HACK. (run_executable): Check the result of [set_target]. If it fails, prompt for a new target and repeat. (startup code): Remove HACK_FIRST_HACK. Call set_target_name to initialize gdb_target_cmd from preferences. * toolbar.tcl (create_menu_items): Call set_target_name for the target menu item. This will open the dialog and then set the target command correctly. * target.tcl (save): Set default target preference. Wed Apr 15 11:29:47 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (reconfig): Tell toolbar to reconfig. * global_pref.tcl (build_win): Add support for changing icons. Put fonts in a labelled frame. (update_file): Removed. (change_icons): Callback for icon combobox. * srcbar.tcl (_load_src_images): Remove old target and load images. Add reconfig parameter which reloads images. Use global gdb_ImageDir. (reconfig): New method. * floatbar.tcl (create_buttons): Remove target image. Use global gdb_ImageDir. * toolbar.tcl (_load_images): Use global gdb_ImageDir. Add reconfig parameter which reloads images. (reconfig): Don't rebuild everything, just reload images. (create_menu_items): Change "Fonts" preferences menu item to "Global". * prefs.tcl (pref_set_defaults): Save only basename in gdb/ImageDir preference. Initialize global gdb_ImageDir. (pref_read): Set gdb_ImageDir. * memory.tcl (build_win): Use global gdb_ImageDir. * manage.tcl (make_icon_window): Use global gdb_ImageDir. * about.tcl (build_win): Use global gdb_ImageDir. * images/icons.txt: New file; icon descriptions. * images/vmake.gif: New file. * images/vars.gif: New file. * images/watch.gif: New file. * images/bp.gif: New file. * images/memory.gif: New file. * images2/icons.txt: New file; icon descriptions. * toolbar_pref.tcl: Removed. * main.tcl (run_executable): If target is "exec" don't show target dialog unless the run command fails. Wed Apr 15 13:15:22 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * interface.tcl: (gdbtk_tcl_warning) changed to selectively display warnings in the GUI. (show_warning) new procedure. Displays warning dialogs. Wed Apr 15 07:13:04 1998 Keith Seitz <keiths@onions.cygnus.com> * src.tcl (do_popup): Fix merge casualty -- revert to pre-3/22 version. Don't allow tracepoint ranges to be set unless in asynch mode. Mon Apr 13 16:00:06 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * warning.tcl: new file. Implements WarningDlg class, for warning dialogs. * tclIndex: regenerated * Makefile: added new file warning.tcl * manage.tcl: added new window warningdlg, for ignorable warnings. * interface.tcl: (gdbtk_tcl_warning) new procedure. Creates a warning dialog. (gdbtk_tcl_ignorable_warning) new procedure. Creates a warning dialog. The user can choose to not have this dialog pop up again during the same debugging session. Mon Apr 13 13:04:20 1998 Keith Seitz <keiths@onions.cygnus.com> * stack.tcl (StackWin::constructor): Withdraw toplevel before calling all busy hooks; then build the window, go idle and pop the window onto the screen. * main.tcl (set_target_name): Use a regexp to match target names. Add "sds" as a target. (run_executable): Use gdb_immediate to run executable. Fri Apr 10 10:27:42 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * bp.tcl: changed default value of public var tracepoints to be 0. Thu Apr 9 15:21:49 1998 Martin M. Hunt <hunt@cygnus.com> * global_pref.tcl (destructor): Delete test fonts here instead of in ok and cancel. This fixes bug when dialog was closed by clicking on close gadget. * src_pref.tcl (pick): When colors are changed, immediately update the dialog. Thu Apr 9 04:03:27 1998 Martin M. Hunt <hunt@cygnus.com> * target.tcl (build_win): Bind <Return> for cancel and help buttons. Wed Apr 8 10:57:14 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * tdump.tcl: (update): show stuff on window only if current trace frame is not null. * variables.tcl: (build_win): get the current output-radix (getVariables): decide the format to display a var based on Radix VariableWin class: added protected member Radix (value): decide display based on output-radix Wed Apr 8 06:17:42 1998 Keith Seitz <keiths@onions.cygnus.com> * bp.tcl (get_actions): Open the trace dialog based on a tracepoint's number. * tracedlg.tcl (title): New method to title window based on mode. (TraceDlg::constructor): After the interp is idle, title this window. (build_win): Add support to simply pass a tracepoint number for editing. Tue Apr 7 12:49:45 1998 Keith Seitz <keiths@onions.cygnus.com> * variables.tcl (VariableWin): We should deiconify after withdrawing... * tracedlg.tcl (gdb_edit_tracepoint): Make necessary gdb_cmd changes to support new API. (gdb_add_tracepoint): Make necessary gdb_cmd changes to support new API. * tdump.tcl (update): Make necessary gdb_cmd changes to support new API. (TdumpWin::constructor): We should deiconify after we withdraw... Change idle callback to an update callback. (TdumpWin::destructor): Change idle callback to update callback. * srcbar.tcl (_open_file): Make necessary gdb_cmd changes to support new API. (create_buttons): Change all tracing commands to use gdb_immediate. * main.tcl (set_target_name): Add simulator target. * src.tcl (mode): When changing modes, clear the line to pc mappings. (location): Do not set current_addr if we are not running and gdb_loc thinks we're at 0x0. Clear the text-window-line to pc mapping when appropriate. Revert display_breaks change for SRC+ASM mode. (bp): Make sure mapping of PC to src window line exists before attempting to set breakpoints/tracepoints. Fri Apr 3 13:57:42 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * src.tcl: (do_key): added actions for key bindings in trace mode. (config_win): added key bindings for trace mode. * srcbar.tcl: (_set_trace) changed balloon contents for tstart/ tstop button. * toolbar.tcl: (create_menu_items): changed names of menu items tstart and tstop to 'Begin Collection' and 'End Collection'. Changed name of Preference menu item from 'GDB' to 'Fonts'. Changed name of File menu item from 'Debugger Preferences' to 'Target Settings'. Commented out Preference menu item 'Download'. (create_buttons): tdump button, inserted text 'Td' in place of missing icon. Tue Mar 31 17:20:59 1998 Ian Lance Taylor <ian@cygnus.com> * Makefile (TCL): Add ide.tcl. * tclIndex: Rebuild. Sun Mar 29 18:50:46 1998 Keith Seitz <keiths@onions.cygnus.com> * tracedlg.tcl (build_win): Enable tracepoints at assembly addresses. (add_action): Enable tracepoints at assembly addresses. (ok): Enable tracepoints at assembly addresses. (edit): Enable tracepoints at assembly addresses. (gdb_add_tracepoint): Enable tracepoints at assembly addresses. * srcbar.tcl (_open_file): If main () exists, show it. * src.tcl (display_breaks): If we are displaying breaks in assembly, clear the line and file specs. (location): Use display_breaks to insert breaks and traces. (bp): Rewrite. Actions are based on mode of the source window. (bp_line): When setting a tracepoint in assembly, pass address to set_tracepoint. (set_tracepoint): Open trace dialog specifying either line or address at which to set trace. (tracepoint_range): Rewrite. Actions are based on the mode of the source window. Now able to insert ranges of traces in any mode. * actiondlg.tcl (ActionDlg::constructor): Enable widget via address specification. (ActionDlg::Line): Default to empty list. (ActionDlg::Address): Add new memeber to enable assembly operation. Sun Mar 29 21:21:37 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * bp.tcl: add tracepoint number to tracepoint window. (build_win)(bp_add)(bp_select)(bp_modify)(bp_delete) * manage.tcl: (manage_init) do not open windows not related to current mode * tdump.tcl: (reconfig) remove it (config) add toplevel window, show window after it has been built. (update) add calls to busy and idle hooks, add third argument to gdb_cmd call Sun Mar 29 15:01:03 1998 Keith Seitz <keiths@onions.cygnus.com> * srcbar.tcl (_set_trace): Use gdb_immediate to execute the "tstop". Call run_executable when requesting a tstart. (_open_file): Convert all paths under cygwin32 to a posix-compliant pathname. Add this path to the source search list. * src.tcl (set_execution_status): Change stop messages to support tracing. (tracepoint_range): Clear the selection when we set a range of tracepoints. * main.tcl (set_target): Use gdb_immediate so that the console gets output of target command. (run_executable): Use gdb_immediate for run command. Include trace support. Sat Mar 28 15:50:01 1998 Keith Seitz <keiths@onions.cygnus.com> * srcbar.tcl (create_menu_items): Put menu items in proper order. (_open_file): Add exe file's directory to the default source search path. Sat Mar 28 14:29:08 1998 Keith Seitz <keiths@onions.cygnus.com> * srcbar.tcl (GDBSrcBar: runstop trace): If running async'ly, set the run/stop button by calling _set_trace. Otherwise use _set_runstop. (create_menu_items): Add file command to open a new exe. (_open_file): New method to handle requests to open a new exe. * main.tcl (set_target): If this is the first time running, then show the download prefs dialog. Sat Mar 28 16:30:55 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * tracedlg.tcl: (build_win) reinserted 'update idletasks' to display Actions frame properly. * actiondlg.tcl: (sort) moved "All Registers", "All Locals", "All Arguments" to beginning of list. * src.tcl: (line_is_executable) new method. Used in tracepoint_range. Sat Mar 28 10:58:04 1998 Keith Seitz <keiths@onions.cygnus.com> * tracedlg.tcl (gdb_edit_tracepoint): Don't let gdb_cmd call busy and idle hooks. (gdb_add_tracepoint): Ditto. * src.tcl (config_win): Change exit key binding from 'q' to 'x.' (goto_func): That's "file tail", not "file split." * srcbar.tcl (_set_stepi): Don't do anything if we're debugging asynchronously. Sat Mar 28 10:09:21 1998 Martin M. Hunt <hunt@cygnus.com> * toolbar.tcl (create_menu_items): Change "Close Debugger" menu item to "Exit". Sat Mar 28 02:38:51 1998 Martin M. Hunt <hunt@cygnus.com> * src_pref.tcl (build_win): Fix Save and Apply buttons. Change "Save" to "OK". Use standard_button_box. (save): New method, save and exit. (apply): New method; save and don't exit. (cancel): New method; cancel all changes. * src.tcl (reconfig): Reconfigure colors, too. * global_pref.tcl (Globalpref): Fix deiconify call. (build_win): Use standard_button_box. Set default to OK. Remove unused stuff. Cleanup display. * Makefile: Removed toolbar_pref.tcl. * tclIndex: Rebuilt. * srcbar.tcl (create_buttons): Make toolbar always attached to source window. * toolbar.tcl (build_win): Always display toolbar and menubar attached to source window. * prefs.tcl (pref_set_defaults): Removed toolbar prefs. * manage.tcl (manage_init): Remove hack to change preferences names. (manage_init): Remove toolbar and toolbar prefs code. (manage_create): Remove toolbar code. (manage_open): Remove toolbar code. (manage_find): Remove toolbar code. (manage_delete): Remove toolbar code. (manage_restart): Remove toolbar code. Fri Mar 27 19:52:53 1998 Keith Seitz <keiths@onions.cygnus.com> * toolbar.tcl (create_menu_items): Do not disable preferences. * src.tcl (reconfig): Rewrite to not destroy window. Symbolic fonts are a blessing! Pass the image handles for our breakdots to makeBreakDots. (file): Move breakpoint/tracepoint insertion to a separate function... (display_breaks): .... this one. (location): Move the block which fills combo boxes to top in case an error causes us to exit early. (makeBreakDot): Accept an optional image handler so that it can be configured instead of created. * global_pref.tcl (build_win): Carry around a list of all changable fonts in case more granularity is needed. (Windows cannot change menu font...) Disable menu font for windows. (ok): Check the list of changable fonts. (cancel): Check the list of changable fonts. (apply): Check the list of changable fonts. * console.tcl (reconfig): New (empty) method to handle preference changes. Fri Mar 27 16:08:57 1998 Keith Seitz <keiths@onions.cygnus.com> * global_pref.tcl (ok): Must use preferences for comparison. Don't "manage restart" unless needed. (cancel): Don't configure the font -- changing the preference will do it automagically. Fri Mar 27 14:21:02 1998 Keith Seitz <keiths@onions.cygnus.com> * toolbar.tcl (create_menu_items): Use gdbtk_quit to initiate a quit. * src.tcl (do_key): Use gdbtk_quit to initiate a quit. * prefs.tcl (pref_save): Set a default value for WIN. Don't "manage restart". (pref_set_defaults): Register a quit hook to save preferences. (pref_quit): Call pref_save to save all preferences when we quit. * manage.tcl (manage): Add "quit". (manage_init): Register a gdb_quit_hook. (manage_delete): Instead of guessing when and what to ask to confirm a quit, call gdbtk_quit. (manage_quit): New procedure. This is called from the gdb_quit_hook to save window active'ness and geometries by calling manage_save. * interface.tcl: Define "gdb_quit_hook". (gdbtk_quit): New procedure to call whenever a quit is requested. * global_pref.tcl (ok): Do not save preferences here. Fri Mar 27 12:21:07 1998 Keith Seitz <keiths@onions.cygnus.com> * tracedlg.tcl (TraceDlg): Wait until idle to deiconify ourselves. * global_pref.tcl (Globalpref): Withdraw window before creating and deiconify it when idle. (cancel): Let the window manager destroy us. (ok): Let the window manager destroy us. * target.tcl (GdbLoadPref::constructor): Withdraw window before creating and deiconfiy it when idle. * memory.tcl (MemWin::constructor): Withdraw window before going busy. * register.tcl (RegWin::constructor): Withdraw window before going busy. * src.tcl (SrcWin::constructor): Withdraw window before creating and deiconify it when idle. Fri Mar 27 10:52:30 1998 Martin M. Hunt <hunt@cygnus.com> * target.tcl: Fix entry for temotetcp. * main.tcl (set_target_name): Build correct gdb_target_cmd. Fri Mar 27 11:23:18 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * target.tcl: (build_win) added call to change_target to get the correct entry widgets when the dialog is opened. Fri Mar 27 01:43:41 1998 Martin M. Hunt <hunt@cygnus.com> * target.tcl: Add simulator and remotetcp targets to target database. Change all the gdb/load/$target/foo preferences to gdb/load/$target-foo because the prefs code expects gdb/section/varname. The extra slash confuses it. (set_saved): Add saved_portname and saved_hostname for TCP. (write_saved): Add saved_portname and saved_hostname for TCP. (fill_rates): change states of hostname and portnum entry widgets. (fill_targets): Add fake remotetcp entry in target list. (change_baud): When switching between tcp and serial targets pack or forget the appropriate widgets. (build_win): Create hostname and port number entry widgets. (change_target): Update hostname and portnum widgets. * prefs.tcl (pref_save): Add 'load' as a section to be saved. Set gdb/load/target to 'exec'. * manage.tcl (_manage_null_handler): Deleted. * download.tcl (download_it): Don't call IDE functions unless GDTK_IDE is set. * main.tcl (gdbtk_tcl_preloop): Get name of executable if one was supplied on command line. (set_target_name): Save target name as preference. (run_executable): Call set_target. Fri Mar 27 00:23:46 1998 Keith Seitz <keiths@onions.cygnus.com> * src.tcl (location): Catch error of getting location of main. * prefs.tcl (pref_set_defaults): Add gdb/toolbar/active. Add trace for global/fixed font to update src-font. (pref_read): Add code to deal with global preferences. (pref_save): Add code to deal with global preferences. (pref_src-font_trace): Trace function which set src-font to global/fixed. * global_pref.tcl (build_win): Relayout font selectors and add a selections for menu and default fonts. Rename Save to OK and Quit to Cancel, renaming methods, too. (font_changed): Add arguments to facilitate multiple fonts. (reconfig): Define as empty. (ok): Rewrite to facilitate multiple fonts. (cancel): Rewrite to facilitate multiple fonts. (apply): Rewrite to facilitate multiple fonts. * manage.tcl (manage_restart): Call gdbtk_idle to reset the toolbar after it is recreated. Thu Mar 26 23:49:26 1998 Martin M. Hunt <hunt@cygnus.com> * tdump.tcl, tfind_args.tcl: New files. Thu Mar 26 22:29:28 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * tracedlg.tcl: (config) commented out grab. Made window non-modal. (destructor) do not release grab. (done) do not reinstall grab. * toolbar.tcl: (create_buttons) changed buttons for the tracepoint case to open tdump window, and tracepoint window. (create_menu_items) change Run menu to do tstart, tstop for tracepoint case. Changed View menu to show tracepoint window for tracepoint case. Changed 'Control' menu to 'Trace' menu for tracepoint case, with tfind commands. * srcbar.tcl: (create_buttons) changed the buttons for the tracepoint case to do tfind commands. (_set_trace) new method. Toggles tstart/tstop button. * src.tcl: (config) decide defatul action for left click on source based on 'mode' preference. (bp_line) ditto. (config_win) modify pop upmenu on source window to display only 'set tracepoint'. * prefs.tcl: (pref_set_defaults) added preference gdb/mode for tracepoints or breakpoint display. * manage.tcl: (manage_init) added tracepoint window, args windows for tfind, tdump window. (manage_open) use eval in call to manage_create. * bp.tcl: (build_win) added PassCount to the display and modified the menus for the tracepoint case to display actions. (bp_add) display pass_count too in the tracepoint list. (bp_select) changed indexes of menu entries to be entries names. added field passcount to selection for tracepoints. (bp_modify) added passcount for tracepoints. (bp_delete) added passcount for tracepoints. (get_actions) new method Added new public member "tracepoints" to decide which kind of window needs to be displayed. * Makefile: added new files tfind_args.tcl and tdump.tcl. * tclIndex: regenerated Thu Mar 26 14:23:00 1998 Martin M. Hunt <hunt@cygnus.com> * main.tcl (set_target_name): Make target dialog always on top. * target.tcl (build_win): Bind Return to save. (GdbLoadPref): Denter dialog on screen. Thu Mar 26 14:16:36 1998 Keith Seitz <keiths@onions.cygnus.com> * memory.tcl (update_address): Catch errors to update_addr so that we do not error and leave the GUI busy. Thu Mar 26 13:51:58 1998 Martin M. Hunt <hunt@cygnus.com> * toolbar.tcl (create_menu_items): Remove "Cygnus Foundry Tour" and "Submit a PR" from the menu. * src.tcl (file): Set title to GDB. * manage.tcl (manage_init): Set About name. * main.tcl (set_target): Set title to GDB. * interface.tcl (gdbtk_tcl_query): Set title correctly. * Makefile: Remove download_pref.tcl. Thu Mar 26 11:33:02 1998 Keith Seitz <keiths@onions.cygnus.com> * Makefile: Add target.tcl to list of sources. * tclIndex: Rebuilt. * target.tcl (GdbLoadPref): Trace changes to gdb_loaded. (target_trace): New procedure. This is invoked by a write trace to gdb_loaded. * interface.tcl (gdbtk_busy): New procedure to run all busy hooks (gdbtk_update): New procedure to run all update hooks (gdbtk_idle): New procedure to run all idle hooks. Also runs the no inferior hooks if no inferior has been created. Rename old gdb_idle_hook to gdb_update_hook for clarity. Change all references of run_hooks to use gdbtk_busy, gdbtk_idle, and gdtk_update. * download.tcl: Make busy/update/idle hook changes. * main.tcl: Make busy/update/idle hook changes. (set_exe): Clear gdb_loaded whenever a new exec file is selected. * manage.tcl: Make busy/update/idle hook changes. * mem_pref.tcl: Make busy/update/idle hook changes. * memory.tcl: Make busy/update/idle hook changes. * register.tcl: Make busy/update/idle hook changes. * src.tcl: Make busy/update/idle hook changes. * stack.tcl: Make busy/update/idle hook changes. * variables.tcl: Make busy/update/idle hook changes. Merged with Foundry 1.0: Wed Mar 25 14:22:28 1998 Keith Seitz <keiths@onions.cygnus.com> * register.tcl (reconfig): Call busy and idle hooks. * memory.tcl (update_address): Call busy and idle hooks. Wed Mar 25 11:38:49 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (location): Fix typo. Tue Mar 24 21:03:01 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (location): If gdb_listfuncs returns an error, display an error message that says the file was either not found or contained no debugging information. (location): When disassembling, put busy and idle calls before and after. Set "NoRun" to indicate the busy hook should not display the stop sign because the target isn't running, GDB may just take a few seconds to do the disassembly. (busy): Hack to support NoRun mode. * srcbar.tcl (_set_runstop): Add another case to disable the Run icon instead of changing it to a stop sign. * main.tcl (set_exe): If the file has no debugging information, display an error message and exit. This should only happen with intentionally stripped files. Tue Mar 24 17:04:36 1998 Keith Seitz <keiths@onions.cygnus.com> * mem_pref.tcl (build_win): Keep track of all widgets that should be disabled when busy. (busy): New method which disables anything that could cause trouble. (idle): New method which re-enables anything that "busy" disables. (apply): Call busy and the busy hooks before doing update of memory window. Then call idle and the idle callbacks when we are done. Tue Mar 24 12:07:52 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (location): Filter out .s and .S files because Foundry does not yet support assembly source debugging. Tue Mar 24 08:50:46 1998 Keith Seitz <keiths@onions.cygnus.com> * register.tcl (but3): Don't pop up the right-click menu if we are running. * download.tcl (download_it): Force an update so that all windows are created and get their busy hooks called. * console.tcl (invoke): Make sure we are not running. (busy): New method. (idle): New method. Mon Mar 23 15:00:57 1998 Drew Moseley <dmoseley@cygnus.com> * src.tcl: (location): Assume we are locating main() if the target is not running and we can't figure out which function we are in. * main.tcl (run_executable): Change to assembly mode when we try to load a blank file. This usually means that source level debugging was not enabled when this file was compiled. Reverse the parameters to src method::location() method invocation so they are in the correct order Mon Mar 23 12:04:23 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (update): Comment out debug lines. * main.tcl (set_target_name): If the target name changes, force a new "file" command to be issued by setting gdb_exe_changed. Sat Mar 21 00:09:37 1998 Martin M. Hunt <hunt@cygnus.com> * download.tcl (download_it): Remove call to run_idle_hooks. * src.tcl (no_inferior): Call set_execution_status. * bp.tcl (bp_modify, bp_delete): Change to take an entry number. (update): Sometimes "create" calls are for existing breakpoints and should be "modified" calls. Detect this and pass the entry number to bp_delete or bp_modify. Fri Mar 20 22:50:55 1998 Tom Tromey <tromey@cygnus.com> * console.tcl (insert): Remove all \r characters from string to be inserted. Fri Mar 20 01:55:14 1998 Keith Seitz <keiths@cygnus.com> * watch.tcl (validateEntry): Fencepost for running. * variables.tcl (VariableWin): Use "add_hook_before". (idle_done): New gdb_idle_done_hook for this object. (update): Don't call enable_ui here. (enable_ui): Change cursor for this object. (disable_ui): Ditto. (no_inferior): Ditto. * toolbar.tcl (GDBToolBar): Use "add_hook_before". * stack.tcl (StackWin): Use "add_hook_before". (StackWin): Encapsulate creation of this object with busy and idle hooks so that the user gets some feedback and to prevent other widgets from attempting to update. (update): Add some sanity checking so that we do not update with garbage in the window. (idle_done): New gdb_idle_done_hook for this object. (change_frame): Fencepost for running. (busy): New gdb_busy_hook for this object. (no_inferior): New gdb_no_inferior_hook for this object. (cursor): New helper method to set the cursor of all subwindows. * src.tcl (SrcWin): Use "add_hook_before". (toggle_updates): Use "add_hook_before". (stack): Encapsulate creation of the stack object with busy and idle hooks so that the user gets some feedback and to prevent other widgets from attempting to update. (idle_done): New gdb_idle_done_hook for this object. (set_execution_status): When Program is Terminated..., reset gdb_running. (config_win): Pull mouse pointer cursor assignments in text widget out into a separate function. (bind_src_tags): New method to set the cursor for the window's text widget tags. (disable_ui): Call bind_src_tags to change cursor to "watch". (enable_ui): Ditto. (no_inferior): Ditto. (cursor): New helper method to set the cursor of all subwindows. * register.tcl (RegWin): Encapsulate creation of this object with busy and idle hooks so that the user gets some feedback and to prevent other widgets from attempting to update. Use "add_hook_before". (reg_select_up): Fencepost for running. (reg_select_down): Fencepost for running. (reg_select_right): Fencepost for running. (reg_select_left): Fencepost for running. (reg_select): Fencepost for running. (edit): Fencepost for running. (idle_done): New gdb_idle_done_hook for this object. (busy): New gdb_busy_hook for this object. * memory.tcl (MemWin): Encapsulate creation of this object with busy and idle hooks so that the user gets some feedback and to prevent other widgets from attempting to update. Use "add_hook_before". (create_prefs): Fencepost for running. (idle_done): New gdb_idle_done_hook for this object. (edit): Fencepost for running. (newsize): Fencepost for running. (busy): New method to block UI while running inferior. (do_popup): Fencepost for running. (cursor): New method to change the cursor definition for this object. * manage.tcl (manage_init): Use "add_hook_before". * main.tcl (run_executable): Use "run_idle_hooks". * ide.tcl (gdbtk_ide_init): Don't create the source window here. * interface.tcl: Define new hook "gdb_idle_done_hook" -- to be called when the debugger does completely idle to allow input to objects again. (run_idle_hooks): New procedure to wrap the idle hooks. (gdbtk_tcl_idle): Split the idle callbacks into two parts: one that only updates widgets and one that tells widgets to accept input again. * download.tcl (Download): Use add_hook_before instead of add_hook. (download_it): Use run_idle_hooks instead running the idle hooks directly. * bp.tcl (BpWin): Use add_hook_before instead of add_hook. Wed Mar 18 18:59:00 1998 Sean Mahan <smahan@cygnus.com> * download.tcl (download_hash): Added an 'update' so the status bar would work on an MBX board. Wed Mar 18 01:50:19 1998 Martin M. Hunt <hunt@cygnus.com> * prefs.tcl (pref_set_defaults): Define gdb/src/tab_size to default to a tab size of 4. * src.tcl (setTabs): Set up tabs correctly. * download.tcl (download_it): Set correct state after user cancels download. Tue Mar 17 12:30:23 1998 Tom Tromey <tromey@cygnus.com> * console.tcl (throttle): New public variable. (insert): Delete initial text when past the throttle limit. Tue Mar 17 13:31:38 1998 Keith Seitz <keiths@onions.cygnus.com> * ide.tcl (gdb_exit_check): Do not let gdb confirm the quit if we are downloading. Tue Mar 17 13:25:22 1998 Keith Seitz <keiths@onions.cygnus.com> * console.tcl (insert): Force update of screen. Mon Mar 16 10:22:00 1998 Sean Mahan <smahan@cygnus.com> * toolbar.tcl (create_menu_items): Added 'Submit PR' to the help menu. For PR15334 Sun Mar 15 15:01:27 1998 Tom Tromey <tromey@cygnus.com> * interface.tcl (gdbtk_tcl_fputs): Don't call update. * src.tcl (build_win): Changed capitalization on balloon help. Fri Mar 13 10:01:48 1998 Keith Seitz <keiths@onions.cygnus.com> * src.tcl (mode): Add a horizontal scrollbar to the assembly pane of SRC+ASM mode when necessary. Fri Mar 13 00:47:59 1998 Martin M. Hunt <hunt@cygnus.com> * main.tcl (run_executable): Don't force downloads for sim. * download.tcl (download_it): Don't bother calling calling set_baud for sim. * manage.tcl (manage_delete): Deregister the window before deleting it to prevent those annoying bgerror messages. Thu Mar 12 15:28:22 1998 Keith Seitz <keiths@onions.cygnus.com> * download.tcl (Download): Define a list of all sections. (update_download): Loop through the list of sections, updating the current section's progress and marking any previously loaded sections as done, if needed. (do_download_hooks): New procedure. (download_hash): Use a timer to force update of GUI at regular intervals -- GUI should not update 10,000 times a second. Tue Mar 10 06:32:24 1998 Keith Seitz <keiths@onions.cygnus.com> * interface.tcl (gdbtk_tcl_query): Allow caller to specify the default button. If none is specified, it is set to 'yes'. * manage.tcl (manage_delete): While inferior is running, gdb_cmd returns immediately, so we need to manually ask the user if he wants to quit. Tue Mar 10 10:52:09 1998 Martin M. Hunt <hunt@cygnus.com> * download.tcl (download_it): Change where old breakpoints are cleared. (done): Set focus on "OK" or delete. Tue Mar 10 05:23:42 1998 Keith Seitz <keiths@onions.cygnus.com> * src.tcl (do_key): New method to wrap all keypresses. (mode): Use do_key method. (config_win): Use do_key method. Mon Mar 9 23:06:21 1998 Martin M. Hunt <hunt@cygnus.com> * src.tcl (download_progress): Add an optional message parameter to the function for use with error messages. Don't set_status twice on cancel. Call update if load fails. * download.tcl (done): If 'msg' is set, it should be displayed and download has failed. Update all source windows. (cancel): Don't delete window here. Let it get deleted after call to method 'done'. (download_it): If download failed, call done method with error message. Force reissue of target command. Handle set_target failures. * main.tcl (set_target): Check result of target command to see if the user cancelled the command. (run_executable): Use gdb_program_has_run instead of gdb_app_running, which was removed everywhere. Force download when gdb_program_has_run. If user cancels download before the download starts, preserve previous state. Mon Mar 9 15:06:21 1998 Martin M. Hunt <hunt@cygnus.com> * console.tcl (invoke): After gdb_immediate() finishes check to see if the window is still there. * main.tcl: Initialize gdbtk_state(console). * interface.tcl: Remove some unused globals. Replace gdb_console with gdbtk_state(console). (gdbtk_tcl_readline_*): Don't set gdbtk_state(console) every time. Let manage.tcl do it. * manage.tcl (manage_create): Replace gdb_console with gdbtk_state(console). Check for windows that were deleted, but not actually gone yet. (manage_delete): Replace gdb_console with gdbtk_state(console). Mon Mar 9 09:08:11 1998 Keith Seitz <keiths@onions.cygnus.com> * watch.tcl (build_win): Tweak layout of the entry and button, switching to grid geometry manager. Thu Mar 26 01:22:23 1998 Martin M. Hunt <hunt@cygnus.com> * target.tcl: New file. Implements target dialog. * srcbar.tcl (_set_run): Remove because it was no longer used. * util.tcl (freeze): Only call idewindow_freeze when using the IDE. * prefs.tcl (pref_set_defaults): Set default tab size to 4. * src.tcl (location): If gdb_listfuncs cannot find functions, display error message. (setTabs): Set real tabs according to gdb/src/tab_size. * main.tcl (set_exe): Check to see if file was stripped. Cannot debug without some symbols. (set_target_name): If target changes, set gdb_exe_changed so new "file" command will be sent. When not using IDE, display target requester. * manage.tcl: Set loadpref to GdbLoadPref. Wed Mar 25 14:13:52 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * manage.tcl (manage_init) added tracedlg and actiondlg windows. Wed Mar 25 14:08:51 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * interface.tcl (gdbtk_tcl_pre_add_symbol): New procedure. (gdbtk_tcl_post_add_symbol): New procedure. * src.tcl (set_execution_status): Use "set_status" to write to the status bar, not "set Status". Mon Mar 23 13:41:39 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> * memory.tcl: Changes to support new faster gdb_get_mem(). (do_popup): Add "Go To" and Open New Window" to the popup menu. Sat Mar 21 21:18:06 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com> Merged changes from Foundry (list follows in reverse chronological order) Sean Mahan <smahan@cygnus.com> * download_pref.tcl (help): Added method to display context sensitive help. Keith Seitz <keiths@onions.cygnus.com> * src.tcl (bp_line): Don't insert breakpoints if we're running. (disable_ui): Disable selections. Workaround for TkTextDisplay bug. (enable_ui): Enable selections. (no_inferior): Enable selections. Tom Tromey <tromey@cygnus.com> * toolbar.tcl (create_menu_items): Use gdb_immediate, not gdb_cmd, so that output appears in console window. * src.tcl (bp_line): Use gdb_immediate when running "continue". (mode): Use gdb_immediate, not gdb_cmd, so that output appears in console window. (config_win): Likewise. * srcbar.tcl (create_buttons): Use gdb_immediate, not gdb_cmd, so that output appears in console window. * console.tcl (lvarpush): Removed. (_insertion): New method. (_saved_insertion): New private variable. (constructor): Don't let user use mouse to put cursor outside command line. * src.tcl (build_win): Use global/status font on status bar. * interface.tcl (gdbtk_tcl_query): Moved vwait out of `if' statement -- must vwait in all cases, not just in case when question is actually asked. Keith Seitz <keiths@onions.cygnus.com> * variables.tcl (deleteTree): Reset Locals and ChangeList, too. Martin M. Hunt <hunt@cygnus.com> * toolbar.tcl (enable_ui): Don't always set stepi and nexti buttons on. Keith Seitz <keiths@onions.cygnus.com> * toolbar.tcl (no_inferior): Instead of enabling/disabling the individual menus on Windows, disable each menu's entries. (disable_ui): Ditto. (enable_ui): Ditto. Keith Seitz <keiths@onions.cygnus.com> * manage.tcl (manage_delete): Catch destruction of the src window when downloading and ask user if this is what he intends. (manage_init): Don't install idle, busy, and no_inferior hooks. Allow gdb to exit whenever the user wants to. * srcbar.tcl (cancel_download): download_cancel_ok is a global. Martin M. Hunt <hunt@cygnus.com> * ide.tcl (receive_file_changed): Minor fix when a new executable is built when GDB is running. Martin M. Hunt <hunt@cygnus.com> * bp.tcl (bp_delete): If a selected breakpoint is deleted, set "selected" to 0. Keith Seitz <keiths@onions.cygnus.com> * srcbar.tcl (cancel_download): New method to cancel downloads. Needed to cancel download dialog-enabled downloads. (_set_runstop): Call cancel_download. * download.tcl (Download::constructor): Make sure to set the toolbar properly so that the Stop/Cancel button cancels a download. (download_it): Force the CANCEL to all download_progress_hook's. * src.tcl (download_progress): Add special section identifier for canceled downloads. (SrcWin::destructor): Pass the state_hook's command to remove_hook. Sean Mahan <smahan@cygnus.com> * toolbar.tcl (create_menu_items): Help menu follows "Help Topics" standard (PR 15082). Tom Tromey <tromey@cygnus.com> * interface.tcl (gdbtk_tcl_query): Consolidate Windows case; must `vwait' even when question is already being asked. Martin M. Hunt <hunt@cygnus.com> * interface.tcl (gdbtk_tcl_query): Only use ide_messageBox on Windows. Martin M. Hunt <hunt@cygnus.com> * register.tcl: Catch several gdb_register commands so errors don't bother us. * variables.tcl (destructor): Remove all hooks. Martin M. Hunt <hunt@cygnus.com> * download.tcl (done): Don't let seconds be zero. * manage.tcl (manage_disable_all): Don't ever disable "." Martin M. Hunt <hunt@cygnus.com> * main.tcl (run_executable): Removed delete_breakpoints stuff. * download.tcl (download_it): Removed delete_breakpoints stuff. Clear any breakpoints at exit and main before restarting. They get set again automatically if the preferences say they should. (Download): Don't call freeze on download window, because it stops updating when we do. (update): Renamed to update_download to avoid confusion. * src.tcl (mode): When changing from SRC+ASM to another mode, unset "awin". (bp_line): On a "Continue to Here" don't try to restore breakpoints that didn't exist before. Tom Tromey <tromey@cygnus.com> * interface.tcl (gdbtk_tcl_query): Set -parent on dialog. Martin M. Hunt <hunt@cygnus.com> * src.tcl (build_win): Set mode combobox width to 10. (goto_func): If a function name is an unmangled one, it is a C++ method so don't prepend filename when setting location. This is a kludge, but we are limited by the symtax the GDB command line parser will accept. (location): When loading function combobox, remember which names are unmangled. Change width of function combobox dynamically to better accomodate those long C++ names. Martin M. Hunt <hunt@cygnus.com> * src.tcl (bp_line): When doing a "continue to here", first save states of all breakpoints then restore when finished. (config_win): Uncomment "Continue to Here" menu item. Martin M. Hunt <hunt@cygnus.com> * src.tcl (location): Use ide_cygwin_path on Windows to change project root to the right format. Drew Moseley <dmoseley@cygnus.com> * main.tcl: (run_executable): Modified to call download_it with the parameter indicating whether to delete breakpoints. If GDB is loaded ($gdb_loaded == 1) and the app is running ($gdb_app_running == 1) then we don't delete the breakpoints. All other situations will require deleting the breakpoints. This allows us to redownload and run the same executable w/o losing the breakpoint information. * download.tcl: (download_it): Modified this routine to take a boolean parameter indicating whether to delete the breakpoints before downloading. Sean Mahan <smahan@cygnus.com> * toolbar.tcl (create_menu_items): Couldn't use 'helpdir' variable so used Paths(prefix) and added help. Martin M. Hunt <hunt@cygnus.com> * src.tcl (set_state): Turn off debugging. (location): Map windows pathnames into form GDB uses internally. (bp_line): Use gdb_set_bp to set breakpoints on a specific line in a file. Martin M. Hunt <hunt@cygnus.com> * stack.tcl (update): Skip over any empty elements in parsing the stack line to get the correct PC. Keith Seitz <keiths@onions.cygnus.com> * download.tcl (download_it): Run gdb_busy_hook's. If anything fails, make sure that the no_inferior_hook's are run. Note errors that occur during downloading, ignoring the "cancelled download" message. If an error occurs, set the global gdb_download_error to the error message so that it can be shown to the user later. Don't run the idle hooks if nothing * src.tcl (download_progress): Do not rely on the value of "download_cancel_ok" -- it is cleared in download_it. Reorder code to take advantage of gdb_loaded and gdb_download_error to determine if a download was canceled, successful, or failed due to an error. Truncate the "DOWNLOAD FINISHED:" message so that it will fit into the status bar given the recent font changes. (busy): If gdb_loaded, set the status bar to read "Program is running." Otherwise, don't touch it. (config_win): Comment out "Continue to here" right-click menu item until it can properly preserve breakpoint state. (no_inferior): Configure the toolbar to -runstop 0. All of these toolbar references should be done via the busy hook by the SrcBar class itself someday... Sean Mahan <smahan@cygnus.com> * toolbar.tcl (create_menu_items): Added ability to launch the tour help file from the help menu. Martin M. Hunt <hunt@cygnus.com> * manage.tcl, ide.tcl: Disable some debugging messages. Martin M. Hunt <hunt@cygnus.com> * src.tcl (set_state): When loaded state changes, invalidate current file. Martin M. Hunt <hunt@cygnus.com> * src.tcl (SrcWin): Change default title to "Foundry Debugger". (build_win): Change name and function combobox heights to 0. Set status bar font to src-font. (name): Rewrite to use _files array. This array allows us to map full pathnames with short names that are easily displayed. (file): Call set_name to update name combobox. (location): Call set_name to update name combobox. When setting the function combobox, adjust height to a maximum of 10. CLear filename combobox if there is no valid filename. When setting the filename combobox, adjust height to a maximum of 10. Create _files array mapping full pathnames to short names. For IDE, use vmake/source-files and project-root to build full pathnames. When changing mode, save current line. Don't mark current line with PC_TAG if gdb_running is 0. (set_name): New function. Update the name combobox, using the short name from _files if available. * bp.tcl (bp_modify, bp_add): Use short file name from _files global array. Keith Seitz <keiths@onions.cygnus.com> * variables.tcl (VariableWin): Add idle, busy, and no inferior hooks. (selectionChanged): Use Running fencepost. (updateNow): Use Running fencepost. (editEntry): Use Running fencepost. (postMenu): Use Running fencepost. (setDisplay): Use Running fencepost. (open): Use Running fencepost. (close): Use Running fencepost. (enable_ui): Define new procedure to install fencepost. (disable_ui): Define new procedure to remove fencepost. (no_inferior): Define new procedure to remove fencepost and clear tree. (Running): New protected data. This is used as a fencepost in this object. * main.tcl: Run gdb_no_inferior_hook's when done initializing. * src.tcl (disable_ui): Disable the combo boxes, too. (enable_ui): Enable the combo boxes, too. * download.tcl (download_it): Run gdb_no_inferior_hooks, too. Martin M. Hunt <hunt@cygnus.com> * main.tcl: Move IDE help initialization to ide.tcl. * ide.tcl (gdbtk_ide_init): Move help system initialization here. Sean Mahan <smahan@cygnus.com> * main.tcl: Initialized help sub-system for the ide. Tomy Hudson <thudson@thudson5.cygnus.com> * prefs.tcl: Changed COM1 back to com1 per Martins request. Martin M. Hunt <hunt@cygnus.com> * src.tcl (file): Call gdb_loadfile to do most of the work. Tomy Hudson <thudson@thudson5.cygnus.com> * prefs.tcl: Changed "com1" to "COM1" <dmoseley@cygnus.com> * main.tcl: (run_executable): Added code to test for app_running. If the app has been started and the user requests a "run", then we must redownload to ensure that the global initialized data is handled properly. * download.tcl: (download_it): See above note. Sean Mahan <smahan@cygnus.com> * toolbar.tcl (create_menu_items): changed "Tutorial" to "Cygnus Foundry Tour" in the Help menu. Tom Tromey <tromey@cygnus.com> * memory.tcl (mem_del): "destroy forget" is invalid; use "destroy" instead. * interface.tcl (gdbtk_tcl_query): Only ask each question once. Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_init): Initialize new global _manage_enabled_flag to 1. (manage_disable_all): Only disable if _manage_enabled_flag is 1. (manage_enable_all): Only enable if _manage_enabled_flag is not 1. Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_iconify): Check for toplevel of "." before doing anything. * main.tcl (set_target_name): Use "pref getd" in case port is undefined. Keith Seitz <keiths@onions.cygnus.com> * toolbar.tcl (GDBToolBar::constructor): Add appropriate idle, busy, and no-inferior hooks for this class. (create_buttons): Add all buttons to two lists so we can disable or enable them according to the inferior's run state. (create_menu_items): Same with the menus. * srcbar.tcl (create_buttons): Add all buttons to two lists so we can disable or enable them according to the inferior's run state. (create_menu_items): Same with the menus. (_set_run): Don't do anything to disable UI elements: the idle, busy, and no_inferior hooks will take care of it. (_set_runstop): Don't do anything to disable UI elements: the idle, busy, and no_inferior hooks will take care of it. * manage.tcl (manage): Add two new manage protocols: enable_all and disable_all. (manage_disable_all): New procedure to disable window manager functions such as window deletions. (manage_enable_all): New procedure to undo any changes made by manage_disable_all. (_manage_set_property): New helper procedure for above. (manage_init): Install this module's idle, busy, and no_inferior hooks. * src.tcl (SrcWin::constructor): Add new no_inferior hook. (disable_ui): New procedure to disable ui elements. (enable_ui): New procedure to enable_ui elements. (no_inferior): New procedure to reset GUI. (SrcWin::Running): New protected variable. A fencepost for the above hooks. (do_popup): Use above fencepost. (showBalloon): Use above fencepost. * main.tcl: Define new hook " gdb_no_inferior_hook". Martin M. Hunt <hunt@cygnus.com> * src.tcl (SrcWin): Immediately set title name to "Debugger". Martin M. Hunt <hunt@cygnus.com> * download_pref.tcl (LoadPref): Make window transient. Martin M. Hunt <hunt@cygnus.com> * register.tcl (build_win): Set scrollbars to auto on Unix. * stack.tcl (build_win): Set scrollbars to auto on Unix. * memory.tcl (build_win): Restore proper resize functioning on Unix. * bp.tcl (build_win): Fix problem with merging Tom's sizebox change. Fix Tom's change so scrollbars aren't always on on Unix, at least. * interface.tcl (gdbtk_pc_changed): Called from GDB when the PC is changed with a "set $pc" command. (gdb_show_command, gdb_args, gdb_stack_trace, gdb_docstring,gdb_stack_depth, gdb_stack_frame): Removed. Martin M. Hunt <hunt@cygnus.com> * memory.tcl (destructor): Destroy memory prefs window if one exists. (create_prefs): Make prefs window transient. * util.tcl (freeze): Make keep_raised an option. Martin M. Hunt <hunt@cygnus.com> * ide.tcl (receive_file_changed): Ignore object file changes. On source file changes, put up a messagebox warning the user. Change both messageboxes to be system modal, which seems to just mean they will be on top. Martin M. Hunt <hunt@cygnus.com> * download.tcl (download_it): Reset download_cancel flag. * src.tcl: Create "tagtype" as a protected variable containing the current tag mode; PC, BROWSE, or STACK. Change all functions to use it. (mode): Fix problem with changing modes while browsing stack functions. (name): Add good filenames to the combobox history. (SrcWin): Turn off automatic history in name combobox. (file): If filename is not found, but is part of sources, put it in combobox followed by "(not found)" (location): Reorder and restructure this function to be more robust when files cannot be found or mode changes are required. When stack browsing, highlight PC if it is in the displayed area, and fix the off-by-1 problem with PCs saved on the stack. (update): Use lassign and new tagtype variable. (set_execution_status): Change message formats for MIXED and SRC+ASM modes. (mode): Update toolbar and mode display before calling location. Use tagtype so tag mode is preserved. * bp.tcl (bp_type): Deselect line before changing its type. Tom Tromey <tromey@cygnus.com> * bp.tcl (build_win): Use built-in sizebox of tixScrolledWindow. * watch.tcl (console): Set Sizebox to 0. * memory.tcl (build_win): Use built-in sizebox of tixScrolledWindow. * stack.tcl (build_win): Use built-in sizebox of tixScrolledWindow. * locals.tcl (build_win): Don't create sizebox. * variables.tcl (build_win): Use built-in sizebox of tixScrolledWindow. (Sizebox): New instance variable. * console.tcl (console): Use built-in sizebox of tixScrolledWindow. * register.tcl (build_win): Use built-in sizebox of tixScrolledWindow. Martin M. Hunt <hunt@cygnus.com> * main.tcl (set_target_name): Set port based on target name. (set_baud): Set baud rate based on target name. * srcbar.tcl: Change shortcuts to use () instead of <>. * download.tcl (download_it): Set download_verbose based on target name. * src.tcl (build_win): Set height to 0 for name and function comboboxes. (location): In IDE, use vmake/source-files property to fill name combobox. Keith Seitz <keiths@onions.cygnus.com> * variables.tcl (build_win): Set the variable window's default size to 40 chars. Martin M. Hunt <hunt@cygnus.com> * src.tcl (set_state): When loaded state changes, set program_has_run state to 0. Martin M. Hunt <hunt@cygnus.com> * src.tcl (set_status): Rewrite to handle temporary status messages. (set_execution_status): New function. Put a message about the current program status in the status bar. (trace_help): New function. Trace on changing ballon help messages. Write them in the status bar. * main.tcl (set_target): Comment out changing cursor. Martin M. Hunt <hunt@cygnus.com> * variables.tcl (changeValue): Trim string before comparing with "". Keith Seitz <keiths@onions.cygnus.com> * console.tcl (constructor): Set no wrap mode. * src.tcl (SrcWin::name): Make sure we ask gdb where the source file is before asking the source window to open it. (SrcWin::file): Do not ask gdb where the file is -- someone else already has. Set the file selector to the filename only once and only if successful finding the file. (SrcWin::location): Add flag idicating that a file load has failed. Resolves recursive loop with SrcWin::mode and SrcWin::location. Make sure the file and function selectors are filled only once. (SrcWin::mode): Add error flag to indicate that a file load failed. Resolves recursive loop with SrcWin::location. Make sure we exit with the proper mode set on the source window. (SrcWin::current_addr): Define a default value of 0x0. * console.tcl (invoke): Use new gdb_immediate command instead of gdb_cmd. (insert): Add all errors to the end of the text widget. Send errors to end of text widget, not insertion pt. (einsert): Send errors to end of text widget, not insertion pt. * interface.tcl (gdbtk_tcl_readline_begin): Insert message into command window so that the user sees messages like "Enter commands, one per line. Enter 'end' when finished." * main.tcl: Initialize gdbtk_state(readline). Tom Tromey <tromey@cygnus.com> * manage.tcl (manage_open): Force focus onto toplevel. * mem_pref.tcl (build_win): Don't put <Return> binding on toplevel; instead put focus on OK button. Martin M. Hunt <hunt@cygnus.com> * main.tcl (set_target_name): Replace "com1" with the port name we really want to use. * bp.tcl (build_win): Use place manager for sizebox so it doesn't go away when window is resized. * stack.tcl (build_win): Fix stack window. * memory.tcl: Back out previous changes. * locals.tcl (build_win): Use place manager for sizebox so it doesn't go away when window is resized. Tom Tromey <tromey@cygnus.com> * mem_pref.tcl (build_win): Make OK button default. * ide.tcl (gdbtk_ide_init): Set gdb_pretty_name. Track changes to target-pretty-name property. * src.tcl (update_title): Display pretty name for target. * main.tcl (set_target): Display pretty name for target. (gdb_pretty_name): New global. * ide.tcl (target_pretty_name_changed): New proc. (receive_file_changed): Display pretty name for target. * download.tcl (download_it): Display pretty name for target. (console): Likewise. Thomas Hudson <thudson@cygnus.com> * bp.tcl (build_win): Added frame and sizebox to bottom. Returned geometry management to previous packing style and window layout. * stack.tcl (build_win): ditto * memory.tcl (build_win): ditto * watch.tcl (build_win): ditto * locals.tcl (build_win): ditto Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_iconify): Catch iconify command. * download.tcl (download_it): If set_target fails, set gdb_downloading to 0 and return. * main.tcl (set_target): Handle target command timeouts. Pop up messagebox. Set cursor to "watch". Set title on source window. Return 0 on error. Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_find): Fix to return a list of windows. * console.tcl (Console): Fix sizebox so it doesn't create a whole blank line and it doesn't mess up Unix. * register.tcl (build_win): Change "Show" to "Display". Tomy Hudson <thudson@cygnus.com> * console.tcl (build_win) Added frame and ide_sizebox to bottom of window. * stack.tcl (build_win) Added frame and ide_sizebox to bottom of window. * watch.tcl (build_win) Added frame and ide_sizebox to bottom of window. * locals.tcl (build_win) Added frame and ide_sizebox to bottom of window. Tom Tromey <tromey@cygnus.com> * memory.tcl (build_win): Updated -underline values. Martin M. Hunt <hunt@cygnus.com> * memory.tcl (init_addr_exp): New function. Set the initial address expression to the location of .data if it is defined. Otherwise use $pc. Tom Tromey <tromey@cygnus.com> * bp.tcl (build_win): Changed packing so content fills window. Removed `g' and `a' frames. Changed gridding on labels. (bp_add): Changed gridding on new entries. * memory.tcl (build_win): Put spaces in front of all menu labels. Martin M. Hunt <hunt@cygnus.com> * download.tcl (download_it): Change error to messagebox. Tom Tromey <tromey@cygnus.com> * register.tcl (reg_display_list): Initialize to empty list. (init_reg_display_vars): Don't unset reg_display_list; set it to empty list. (delete_from_display_list): Likewise. Martin M. Hunt <hunt@cygnus.com> * ide.tcl (ide_run_server, ide_do_run_server): Take an optional argument to indicate if program should be run or simply downloaded. * console.tcl (Console): Enable scrollbars in both directions. * main.tcl: Moved keep_raised, sleep, and toggle_debug_mode to util.tcl. (set_exe): If exe changed, set gdb_target_changed to force new target command to be sent. (set_target_name): Check to see if gdb_target_changed. (run_executable): If exe or target changed, set gdb_loaded to 0, forcing a new download. If download only, try to display function main in source window. * util.tcl: New file. * hooks.tcl: Removed. Use version in libide. * Makefile: Add util.tcl. * download.tcl (Download): Call freeze to make modal window. (_map): Deleted. (download_it): Call set_baud, then set_exe then set_target. * mem_pref.tcl (build_win): Set default number of bytes to 128. * memory.tcl (build_win): Enable horizontal scrollbar when in resize mode. Anchor to top-left. Use "nb" to count actual number of bytes displayed, instead of "numbytes" which will be 0 when in resize mode. (delete_prefs): Deleted. * src.tcl (mode): Update mode combobox with new mode name. (location): In SRC+ASM mode if we step into a function without source code, unhighlight everything in the source pane and let the assembly pane show our current location. (build_win): Enable scrollbars in both directions. (set_state): Call update_title. (update_title): Don't set title if the target or exe has changed. (trace_variable): Couldn't figure out what this did that could be useful so delete it and everything that references it. * watch.tcl: Add description and copyright. * variables.tcl, interface.tcl, locals.tcl: Add copyright. * prefs.tcl, register.tcl: Add copyright. Tomy Hudson <thudson@cygnus.com> * register.tcl (reg_select_): Modified reg_select_* movement methods to use the register display list instead of a straight index. Tomy Hudson <thudson@cygnus.com> * register.tcl (unedit): Changed input focus to $ScrolledWin.$Editing in unedit. This allows arrow and tab key bindings to work after an edit. Tomy Hudson <thudson@cygnus.com> * register.tcl (build_win): Added key bindings and support for tab and arrow keys, including four new methods; reg_select_up,reg_select_down, reg_select_left, reg_select_right * register.tcl (build_win): Added spacing frame and ide_sizebox to window. Changed geometry manager to grid. Martin M. Hunt <hunt@cygnus.com> * stack.tcl (update): Only insert entries that have length. Break when matching entry in listbox is found. * src.tcl (config_win): Fix control-v binding so it doesn't paste on Windows. Cancel <Delete> binding. Martin M. Hunt <hunt@cygnus.com> * src.tcl (build_win): Force focus from toplevel down to text window. (mode): Restructure code to be clearer. Set focus when done. Tomy Hudson <thudson@cygnus.com> * src.tcl (mode): Modified key bindings for MIXED mode to be the same as ASSEMBLY mode Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_init): set bp-save to 1. * variables.tcl (changeValue): If new value is null, cancel edit. Tomy Hudson <thudson@cygnus.com> * memory.tcl (do_popup): Added method do_popup. Changed binding of button-3 to invoke popup menu. Tomy Hudson <thudson@cygnus.com> * src.tcl (do_popup): Removed check for space in variable name that disabled popup menu items. Only check now is for "". Tomy Hudson <thudson@cygnus.com> * src.tcl (do_popup): Removed variable name from popup menu items. Added check for sane variable in selection to disable menu items when appropriate. Martin M. Hunt <hunt@cygnus.com> * bp.tcl (bp_delete): Destroy widgets in deleted line. * srcbar.tcl (_set_run): Enable View menu items when download is finished. * download_pref.tcl (LoadPref): Call loadprefs with gdbrunning set to 1. Tom Tromey <tromey@cygnus.com> * ide.tcl (gdbtk_ide_init): Use property vmake/exelist, not vmake-exelist. Martin M. Hunt <hunt@cygnus.com> * variables.tcl (build_menu_helper): Comment-out Update menu. (getVariables): Change variable name so it doesn't get confused with window variables. (postMenu): Comment-out Update entries. (UnEdit): Unbind keys when unediting. * memory.tcl (create_prefs): When prefs are already open, raise and focus the window. * bp.tcl (bp_type): Deselect current line when type changes. Martin M. Hunt <hunt@cygnus.com> * toolbar.tcl (create_menu_items): Call open_url for web connections. * src.tcl (name): When new file load fails, remove it from combobox. When load succeeds, clear status message. (location): Change how files are loaded into combobox. Call new gdb_listfiles function. Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_create): Give newly created windows the focus on all platforms. * mem_pref.tcl (destructor): Notify parent when exiting. * srcbar.tcl (_set_run): Better state handling on pulldowns and icons. * src.tcl (build_win): Start with toolbar in right state. * memory.tcl (MemWin): Withdraw window until finished. (delete_prefs): New function. Martin M. Hunt <hunt@cygnus.com> * manage.tcl: For IDE, iconify all windows when source window is iconified. * mem_pref.tcl: Take out all the modal stuff. Leave this window non-modal. * download.tcl: Fix references to source window. (Download): Make window modal and always on top. * memory.tcl (destructor): Kill mem prefs window too. * variables.tcl (changeValue): Clean up. * register.tcl (acceptEdit): Change error messagebox. Martin M. Hunt <hunt@cygnus.com> * src.tcl (set_state): Disable items in breakpoint popups. (config_win): Change capitalization in popups. Martin M. Hunt <hunt@cygnus.com> * main.tcl: Major rewrite. Simplify. Move IDE functions to new file. Add state variables and hooks. Add copyright. * ide.tcl: New file. IDE functions. * download.tcl (download_it): Use new state variables. * src.tcl: Use new state variables. (constructor): Add state hook. (set_state): Hook to enable/disable menus and icons. * srcbar.tcl (runstop): Renamed from "running" (running): Public variable to control icons. (_set_runstop): Change Running man to stop sign. (_set_run): Enable/disable icons depending on debugger state. * manage.tcl (create_closed): Deleted function. (manage_create): Remove visibility argumnet. (manage_delete): Remove special case for debugger prefs. * prefs.tcl (pref_set_defaults): Remove gdb/advanced. * hooks.tcl: Add copyright. * Makefile: Add ide.tcl. Tom Tromey <tromey@cygnus.com> * download_pref.tcl (LoadPref): Inherit from GdbLoadPref. (constructor): Rewritten. (build_win): Removed. (change_baud): Removed. (save): Removed. (cancel): Removed. (config): Removed. (reconfig): Removed. Martin M. Hunt <hunt@cygnus.com> * main.tcl (target_name_changed): Append correct port name to target name. (gdbtk_ide_init): Don't initialize IDE preferences. Append port name to target name. * toolbar.tcl (create_menu_items): Add Debugger Preferences to File menu. * pref.tcl: Remove all ide preferences functions. * prefs.tcl (pref_set_defaults): Define gdb/load/port. * download_pref.tcl: Added serial port selection. Martin M. Hunt <hunt@cygnus.com> * register.tcl (acceptEdit): Remove leading spaces from values. * src.tcl (config_win): New tag bp_tag. Like break_tag except used when a bp is set on that line. Bind new menu to bp_tag. (insertBreakTag): Accept tag type. Remove old tag. (do_bp): When a breakpoint is set, use bp_tag. Tom Tromey <tromey@cygnus.com> * pref.tcl (pref_ide_proc): Withdraw the toplevel, not the window. Tom Tromey <tromey@cygnus.com> * tclIndex: Rebuilt. * mem_pref.tcl (build_win): Use standard_button_box. (_map): New method. (constructor): Run _map on <Map> event. * pref.tcl (pref_ide_proc): Use idewindow_check_freeze. (pref_modal_dialog): Use idewindow_freeze and idewindow_thaw. * hooks.tcl: Removed. * Makefile (TCL): Removed hooks.tcl. Tom Tromey <tromey@cygnus.com> * main.tcl (ide_run_server): Quote call to ide_do_run_server. Tom Tromey <tromey@cygnus.com> * download_pref.tcl (build_win): Make OK button default. Invoke when Return pressed. * download_pref.tcl (build_win): Don't allow pref window to resize. Use standard_button_box to lay out buttons. * pref.tcl (pref_ide_proc): Handle window freezing. (pref_modal_dialog): Freeze and thaw window around the grab. (build_win): Use standard_button_box to lay out buttons. Don't allow pref window to resize. Ian Lance Taylor <ian@cygnus.com> * src.tcl (src_ide_proc): Download the file in an idle callback. Execute the idewindow command even if the download was cancelled. * library/main.tcl (ide_run_server): Do everything in an idle callback. (ide_do_run_server): New procedure. Martin M. Hunt <hunt@cygnus.com> * src.tcl (bp_line): Use hasBP instead of validBPLine. Allow type TC even if BP set. (validBPLine): Renamed to hasBP. Tom Tromey <tromey@cygnus.com> * manage.tcl (manage_open): Special case "about" window when running under IDE. Martin M. Hunt <hunt@cygnus.com> * main.tcl (set_target): Set the target again if the executable has changed and executed a "file" command. * memory.tcl (update_address): Accept numerical entries and catch errors. * download.tcl (Download): Cancel button should call cancel method. * main.tcl (run_executable): Fixed messageBox. Tom Tromey <tromey@cygnus.com> * floatbar.tcl (constructor): Added. * srcbar.tcl (constructor): Added. * toolbar.tcl (_ide_title): New instance variable. (create_menu_items): Pass _ide_title to idewindmenu. Martin M. Hunt <hunt@cygnus.com> * main.tcl (toggle_debug_mode): Fix typo and print debug message before disabling it. Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_delete): Don't remove a window from the active list until after it has already deleted itself. * toolbar.tcl (create_menu_items): Change Console shortcut to Ctrl+N. * src.tcl (config_win): Change Console shortcut to Ctrl+N. Martin M. Hunt <hunt@cygnus.com> * src.tcl: (do_bp): Catch errors. (validBPLine): Valid lines have a "-" or an image. Martin M. Hunt <hunt@cygnus.com> * main.tcl (ide_run_server): Don't run executable if download was cancelled. Reset cancelled flag. (run_executable): Call download_it. (download): Renamed download_it and moved to download.tcl. (set_target): Don't set target if the name hasn't changed from the last time. * register.tcl (reg_select): Catch errors. (delete_from_display_list): Enable menu item. * src.tcl (build_win): Add progress bar for downloads. (download_progress): New function. Callback to update progress meter. (src_ide_proc): Don't open src window if download cancelled. * toolbar.tcl (create_menu_items): Call download_it. * srcbar.tcl (_set_run): New mode. Sets run button to stop sign during downloads. * prefs.tcl (pref_set_defaults): Define gdb/load/verbose. * interface.tcl: Define new hook download_progress_hook. * floatbar.tcl (create_buttons): Call download_it. * download_pref.tcl: Add download dialog prefs. * download.tcl (Download): Change back to old dialog with each section listed seperately. (download_hash): Use a hook. (download_it): New function. Replaces old "download" from main.tcl. Now deletes all breakpoints before downloading and handles cancels correctly. Martin M. Hunt <hunt@cygnus.com> * main.tcl (download): Don't quote the executable name with single quotes. Tom Tromey <tromey@cygnus.com> * src.tcl (src_ide_proc): Exit gdb when destroy request seen. Ian Lance Taylor <ian@cygnus.com> * main.tcl (gdbtk_ide_init): Use src_ide_proc for the source window, rather than idewindow_proc. Remove extraneous line. * src.tcl (src_ide_proc): New procedure, replacing open_src. Only download if we are opening the source window. (src_no_save): New procedure. * main.tcl (gdbtk_ide_init): Initialize gdb_checking_for_exit. Register gdb_exit_check as the exit check procedure. (gdb_exit_check): New procedure. * interface.tcl (gdbtk_tcl_query): If gdb_checking_for_exit, use a system modal message box. * src.tcl (build_win): Create a FocusIn binding to push focus down from the top level. * console.tcl: Change all control, alt, and unadorned character bindings to use bind_plain_key. * memory.tcl: Likewise. * src.tcl: Likewise. * variables.tcl: Likewise. * src.tcl: Use bind_plain_key rather than explicitly ignoring Alt bindings. * src.tcl (print): Call idewindow_freeze and idewindow_thaw around call to print menu. * srcbar.tcl (create_menu_items): Likewise, around call to page setup menu. * main.tcl (gdbtk_ide_init): Use an underscore in generic window name, to set the accelerator key. (ide_run_server): Likewise. * toolbar.tcl (create_buttons): Likewise. Martin M. Hunt <hunt@cygnus.com> * register.tcl (acceptEdit): If no value is entered, set the cell to 0. Ian Lance Taylor <ian@cygnus.com> * src.tcl (config_win): Add ignored Alt bindings for all the unmodified key bindings. * download.tcl (constructor): Withdraw the window before doing anything. Set the width of the label. Don't try to center the window. Pass toplevels to wm transient. Run keep_raised after 500. Don't call update. (done): Use after rather than a busy loop. (destructor): Cancel the after if it is defined. (after_id): New protected variable. * main.tcl (download): If download is already running, don't do anything. If .load0.load exists, delete it before calling manage create. * main.tcl (gdbtk_ide_init): Use pref_ide_proc rather than idewindow_proc when registering the preference window. * download_pref.tcl (save, cancel): Call pref_ide_finished. * pref.tcl (save, cancel): Likewise. (pref_ide_proc): New procedure. (pref_no_save): New procedure. (pref_modal_dialog): New procedure. (pref_ide_finished): New procedure. * tclIndex: Rebuild. * main.tcl (gdbtk_ide_init): Initialize gdb_download_cancelled. (run_executable): Put a trace on gdb_download_cancelled. Change the dialog box message. If the user cancels the download, clear gdb_run_pending and just return without running. (ide_do_run): Remove the traces on gdb_download_cancelled. If the user cancelled the download, just clear gdb_run_pending. (target_name_changed): Clear gdb_download_cancelled. Call set_exe_name. (download): If the executable is not up to date, ask whether the user is really really sure. If the user cancels the download using the dialog button, set gdb_download_cancelled, and don't set the breakpoints or gdb_download_complete. (set_exe_name): Clear gdb_download_cancelled. (receive_file_changed): Ask whether we should download the new executable. * src.tcl (open_src): Don't download the file if gdb_download_cancelled is set. * interface.tcl (gdbtk_tcl_query): Pass -modal task to tk_messageBox. * main.tcl (set_exe_name): Tell the src window to go back to looking at main if the file changes. * src.tcl (update): Catch errors when calling gdb_loc. * main.tcl (gdbtk_ide_init): Handle file-created, file-changed, file-removed, and file-deleted events rather than process-ended events. (set_exe_name): Call gdb_clear_file even if the file does not exist. Likewise for setting gdb_download_complete to zero. (receive_file_changed): Rename from receive_process_ended. Only check the executable mtime if the tail of the file name matches the executable name. Ian Lance Taylor <ian@cygnus.com> * srcbar.tcl (create_menu_items): Change ``Print Setup...'' to ``Page Setup...''. Pass -parent to ide_winprint page_setup. * src.tcl (print): Pass -parent to send_printer. Ian Lance Taylor <ian@cygnus.com> * main.tcl: Move initialization code to end of file, after all procedures have been defined. (gdbtk_ide_init): New procedure to handle IDE initialization. (gdbtk_tcl_preloop): Don't do anything if using the IDE. (ide_run_server): Error if file does not exist. Use idewindow_activate_by_name, rather than manage open. Do everything after idle. (run_executable): Clean up a bit. Consistently use ide_do_run. (target_name_changed): Rename from target_name. Rename parameter num to propset. (download): Error if the file does not exist. Call set_exe_name. Don't set gdb_download_mtime. Don't check whether gdb_run_pending is 2. (exe_name_changed): Rename from exe_name. (set_exe_name): Set gdb_exe_mtime. Quote filename passed to gdb_cmd. (receive_process_ended): Don't check the data argument. Check gdb_exe_set rather than gdb_download_complete. Check gdb_exe_mtime rather than gdb_download_mtime. * src.tcl (open_src): Set the location to main as well as downloading the file. Don't set gdb_run_pending to 2. Tue Feb 10 17:50:37 1998 Keith Seitz <keiths@onions.cygnus.com> * bp.tcl (build_win): Do not set the disabled foreground for menus. Insert all tracepoints, too. (bp_add): Handle tracepoints. (bp_type): Handle tracepoints. (update): Handle tracepoints. (bp_all): Do tracepoints, too. (Index_to_bptype): New protected variable to index type of break (breakpoint or tracepoint) against index in window. (bp_select): Disable/Enable menu items based on type. (bp_able): Handle tracepoints. * src.tcl (do_bp): Handle disabled tracepoints. * actiondlg.tcl (change_other): Handle memranges and use info address to validate entries. * tracedlg.tcl (edit): Handle memranges when formatting data for action dialog. Mon Jan 26 11:44:39 1998 Keith Seitz <keiths@onions.cygnus.com> * src.tcl (fill_files): Don't check for file's existance -- let SrcWin::name do that. * actiondlg.tcl (change): Add everything that is specified, not just the things about which we know. Sun Jan 25 01:01:32 1998 Martin M. Hunt <hunt@cygnus.com> * stack.tcl (update): Only insert entries that have length. Break when matching entry in listbox is found. * src.tcl (fill_files): Don't call lsort. New listfiles command sorts for us. * variables.tcl (changeValue): If new value is null, cancel edit. (build_menu_helper): Comment-out Update menu. (getVariables): Change variable name so it doesn't get confused with window variables. (postMenu): Comment-out Update entries. (UnEdit): Unbind keys when unediting. Thu Jan 22 10:38:19 1998 Keith Seitz <keiths@cygnus.com> * toolbar.tcl (create_menu_items): Disable preferences. * prefs.tcl (pref_set_defaults): Attach the toolbar to the source window by deafult. * src.tcl (SrcWin::build_win): Turn off history for the file selector. (SrcWin::name): Use SOURCEWIN_set_status to upate status. Make sure we ask gdb where the source file is before asking the source window to open it. (SrcWin::file): Do not ask gdb where the file is -- someone else already has. Set the file selector to the filename only once and only if successful finding the file. (SrcWin::fill_files): Sort the files before inserting into file selector. (SrcWin::location): Add flag idicating that a file load has failed. Resolves recursive loop with SrcWin::mode and SrcWin::location. Make sure the file and function selectors are filled only once. Use SOURCEWIN_set_status and SOURCEWIN_reset_status as appropriate. (SrcWin::set_status): Add verbatim flag to allow a generic message to be displayed. (SrcWin::mode): Add error flag to indicate that a file load failed. Resolves recursive loop with SrcWin::location. Make sure we exit with the proper mode set on the source window. (SrcWin::reset_status): New procedure. (SrcWin::current_addr): Define a default value of 0x0. (SrcWin::Status): New protected variable. (SrcWin::bp_line): Check if breakpoint set in assembly-mode, too. (SOURCEWIN_set_status): New procedure to temporarily set the status bar. (SOURCEWIN_reset_status): New procedure which is called after the status bar should be reset. (SOURCEWIN_reinit): New procedure to reinitialize the source window. (To be called when new symbol files are added and like). * interface.tcl (gdbtk_tcl_query): Properly set the name of the query dialog. (gdbtk_tcl_pre_add_symbol): Hook called from gdbtk.c to inform user that we are reading symbols. (gdbtk_tcl_post_add_symbol): Hook called from gdbtk.c to inform user that are finished reading symbols. * src.tcl (SOURCEWIN_reinit): New procedure which updates the source window with a default file, fills the file selectors, etc. (SOURCEWIN_set_status): New procedure which can be used to set the status bar on the source window. (set_status): Add flag for setting the status as-is. * main.tcl: Call SOURCEWIN_reinit to setup the source window on startup. Fri Jan 16 09:11:30 1998 Keith Seitz <keiths@onions.cygnus.com> * src.tcl (SOURCEWIN_set_status): New procedure to allow anyone to set the status bar text at the bottom of the source window. (fill_files): Use a little more full-proof method (if slower) for eliminating duplicates int the files combobox. * interface.tcl (gdbtk_tcl_pre_add_symbol): New procedure called prior to a symbol file is loaded. (gdbtk_tcl_post_add_symbol): New procedure called after a symbol file is loaded. Thu Jan 15 12:41:27 1998 Keith Seitz <keiths@onions.cygnus.com> * console.tcl (invoke): Use new gdb_immediate command instead of gdb_cmd. Wed Dec 31 16:50:26 1998 Keith Seitz (keiths@onions.cygnus.com) * actiondlg.tcl (change): handle '$' in register names. Wed Dec 10 13:17:21 1997 Keith Seitz <keiths@onions.cygnus.com> * src.tcl (file): Insert tracepoint dots into the source window, too. * tracedlg.tcl (build_win): Add an update to workaround a Tix/Tk bug when mapping the dialog under X. * console.tcl (insert): Add all errors to the end of the text widget. (einsert): Send errors to end of text widget, not insertion pt. (invoke): Send errors to end of text widget, not insertion pt. * interface.tcl (gdbtk_tcl_readline_begin): Insert message into command window so that the user sees messages like "Enter commands, one per line. Enter 'end' when finished." * actiondlg.tcl (change_other): Clear the entry on <Return>. Add fencepost to avoid manipulating collect list twice which could otherwise have undesired side effects. Add some validation test for typed-in entries. (ok): Call change_other to check the "Other" entry widget when the dialog is dismissed. (change): fix typo Mon Dec 8 15:07:51 1997 Keith Seitz <keiths@onions.cygnus.com> * tracedlg.tcl (get_data): New method which gets the data associated with an action. (add_all_actions): Use the new get_data method. * actiondlg.tcl (get_selections): Add "declaration" for i so that its scope is not limited to for loop. Fri Dec 5 10:01:24 1997 Keith Seitz <keiths@pizza.cygnus.com> * tracedlg.tcl (build_win): Add support for ranges of lines at which tracepoint should be set. (add_action): With ranges, use actions from first in tracepoint in the range. (ok): Set tracepoints for ranges, asking if it is ok to overwrite any existing ones when necessary. Dismiss the dialog first -- or else it could hang around forever. (edit): With ranges, use actions of the first tracepoint. TraceDlg::Lines: Renamed from TraceDlg::Line. TraceDlg::New: New protected variable (indicates if there are any new tracepoints being set with this dialog). TraceDlg::Exists: New protected variable (indicates if there are any existing tracepoints that may be overwritten -- so ask the user first). * src.tcl (fill_files): Use gdb_find_file to test for the existence of a file, not "file exists". (do_popup): Filter the selection a little. If the selection is multi-line selection, enable the tracepoint range option. Don't display "add to watch" for EVERYTHING! (validBPLine): Valid lines can have images on them, too. (bp_line): Fallout of above: check if breakpoint exists before deciding whether to clear it or set it. (getVariable): Sllow LINE to be passed, so others can filter lines, too. (set_tracepoint): Pass TraceDlg a list of lines -- only one line in this case. (tracepoint_range): New function to set tracepoint ranges. (file): Use gdb_find_file to get the real filename. Wed Nov 26 15:02:43 1997 Keith Seitz <keiths@onions.cygnus.com> * balloon.tcl, gettext.tcl: Remove obsolete files. * console.tcl (invoke): Remove debug line. * src.tcl (update): Remove debug line. * prefs.tcl (pref_set_defaults): Turn debug mode off by deafult. Wed Nov 26 11:30:49 1997 Keith Seitz <keiths@onions.cygnus.com> * main.tcl: Initialize gdbtk_state(readline). * console.tcl (invoke): Check if we are in readline mode, so that we wait for the user's input and set a global with the result. (activate): Add prompt argument for readline's prompt. (setprompt): Add prompt argument for readline's prompt. * interface.tcl (gdbtk_tcl_readline): hack to get readline working * lots: Merge with foundry's 11/18/97 build. * console.tcl (setprompt): Get prompt from gdb. * prefs.tcl (pref_set_defaults): Add tracepoint defaults. * interface.tcl (gdbtk_tcl_tracepoint): New function which mimicks gdbtk_tcl_breakpoint. * src.tcl (constructor): Set default behavior of left click. Make a tracepoint dot, too. (fill_files): "New" function: ripped out of "location". It fills the 'files' combo box on the bottom of the source window. (location): Use fill_files to fill the files combo box. (do_bp): Add support for tracepoints. (bp_line): Add support for tracepoints. (set_tracepoint): New function to set a tracepoint on a given line. (config_win): Add "Set tracepoint here" to right-click menu. * actiondlg.tcl: New file to help with tracepoint data collection actions. * tracedlg.tcl: New file to help with tracepoints. Mon Nov 17 16:49:56 1997 Martin M. Hunt <hunt@cygnus.com> * src.tcl (config_win): Remove stray character. Mon Nov 17 16:04:08 1997 Ian Lance Taylor <ian@cygnus.com> * main.tcl (startup code: Use the first element from the vmake-exelist list. (exe_name): Likewise. (gdbtk_tcl_preloop): Quote file name passed to file. (download): Quote file name passed to load. Sun Nov 16 18:21:57 1997 Martin M. Hunt <hunt@cygnus.com> * bp.tcl (build_win): Change headers to be raised. Change resizing so that the bp grid doesn't change size and is always in the upper left corner. Scrollbars will appear if the window is shrunk too small. (bp_add): Set checkbutton color differently if not on Windows. * manage.tcl (manage_init): About title should only have Foundry in it if we are running Foundry. Fri Nov 14 11:15:29 1997 Jeff Holcomb <jeffh@cygnus.com> * manage.tcl (manage_init): About window title is now "About Cygnus Foundry". * toolbar.tcl (create_menu_items): Changed "About Foundry Debugger..." menu option to "About Cygnus Foundry...". Fri Nov 14 00:00:42 1997 Martin M. Hunt <hunt@cygnus.com> * memory.tcl (toggle_enabled): Toggle the background color when Auto Update is changed. * download_pref.tcl (save): New method. Save new defaults. * pref.tcl (build_win): Don't delete subwidget. (save): New method. * manage.tcl (manage_init): Change preferences title. * prefs.tcl (pref_set_defaults): Define gdb/advanced. Used for testing advanced features. * src.tcl (build_win): Set min size for top pane. (mode): Set minimum size for pane2 when needed. * toolbar.tcl (create_menu_items): Underline the W in "Web", not the "e". Thu Nov 13 16:07:53 1997 Jeff Holcomb <jeffh@cygnus.com> * download.tcl (done): Update window and show the window for at least 3 seconds. (constructor): Initialize start_time and last_num. Thu Nov 13 18:17:07 1997 Ian Lance Taylor <ian@cygnus.com> * main.tcl (ide_run_server): Call run_executable. (run_executable): New procedure, mostly from old ide_run_server. If ! GDBTK_IDE, just execute a run command. In the case where we've already downloaded, don't bother to do the run command after idle. If downloading is not forced, ask whether we should do it. * src.tcl (config_win): Call run_executable, not gdb_cmd run. * srcbar.tcl (_set_run): Likewise. * toolbar.tcl (create_menu_items): Likewise. * main.tcl: Initialize gdb_exe_set. If IDE, arrange to receive process-ended events. (gdbtk_tcl_preloop): Don't try to read the file if it doesn't exist. (download): Don't try to download the file if it doesn't exist. Set gdb_download_mtime. (exe_name): Just call set_exe_name. (set_exe_name): New procedure. Like old exe_name, but call gdb_clear_file before running gdb file command, set gdb_exe_set, and run gdb_idle_hook. (receive_process_ended): New procedure. Thu Nov 13 13:35:32 1997 Martin M. Hunt <hunt@cygnus.com> * prefs.tcl (pref_set_defaults): Set debug off by default. * src.tcl (config_win): Bind Ctrl+P and Ctrl+D. (update_title): Change window titlebar. * srcbar.tcl (_set_run): Change balloon help for stop and run icons. (create_menu_items): Add accelerator for Print Source. * toolbar.tcl (create_buttons): Change balloon help for project icon. (create_menu_items): Change access keys. Add accelerator for Download. Thu Nov 13 10:47:04 1997 Jeff Holcomb <jeffh@cygnus.com> * download.tcl (constructor): Fix text and button layout. Don't allow resizing. Wed Nov 12 16:59:17 1997 Jeff Holcomb <jeffh@cygnus.com> * download.tcl (constructor): Patch from Ian to redo the download window and also cancel support. (update): Ditto. (done): Ditto. (cancel): New method to handle canceling the download. (download_hash): Cancel support. Wed Nov 12 13:11:20 1997 Martin M. Hunt <hunt@cygnus.com> * memory.tcl (build_win): Change "Address" to "Addresses" on menu and add separator. Tue Nov 11 11:00:25 1997 Martin M. Hunt <hunt@cygnus.com> * download_pref.tcl (cancel): Must reset combobox because dialog no longer gets deleted. Tue Nov 11 15:40:36 1997 Tom Tromey <tromey@cygnus.com> * toolbar.tcl (create_menu_items): Underline "W", not "C", in "Cygnus on the Web". Tue Nov 11 11:00:25 1997 Martin M. Hunt <hunt@cygnus.com> * variables.tcl (edit): Disable menus when in editing mode. Tue Nov 11 02:00:25 1997 Martin M. Hunt <hunt@cygnus.com> * variables.tcl (selectionChanged): When selection changes, cancel any editing in progress. (build_win): Set background in text styles. (edit): Set background colors. (UnEdit): Clear selection when done. Mon Nov 10 12:22:00 1997 Martin M. Hunt <hunt@cygnus.com> * variables.tcl (build_win): Set background color. Mon Nov 10 05:30:00 1997 Martin M. Hunt <hunt@cygnus.com> * about.tcl (build_win): Bind button one to close the window. * tclIndex: Rebuilt. Mon Nov 10 03:00:00 1997 Martin M. Hunt <hunt@cygnus.com> * download_pref.tcl (build_win): Fix reading of initial baud rate. * download.tcl (Download): Call keep_raised. * main.tcl (ide_do_run): Catch GDB commands. (ide_run_server): Catch GDB commands. (ide_do_run): Don't set gdb_download_complete to 0. We don't need further downloads unless executable changes or Download is selected from the menubar. (keep_raised): Keep a window on top. * src.tcl (config_win): Catch GDB commands. * toolbar.tcl (create_menu_items): Catch GDB commands. (create_menu_items): Remove automatic step. * srcbar.tcl (_set_run): Catch GDB commands. * stack.tcl (build_win): Change background color. * bp.tcl: Change background color. (destructor): Remove breakpoint change hook. (bp_type): Fix problem with toggling temp to normal bps. (build_win): Add popup menu. * interface.tcl (gdbtk_tcl_query): Change title and type. Mon Nov 10 00:26:25 1997 Martin M. Hunt <hunt@cygnus.com> * pref.tcl (build_win): OK button wasn't working. * main.tcl: Rework all the "automatic" downloading stuff so it doesn't download and run when only the preferences are being displayed. * src.tcl (open_src): Callback from IDE that opens a source window when the bug is clicked on. Starts up automatic download if necessary. * tclIndex: Rebuilt. * images2/bp.gif, stack.gif, up,gif, down.gif, bottom.gif: Updated icons. Sun Nov 9 19:30:33 1997 Martin M. Hunt <hunt@cygnus.com> * main.tcl (gdbtk_tcl_preloop): Remove uneeded if statement. Remove calls to manage get_state. * manage.tcl (manage_get_state): Remove. (manage_init): Add save state to several windows. (manage_create): Use ide_property instead of prefs to find window geometry. (manage_delete): Restructure to fix several bugs. (manage_save): Use ide_property instead of prefs. Don't call pref_save. (manage_register_defaults): Remove calls to manage_get_state. * tclIndex: Rebuilt. Sun Nov 9 16:34:44 1997 Tom Tromey <tromey@cygnus.com> * pref.tcl (build_win): Removed View page. * toolbar.tcl (create_menu_items): Debugger -> "Foundry Debugger"; Help menu now parallels vmake. * manage.tcl (manage_init): GDBTK -> "Foundry Debugger". Sun Nov 9 18:24:18 1997 Ian Lance Taylor <ian@cygnus.com> * memory.tcl (build_win): Use a single menu, remove ``Hide menubar'' entry, add ^U binding. * manage.tcl (manage_init): Change name of memory window from ``Memory Dump'' to ``Memory''. * srcbar.tcl (create_buttons): Remove toggle update button. * src.tcl (update_title): Don't use colon if there is no file name. * main.tcl: If GDBTK_IDE, initialize gdb_download_complete. (gdbtk_tcl_preloop): If GDBTK_IDE, call download. (ide_run_server): Don't run if we already have a run request. If download is complete, run program as an idle callback. Otherwise, wait until the download is complete before running the program. (ide_do_run): New procedure to support ide_run_server. (download): Don't run program. Set gdb_download_complete. * src.tcl (name): Give an error if the file does not exist. (location): Only add files that exist to the file name combobox. Sun Nov 9 11:09:39 1997 Tom Tromey <tromey@cygnus.com> * src.tcl (name): Use better error message. * locals.tcl (build_win): New method. * watch.tcl (build_win): Create menu. Watch -> "Add Watch". (Menu): New instance variable. (selectionChanged): New method. (postMenu): "Stop Watching" -> Remove. * variables.tcl (build_win): Set -ignoreinvoke on Tree widget, and set -command to run editEntry method. Don't install <Double-1> binding. Put headers on Tree widget. Run selectionChanged method. (editEntry): Renamed. Now takes entry name as argument. (populate): Don't set -state disabled on new items. (getSelection): New method. (selectionChanged): New method. (build_menu_helper): New method. (postMenu): View->Format. (build_win): Likewise. * variables.tcl (editXY): Only edit if entry is not empty. * srcbar.tcl (create_menu_items): Edit -> Open. (create_buttons): Likewise. Thu Nov 6 11:00:41 1997 Tom Tromey <tromey@cygnus.com> * manage.tcl (manage_delete): Special-case deletion of pref window. (manage_create): Don't special-case deletion of pref window. Thu Nov 6 13:57:32 1997 Ian Lance Taylor <ian@cygnus.com> * manage.tcl (manage_get_state): Return an empty string for a withdrawn window and for the preferences window. * main.tcl (exe_name): Don't do anything if the executable name has not actually changed. Wed Nov 5 23:08:00 1997 Martin M. Hunt <hunt@cygnus.com> * main.tcl (download): Always specify exact filename to load. Wed Nov 5 00:31:53 1997 Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_delete): Only delete source window if user answers yes to query. * bp.tcl: Rewrite to include pulldown menu and new look. * register.tcl: Rewrite to include pulldown menu and new look. * stack.tcl: Open initial size wide enough to show all text. * src.tcl: Modified popup window. Remove option to open multiple source windows because the IDE window code doesn't work with it. * srcbar.tcl (_set_run): Change balloon message for Run. * variables.tcl, watch.tcl: Use fixed font. * toolbar.tcl (create_menu_items): Handle Close Debugger correctly. * mem_pref.tcl: Put focus and grab on window. * memory.tcl: Balloon message change. Mon Nov 3 11:04:44 1997 Tom Tromey <tromey@cygnus.com> * main.tcl (gdbtk_tcl_preloop): Look at main even if IDE running. (ide_run_server): Open src window. * manage.tcl (manage_init): Don't recreate initial windows when running under IDE. Fri Oct 31 00:00:04 1997 Tom Tromey <tromey@cygnus.com> * pref.tcl (cancel): Use manage delete. * toolbar.tcl (create_menu_items): Don't register debugger preference window. * manage.tcl (manage_register_defaults): Use idewindow, not idewindow_proc. (manage_delete): Don't deregister preference window. (manage): Added find, create_closed methods. (manage_create): Added visibility argument; changed all callers. Special case destruction of pref window. * main.tcl: IDE window callback proc is "manage find". Register debugger preference window. Create closed src and pref windows initially. (gdbtk_tcl_preloop): Don't create source window in IDE mode. * src.tcl (trace_variable): New method. (constructor): Use variable traces to track target/exe changes. (destructor): Remove variable traces. Thu Oct 30 12:50:28 1997 Martin M. Hunt <hunt@cygnus.com> * mem_pref.tcl: Change buttons to OK/Cancel/Apply. Minor cleanup. * memory.tcl: New look. Added menubar. Tue Oct 28 23:03:00 1997 Martin M. Hunt <hunt@cygnus.com> * toolbar.tcl (create_buttons): Clean up balloon help for buttons. (create_menu_items): Move print menu items to srcbar.tcl. Cleanup labels. * srcbar.tcl (create_menu_items): Add print menu items. (create_buttons): Clean up balloon help for buttons. Tue Oct 28 17:26:15 1997 Martin M. Hunt <hunt@cygnus.com> * toolbar.tcl (create_menu_items): Add print menu items. (print): New function. Calls the proper print routine. * src.tcl (print): New function. Dump the contents of the text widget to a printer. Tue Oct 28 01:06:15 1997 Martin M. Hunt <hunt@cygnus.com> * toolbar.tcl (create_menu_items): Add new preferences menu code. * pref.tcl (build_win): Remove all old ppreferences. Add Connection and View preferences. (cancel): New function. Restore previous values and quit. * manage.tcl (manage_delete): Unregister preferences on exit. * src.tcl (constructor): Add sizebox under Windows. * download.tcl (constructor): Remove shortcuts on buttons. Put focus on "OK" button. * download_pref.tcl (cancel): New function. Restores previous values. Tue Oct 21 15:28:29 1997 Tom Tromey <tromey@cygnus.com> * main.tcl: Main window now named "Foundry Debugger". Fri Oct 24 14:03:00 1997 Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_menu): Deleted. (manage_delete): Notify IDE when windows are deleted. (manage_raise): New function. (manage_create): Notify IDE when a window is created. * download.tcl (constructor): Put focus on download window. * toolbar.tcl (create_menu_items): Make "Window" menu and IDE managed-menu, but don't put anything in it. Fri Oct 24 12:28:43 1997 Martin M. Hunt <hunt@cygnus.com> * toolbar.tcl (create_menu_items): Add View menu. * src.tcl (config_win): Add accelerators for new View menu. Wed Oct 22 21:30:52 1997 Martin M. Hunt <hunt@cygnus.com> * download.tcl (Download): Make window local modal. Raise it to top. * srcbar.tcl (create_buttons): Change border size on address and line labels. Change balloon help. Remove vertical line. Mon Oct 20 10:12:23 1997 Tom Tromey <tromey@cygnus.com> * toolbar.tcl (create_buttons): vmake window now named "Foundry Project". Mon Oct 13 19:02:33 1997 Martin M. Hunt <hunt@cygnus.com> * bp.tcl (bp_modify): Change color of checkbuttons. * download.tcl (done): Write "DONE" on progress meters. Thu Oct 9 14:33:21 1997 Ian Lance Taylor <ian@cygnus.com> * main.tcl: Call ide_window_register restorer. Thu Oct 9 12:46:25 1997 Tom Tromey <tromey@cygnus.com> * src.tcl (updateBalloon): Changed name of balloon variable. (showBalloon): Likewise. Use new "balloon show" command. (SrcBalloon): Removed. (TimeOut): Default is 1000 (1 second). Wed Oct 1 11:33:36 1997 Tom Tromey <tromey@cygnus.com> * main.tcl: Use "manage get_state" as window saver. * manage.tcl (manage): Added "restore", "get_state" options. (manage_restore): New proc. (manage_get_state): Likewise. (manage_register_defaults): Use "manage get_state" as window saver. Sun Sep 28 04:20:00 1997 Martin M. Hunt <hunt@cygnus.com> * bp.tcl: Clean up the spacing to make the widget look better. * download_pref.tcl: Show the initial baud rate correctly. * download.tcl: Cleanup correctly when deleted. * main.tcl (gdb_tcl_preloop): Set baud rate. (ide_run_server): Delay download 1 second. (demo_it): Do gdb "next" commands every 2 seconds. * manage.tcl (manage_create): Withdraw window immediately then deiconify it when done. * prefs.tcl (pref_set_defaults): Don't define stack bg color. * register.tcl: Withdraw window immediately so we don't have to watch it slowly draw. Make it look more like memory window. * src.tcl: Fix major bug where source window got lost when the source file was not found. Reconfigures more smoothly. * srcbar.tcl (create_menu_items): Comment out "Close Debugger" menu item because it was broken. * stack.tcl: Use the same background color as the other windows. * toolbar.tcl: Add "Automatic Step" menu item. Fri Sep 26 21:10:11 1997 Keith Seitz <keiths@pizza.cygnus.com> * download.tcl (done): display bytes loaded as an integer. Fri Sep 26 13:09:47 1997 Tom Tromey <tromey@cygnus.com> * images2/edit.gif: Replaced. Fri Sep 26 00:42:00 1997 Martin M. Hunt <hunt@cygnus.com> * main.tcl (ide_run_server): Just call download. (download): First set baud rate then target. Then, depending on preferences set a breakpoint at 'main' and 'exit' and run. (set_baud): New function. * download_pref.tcl (build_win) Add checkbuttons for "Run until 'main'" and "Set breakpoint at 'exit'. (change_baud): Set preference when baud changes. * pref.tcl (reconfig): Correct problem with download options. * prefs.tcl (pref_set_defaults): Define gdb/load/main, gdb/load/exit, and gdb/load/baud. * src.tcl (location): Fix a problem where the browse tag was sometimes not deleted. * manage.tcl: Add a window title for Download Options. Thu Sep 25 15:39:00 1997 Martin M. Hunt <hunt@cygnus.com> * download_pref.tcl: New file. Creates a download options dialog. * manage.tcl: Add download prefs window to list. * toolbar.tcl: Add Download preferences to menu. * pref.tcl: Add Download to tab notebook preferences. * src.tcl: Set activebackground on popup to indicate color of the breakpoint dot that will be set. Thu Sep 25 12:36:00 1997 Martin M. Hunt <hunt@cygnus.com> * download.tcl (done): Make sure all indicators show download completed, even if we weren't properly notified. * manage.tcl: Better support for windows that want to set their own titles. * src.tcl (update_title): New function. Sets titlebar to indicate current filename, and under IDE, executable and target. * images2/reg.gif: Updated image. Thu Sep 25 08:58:44 1997 Keith Seitz <keiths@onions.cygnus.com> * src.tcl (config_win): don't focus src window on Enter events Thu Sep 25 03:11:00 1997 Martin M. Hunt <hunt@cygnus.com> * main.tcl (ide_run_server): Set target and download automatically. (download): Open a download window. * download.tcl: New file. Implements a download window. * manage.tcl (manage_init): Add download window. (manage_create): If there is no title, don't try to set one and don't try to set geometry. * registers.tcl: Make it look more like memory window. * toolbar.tcl, floatbar.tcl, srcbar.tcl: Update look of menus and toolbars to be closer to prototype. * Makefile: Add download.tcl. * tclIndex: Rebuilt. * images/memory.gif: Update. * images/bp.gif: New file. Breakpoint icon. Wed Sep 24 07:43:47 1997 Keith Seitz <keiths@onions.cygnus.com> * variables.tcl (VariableWin::build_win): add double-click binding to edit (editXY): new method to support above * prefs.tcl (pref_set_defaults): add register window pref for highlight color * register.tcl (RegWin::constructor): set highlight and normal fg (build_win): build window using grid geometry manager, not grid widget (dimensions): new method (fixLength): new method (but3): use "Menu" (protected data) (edit): use entry to edit values (acceptEdit): new method (unedit): new method (update): change to use new grid layout and change highlighting (reconfig): destroy scrolled window, too ScrolledWin: new protected data Menu: new protected data Editing: new protected data Tue Sep 23 15:15:22 1997 Ian Lance Taylor <ian@cygnus.com> * main.tcl: If GDBTK_IDE, withdraw . before making any calls across the IDE backplane. * manage.tcl (manage_init): If using a floating toolbar, and GDBTK_IDE, deiconify . to undo the withdrawal. Tue Sep 23 01:31:00 1997 Martin M. Hunt <hunt@cygnus.com> * main.tcl: Reorder calls to pref init and standard_look_and_feel. * global_pref.tcl: Change font requester to modify both src-font and global.fixed. Change to be compatible with latest libide font code. * prefs.tcl: Changes to get working with latest libide font code. Mon Sep 22 15:16:00 1997 Martin M. Hunt <hunt@cygnus.com> * memory.tcl: Add editing. Remove debugging lines. Fix problems with resizing. * mem_pref.tcl: Remove debugging line. Fri Sep 19 08:22:25 1997 Keith Seitz <keiths@onions.cygnus.com> * variables.tcl (build_win): use preferences (getAllClassMembers): new method (getPath): update to support C++ * watch.tcl (build_win): augment parent class' build_win instead of replacing it * stack.tcl (build_win): use preferences (update): catch gdb_loc in case source window is not open yet * prefs.tcl (pref_set_defaults): add new defaults for all previously hard-coded fonts and colors * global_pref.tcl (build_win): use preferences * console.tcl (Console::constructor): use preferences * bp.tcl (bp_add): use preferences (bp_modify): use preferences * src.tcl (SrcWin::constructor): use preferences (build_win): use preferences (config_win): use preferences, bind <Enter> to focus source window textbox so that our keypresses always work (SrcBalloon): new protected variable (TimeOut): new common variable Wed Sep 17 13:54:29 1997 Tom Tromey <tromey@cygnus.com> * toolbar.tcl (build_win): Use standard_toolbar. Wed Sep 17 13:52:00 1997 Martin M. Hunt <hunt@cygnus.com> * src.tcl (config_win): Set bg color back to default. Tue Sep 16 23:10:00 1997 Martin M. Hunt <hunt@cygnus.com> * images2/*: Delete unused icons. Tue Sep 16 21:30:40 1997 Martin M. Hunt <hunt@cygnus.com> * bp.tcl (bp_add): Add some padding to space things out more. Anchor labels to the right side. * src.tcl: Fix problem where breakpoints were disappearing when files changed. Tue Sep 16 17:45:05 1997 Martin M. Hunt <hunt@cygnus.com> * manage.tcl: Change manage_create and manage_open to accept a variable number of args. Add mem and mempref window types. Fix pref save call. * memory.tcl: New file. Implements a memory dump window. Currently read-only. * mem_pref.tcl: New file. Implements options dialog for memory dump window. * pref.tcl, toolbar_pref.tcl, register.tcl, src_pref.tcl, global_pref.tcl, about.tcl: Make "attach" a public config variable. * main.tcl: Use standard_look_and_feel. * Makefile, tclIndex: Rebuilt. * images/check.gif: A check mark image. * images/stop.gif: Fix transparency. Tue Sep 16 08:13:03 1997 Keith Seitz <keiths@onions.cygnus.com> * src.tcl (getVariable): fix off by one error when a breakpoint is set at a line (hasBreakpoint): new method (SrcWin): add idle hook for source balloons (updateBalloon): new method (showBalloon): use register_balloon (register_balloon): new method Tue Sep 16 05:55:31 1997 Keith Seitz <keiths@onions.cygnus.com> * watch.tcl (add): use a little more robust (if more obscure) method of determining validity of a variable name (label): translate % to $ in names * variables.tcl (Variable::setType): allow for convenience variables (Variable::isConvenience): new method (Variable::displayHex): allow for convenience variables (VariableWin::edit): do not eval $data when editing (for conv. vars) (VariableWin::postMenu): use virtual method label to title popup Fri Sep 12 12:17:13 1997 Keith Seitz <keiths@onions.cygnus.com> * variables.tcl (Variable::value): when no display style specified, choose some reasonable default for the given type * src.tcl (config_win): ad bindings to support variable balloons in source mode (getVariable): new method (cancelMotion): new method (motion): new method (showBalloon): new method timeoutID: new protected variable TimeOut: new protected variable Fri Sep 12 05:47:56 1997 Keith Seitz <keiths@onions.cygnus.com> * variables.tcl (getLocals): return empty list when no locals present. Thu Sep 11 14:13:19 1997 Keith Seitz <keiths@onions.cygnus.com> * variables.tcl (VariableWin::build_win): change popup construction (VariableWin::postMenu): redo menu layout to use dynamic idices of panes (VariableWin::edit): new method (VariableWin::UnEdit): new method (VariableWin::changeValue): new method (VariableWin::getPath): handle unamed unions/structs and arrays more intelligently VariableWin::Editing: new protected variable VariableWin::EditEntry: new protected variable (Variable::isOpenable): make sure we can open unions (Variable::isUnamed): new method (Variable::isUnion): new method (Variable::setType): handle unions and unamed structs/unions better (Variable::displayHex): unions, structs only display in hex (Variable::isArray): new method (Variable::isEnum): new method (Variable::isEditable): new method (Variable::value): enums now show symbol values, too. Analogous to char and char*. * watch.tcl (WatchWin::build_win): change popup construction (WatchWin::postMenu): redo menu layout to use dynamic indices of panes Wed Sep 10 20:44:12 1997 Ian Lance Taylor <ian@cygnus.com> * manage.tcl (manage_register_defaults): Rename from manage_register_default. Take a list of windows. (manage_menu): Invoke manage_register_defaults once as an idle callback, rather than invoking manage_register_default in many different idle callbacks. Wed Sep 10 00:49:23 1997 Martin M. Hunt <hunt@cygnus.com> * src.tcl (edit): Don't start editor if we're not debugging anything. * main.tcl: Keep correct colorscheme for windows. Mon Sep 8 12:10:26 1997 Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_restart): Only restart toolbar once. * global_pref.tcl: Minor fix. * images2/vmake.gif: Fix transparency. Mon Sep 8 13:05:11 1997 Ian Lance Taylor <ian@cygnus.com> * interface.tcl (gdbtk_tcl_query): Use tk_messageBox rather than tk_dialog. * main.tcl: Register check and exit handlers using new commands provided by gdbtk. Mon Sep 8 03:01:25 1997 Martin M. Hunt <hunt@cygnus.com> * global_pref.tcl (build_win): Some font fixes. Mon Sep 8 02:25:17 1997 Martin M. Hunt <hunt@cygnus.com> * src.tcl: Make disabled breakpoints black. Make comboboxes only use scrollbars when needed. * interface.tcl (gdbtk_tcl_breakpoint): Change to support changes in gdbtk.c. Supply breakpoint number to hooks. * manage.tcl: Add breakpoint window. Add support for dynamically attaching/detaching toolbars. * bp.tcl: New file. Breakpoint window. * main.tcl: Change palette for debugging. * pref.tcl: New file. Preferences dialog. * floatbar.tcl: Add target and download buttons. Add spacing. * srcbar.tcl, toolbar.tcl: Change to use flat icons. Work with floating toolbar if requested. * prefs.tcl: Define new preferences to force toolbar to float or be attached to the source windows. * global_pref.tcl: Remove icon requester. * toolbar_pref.tcl: Add icon combobox. Add checkbuttons for forcing toolbar to either float or be attached to src window. * Makefile: Add bp.tcl * images/*: Fix transparency and add new icons. * images2/*: Add flat icons. Fri Sep 5 20:24:07 1997 Ian Lance Taylor <ian@cygnus.com> * main.tcl: Register an exit handler when using the IDE. Thu Sep 4 11:47:38 1997 Martin M. Hunt <hunt@cygnus.com> * ALL: Change preferences to use new preferences. Change "dbug" calls to "debug". * pref.tcl: New file. Local preferences read/write. * gettext.tcl, debug.tcl, balloon.tcl: Delete. Use versions from libide instead. Wed Sep 3 09:20:13 1997 Tom Tromey <tromey@cygnus.com> * main.tcl (add): Pass idewindow_no_state to idewindow_proc. * manage.tcl (manage_register_default): Pass idewindow_no_state to idewindow_proc. Mon Aug 25 05:59:01 1997 Martin M. Hunt <hunt@pern.cygnus.com> * images2/{finished.gif, finishedu.gif, nextd.gif nextu.gif, stepd.gif, stepu.gif}: Use icons with straight brackets instead of slanted. * prefs.tcl (pref_set_defaults): Set default debugMode to 0. * register.tcl (build_win): Change font to fixed and bg to white. * src.tcl: Change all references to fonts to "src-font". * global_pref.tcl: Change font requester to do src-font. * srcbar.tcl: Change address and line labels to use src-font and be sunken. * stack.tcl: Chnage bg to white and fonr to src-font. Mon Aug 25 03:06:35 1997 Keith Seitz <keiths@pizza.cygnus.com> * src.tcl: (set_status) check if inferior is running first, and reset message for status window if it is not. Mon Aug 25 00:28:39 1997 Martin M. Hunt <hunt@pern.cygnus.com> * srcbar.tcl: Change stack images to be consistent with others. * images2/{upu.gif,upd.gif,bottomd.gif,bottomu.gif,downu.gif, downd.gif}: New stack images. * images2/edit[ud].gif: Correct quantization and transparency. * manage.tcl (manage_delete): Kill gdb when all source windows are deleted. (manage_create): Only add IDE entries on the first source window. * src.tcl (do_popup): Don't map window if already mapped. Fixes problem with tk_popup. Change menu items. Mon Aug 25 00:24:43 1997 Keith Seitz <keiths@pizza.cygnus.com> * src.tcl: (set_status) change to using gdb_target_has_execution to determine if the target is running Sun Aug 24 23:02:19 1997 Tom Tromey <tromey@cygnus.com> * toolbar.tcl (build_win): Make sure object is deleted when window is destroyed. (destructor): Don't destroy containing widget; just us. * srcbar.tcl (create_menu_items): Added Exit item to menu. * src.tcl (build_win): Use grid, not packer, to lay out main window. (mode): Pack new text widget into pane; don't repack the pane itself. Sun Aug 24 22:06:30 1997 Keith Seitz <keiths@pizza.cygnus.com> * varialbes.tcl: (build_win) set hlist font to 'tix option get fixed_font', change selectBackground to Hlist background, select- BorderWidth to 0, selectForeground to black. Use tk_popup instead of tixPopup widget. (postMenu) make necessary tk_popup changes, make sure functions are only allowed to be displayed in hex. (isFunction) new method (displayHex) functions only displayable as hex (value) extract the address of functions for value * watch.tcl: (constructor) remove popup menu customization (build_win) change from tixPopup to tk_popup, hack the hlist options to use the correct font, etc as in variables.tcl, (validateEntry) always erase the contents of the entry (postMenu) make all changes to use tk_popup and move the "Stop watching" menu addition here (label) make sure that we use "foo.bar" and "foo->bar" correctly (add) fix typo preventing recognition of variables already being watched Sun Aug 24 18:49:16 1997 Martin M. Hunt <hunt@pern.cygnus.com> * console.tcl (invoke): Don't display error messages in console window. (constructor): Enable cut-and-paste. Fix intermittant bug. * main.tcl (gdbtk_tcl_preloop): Don't automatically do anything but issue the file command. (download): Issue load command. Called when icon is selected. (set_target): Issue target command. Called when target icon is selected. * srcbar.tcl: Add target and download buttons to toolbar. Sun Aug 24 20:30:41 1997 Ian Lance Taylor <ian@cygnus.com> * main.tcl (gdbtk_tcl_preloop): If GDBTK_IDE, then automatically set file and target based on properties. If using the simulator, load the executable. Catch and ignore errors from setting the source window to show main. Sun Aug 24 14:39:23 1997 Tom Tromey <tromey@cygnus.com> * src.tcl (constructor): Don't set `editor'. (location): Never update external editor. (edit): Don't set `editor'. (editor): Removed instance variable. * images2/stepiu.gif, images2/stepid.gif, images2/nextiu.gif, images2/nextid.gif: Installed new versions. * srcbar.tcl (_toggle_updates): Pass $updatevalue to updatecommand. (destructor): Implemented. (_set_stepi): New method. (displaymode): Run _set_stepi when changed. (updatevalue): Global state stored in global array. (create_buttons): Create stepi, nexti buttons. Run _set_stepi. (_load_src_images): Create stepi, nexti icons. * images2/stepiu.gif, images2/stepid.gif, images2/nextiu.gif, images2/nextid.gif: New images. (create_buttons): Likewise. * src.tcl (toggle_updates): Use $value, not $a. * src.tcl (mode): Don't change commands on (nonexistent) step/next buttons. * toolbar.tcl (create_buttons): Added watch button. (_load_images): Create watch images. * images2/watchd.gif, images2/watchu.gif: New files. * images2/varsd.gif, images2/varsu.gif: Changed. * images2/*: Removed old images, added many new images. * prefs.tcl (pref_set_defaults): Default images are in images2 directory. * src.tcl (build_win): Make a GDBSrcBar. (location): address and line information now in toolbar. (mode): Set -displaymode on toolbar. (update): Set -running on toolbar. (busy): Likewise. (edit): Now a method, not a proc. (toggle_updates): Added "value" argument. * Makefile (TCL): Added srcbar.tcl, floatbar.tcl. * toolbar.tcl (create_buttons): New method. (create_menu_items): Likewise. (build_win): Run create_menu_items and create_buttons. Move most of body into these methods. Removed Exit command from File menu. (_loaded_images): New common variable. (_load_images): New method. (create_buttons): Run it. (create_menu_items): Removed Tools menu. (configure): Renamed from config. * srcbar.tcl: New file. Implements toolbar attached to source window. * floatbar.tcl: New file. Implements floating toolbar. * manage.tcl (manage_init): toolbar-type is GDBFloatBar. (manage_init): Don't create toolbar if running under IDE. Sun Aug 24 13:05:22 1997 Martin M. Hunt <hunt@pern.cygnus.com> * manage.tcl (manage_init): Remove idemenuname from the _manage_objects array; it was redundant. (manage_create): Stop notifying IDE about new transient windows. Sun Aug 24 01:07:29 1997 Tom Tromey <tromey@cygnus.com> * about.tcl, console.tcl, global_pref.tcl, prefs.tcl, register.tcl, src.tcl, src_pref.tcl, stack.tcl, toolbar.tcl, toolbar_pref.tcl: Added Copyright statement. * Makefile (tags, TAGS): New targets. * toolbar.tcl (build_win): Quit->Exit. Only display this item if not using the IDE. Sat Aug 23 21:55:54 1997 Ian Lance Taylor <ian@cygnus.com> * src.tcl (SrcWin update): Set command for stop icon. (SrcWin busy): Likewise. * manage.tcl: Move comments out of array initialization. Sat Aug 23 17:36:06 1997 Martin M. Hunt <hunt@pern.cygnus.com> * src.tcl (name): Handle case where files are part of the sources, but are unreadable. (build_win): Set filename combobox size to default. * manage.tcl: Remove breakpoint window from window list. Sat Aug 23 16:49:53 1997 Keith Seitz <keiths@onions.cygnus.com> * src.tcl: remove old breakdot stuff (reconfig) make sure we redraw the breakdots when font changes (file) check for duplicate break-able lines * variables.tcl: remove debug output * watch.tcl: add entry field to enter watch expressions Sat Aug 23 17:44:45 1997 Ian Lance Taylor <ian@cygnus.com> * manage.tcl (manage_create): Register the window if it is not already registered, rather than if it is already registered. * src.tcl (SrcWin config_win): Add special double and triple click bindings to override standard text bindings in break dot area. * prefs.tcl (pref_set_defaults): Set the global font to the Tix default font. Set the src font to the Tix default fixed font. * src.tcl (SrcWin config_win): Configure the text font. * console.tcl (Console constructor): Set the cont to the Tix fixed font. Fri Aug 22 20:42:51 1997 Keith Seitz <keiths@onions.cygnus.com> * src.tcl: add breakpoint image that is text-size insensitive change layout of source, assembly, and mixed windows to use tabs, if possible, allowing more clickable area for toggling breakpoints, etc. * variables.tcl: (VariableWin::isFloat) new method (VariableWin::value) make sure floats are output as floats when user specifies "decimal" output Fri Aug 22 16:23:32 1997 Martin M. Hunt <hunt@pern.cygnus.com> * src.tcl (goto_func): Catch errors. Fri Aug 22 16:35:39 1997 Ian Lance Taylor <ian@cygnus.com> * main.tcl: Use underscores rather than dashes in variable names. (ide_run_server): Make gdb_target_name global. Call file before calling target. Call load before calling run. Fri Aug 22 12:15:06 1997 Martin M. Hunt <hunt@pern.cygnus.com> * debug.tcl (dbug): Make debug window scrolled. Make it work with standalone gdb. * prefs.tcl (pref_save): Fix puts that were incorrectly changed to dbug. Thu Aug 21 17:57:59 1997 Martin M. Hunt <hunt@cygnus.com> * ALL: Change all "puts" to "dbug". * debug.tcl: New file. Opens a window for debugging messages. Thu Aug 21 14:30:53 1997 Keith Seitz <keiths@onions.cygnus.com> * watch.tcl: (add) strip commas, too Thu Aug 21 14:26:36 1997 Keith Seitz <keiths@onions.cygnus.com> * variables.tcl: (buid_win) use listbox's font for font measuring Thu Aug 21 02:52:35 1997 Martin M. Hunt <hunt@pern.cygnus.com> * src.tcl (name): Check source filenames and handle errors if not found. * variables.tcl (destructor): Display styles are not objects so must be destroyed instead of deleted. (name): comment out debugging line. * main.tcl: Add stuff from standard_look_and_feel. * prefs.tcl, manage.tcl: Minor cleanup. Thu Aug 21 00:39:35 1997 Martin M. Hunt <hunt@pern.cygnus.com> * main.tcl (ide_run_server) New function. Starts GDB when asked politely. (target_name): New function. Watches for changes in the target name. (exe_name): New function. Watches for changes in the executable name. * console.tcl (insert, einsert): Scroll so the insertion point can be seen. * manage.tcl: SPecial hacks to create a global "console". Needed because we can't have puts searching for a console window everytime a puts arrives. * interface.tcl (gdbtk_tcl_fputs, gdbtk_tcl_fputs_error): Write to the console if one exists, and do an update. * tclIndex: Rebuilt. Wed Aug 20 17:23:07 1997 Keith Seitz <keiths@onions.cygnus.com> * variables.tcl: (Variable::setType VariableWin::getPath) handle types with multiple names (unsigned char, long long unsigned int) properly * locals.tcl: (update) comment out debug info Wed Aug 20 16:36:49 1997 Keith Seitz <keiths@pizza.cygnus.com> * watch.tcl: (add) try to handle errors more gracefully * variables.tcl: (value) make sure we handle bad pointer dereferences nicely (lots of places) switch to using 'ouput' instead of 'print' Wed Aug 20 11:43:35 1997 Martin M. Hunt <hunt@cygnus.com> * src.tcl (file): Handle case where source files do not have any lines which generate code. (set_status): Keep status to one line. Wed Aug 20 00:00:52 1997 Tom Tromey <tromey@sanguine.cygnus.com> * images2/build.gif, images2/file.gif, images2/reg.gif, images2/stop.gif, images2/continue.gif, images2/finish.gif, images2/next.gif, images2/step.gif, images2/run.gif: New files. Tue Aug 19 14:52:59 1997 Keith Seitz <keiths@onions.cygnus.com> * tclIndex: rebuilt * Makefile: add variables.tcl, watch.tcl, and locals.tcl * manage.tcl: (manage_init): add locals window * src.tcl: (do_popup): add binding for watch window (addToWatch): new method * locals.tcl: new file * variables.tcl: new file * watch.tcl: new file Mon Aug 18 01:28:19 1997 Martin M. Hunt <hunt@cygnus.com> * manage.tcl: Change window names to have only first char of each word capitalized. * global_pref.tcl (get_file): Handle bad pathnames. Sun Aug 17 01:59:02 1997 Martin M. Hunt <hunt@cygnus.com> * register.tcl (destructor): Call manage delete. * global_pref.tcl (destructor): Call manage delete. * prefs.tcl (destructor): Call manage delete. * src_pref.tcl (destructor): Call manage delete. * toolbar_pref.tcl (destructor): Call manage delete. * manage.tcl: (manage_delete): Remove windows that have been quit, rather than killed by window manager. * src.tcl (location): Don't call gdb_listfuncs on NULL filenames. Sun Aug 17 00:18:02 1997 Martin M. Hunt <hunt@cygnus.com> * src.tcl: Major changes to support file browsing. Also bug fixes for assembly mode, new comboboxes for filename and function selection. * src_pref.tcl: New file. Allows selection of colors used in source display. * prefs.tcl: Add new window type for src prefs. Set default colors for source window. * manage.tcl (manage_init): Add srcpref window type. (manage_restart): Preserve window geometries on restarts. * Makefile: Add src_pref.tcl. * tclIndex: Rebuilt. * toolbar.tcl: Add call to source prefs. * main.tcl: Change initial "src file" call to "src location". Thu Aug 14 15:49:02 1997 Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_create): Some fixes for IDE windows. Thu Aug 14 03:18:10 1997 Martin M. Hunt <hunt@cygnus.com> * register.tcl, stack.tcl (destructor): Remove hook. * manage.tcl: Mostly rewritten from scratch to be more efficient and handle multiple windows of the same type. (manage_open): New function opens or creates a window as necessary. (manage_create): Now always creates a new window. * global_pref.tcl (build_win): Only put up font message box on Unix systems. * main.tcl: Change "manage create" calls to "manage open" * src (destructor): Remove hooks. (do_popup): Add a menu item to open another source window. * toolbar.tcl (build_win): Change "manage create" calls to "manage open". Bind button 3 on iconbar to "manage create". * prefs.tcl: Changes required for new features in manage.tcl. * tclIndex: Rebuilt. * hooks.tcl (remove_hook): Fix. (lremove): New function. Tue Aug 12 16:06:04 1997 Ian Lance Taylor <ian@cygnus.com> * main.tcl: If running in the IDE, register the source window as the generic gdb window. Tue Aug 12 01:42:10 1997 Martin M. Hunt <hunt@cygnus.com> * global_pref.tcl (build_win): Add a font size control widget, and a font preview window. Implement scanning for fixed-width fonts and a font cache. (font_changed): Save all font attributes in new-style font description. * balloon.tcl: Merge in latest changes from libide. * prefs.tcl (pref): Rename variables to make function clearer. (pref_init): After reading in prefs file, create all named fonts. (pref_set_defaults): Set default font to {courier 12 roman}. Mon Aug 11 13:47:49 1997 Martin M. Hunt <hunt@cygnus.com> * tclIndex: New file. * Makefile: New file. Generates tclIndex when needed. * manage.tcl (manage_init): Add an icon for GDB. (manage_create): Bind Map and Unmap for toolbar toplevel. Tell window manager to display icon if one exists. (manage_iconify): Iconify or deiconify all windows. (make_icon_window): Build a window with an icon in it. (bind_for_toplevel_only): Local copy, because if you build GDB without IDE you won't get the one in libide. * main.tcl: Remove all the source commands. * toolbar.tcl: Use "-menu" configuration option for toplevel. * images/cygnus_icon.gif: A cygnus logo with GDB on it. For Unix window managers. Fri Aug 8 16:01:20 1997 Ian Lance Taylor <ian@cygnus.com> * manage.tcl (manage): Add menu subcommand. (manage_init): Add -menu, -menuname, and -idemenuname options for all the windows. (manage_create): Register transient windows. (manage_menu, manage_register_default): New procedures. * toolbar.tcl (build_win): Call manage_menu to set up the window menu. Thu Aug 7 16:51:43 1997 Martin M. Hunt <hunt@cygnus.com> * stack.tcl: Bind button 1 to select current frame. Add balloonhelp. Thu Aug 7 14:00:18 1997 Martin M. Hunt <hunt@cygnus.com> * main.tcl, manage.tcl, toolbar.tcl: Add support for stack window. * stack.tcl, images/stack.gif: New files. * ALL: Change "::" to "@@" for itcl1.5/tcl8.0. You muct now use tcl8 for gdbtk to work. Tue Aug 5 12:10:43 1997 Martin M. Hunt <hunt@cygnus.com> * register.tcl, global_pref.tcl: Change color "darkred" to red so it will work on windows. Tue Aug 5 12:01:26 1997 Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_init): Unset prefs are now "" instead of 0. Tue Aug 5 02:21:47 1997 Martin M. Hunt <hunt@cygnus.com> * images*/run.gif: Change to green again. Tue Aug 5 01:42:56 1997 Martin M. Hunt <hunt@cygnus.com> * main.tcl: Source register.tcl * register.tcl: New file. Editable register window and register preferences. * toolbar.tcl: Add hooks for register prefs. * manage.tcl: Add register window to list of windows. Deiconify windows when requested. * src.tcl: Minor changes. * global_pref.tcl: Bind return key to image dir entry widget. * prefs.tcl: Add register prefs to notebook widget. Change default for pref get to {} instead of 0. Fri Aug 1 14:21:25 1997 Martin M. Hunt <hunt@cygnus.com> * images/*: Smaller toolbar icons. Fix some gifs to be transparent. Thu Jul 31 01:20:51 1997 Martin M. Hunt <hunt@cygnus.com> * src.tcl (mode): Don't try to display EDIT button in any mode. Thu Jul 31 00:56:26 1997 Martin M. Hunt <hunt@cygnus.com> * global_pref.tcl (build_win): Add ComboBox for simple font selection. * prefs.tcl (pref_init): Allow "option" commands in init file. * src.tcl: Remove EDIT button. Change fonts to use global font if no src font is specified. * toolbar.tcl: Enable Tools/Edit pulldown menu. Wed Jul 30 14:43:49 1997 Martin M. Hunt <hunt@cygnus.com> * about.tcl (build_win): Set bg to white for Cygnus gif. Wed Jul 30 14:39:49 1997 Martin M. Hunt <hunt@cygnus.com> * manage.tcl (manage_create): Fix window raising. Wed Jul 30 13:40:11 1997 Martin M. Hunt <hunt@cygnus.com> * initial checkin.