1 1999-12-15 Fernando Nasser <fnasser@rtl.cygnus.com>
3 * variables.tcl: UnEdit any fields open to edit before colapsing
4 a tree branch (it was generating a Tcl exception and stack dump).
6 1999-09-29 James Ingham <jingham@leda.cygnus.com>
8 * prefs.tcl (pref_read): Convert env(HOME) to a win32 path BEFORE
9 handing it to file join, so we won't look for a network drive.
11 1999-09-23 James Ingham <jingham@leda.cygnus.com>
13 * toolbar.tcl (GDBToolBar): Typo.
14 (new_menu): Changed this to allow menus to be altered as well as
16 (menu_exists): New method.
17 (clear_menu): New method.
18 (_load_src_images): Moved here from srcbar.tcl. Added Attach &
19 Detach classes. This is all still kind of ill-factored.
20 (In instance data): Made menu data arrays rather than dynamically
21 constructed variables.
23 * srcwin.itb (SrcWin::set_execution_status): Let gdb print the PC,
24 since Tcl's conversion may not be wide enough.
26 * srctextwin.ith: initialize the Cname variable.
28 * srctextwin.itb (SrcTextWin::location):
29 (SrcTextWin::location): Change address compare to a string
30 compare. These are always both hex in the same format, but on a
31 64 bit host the conversion would fail.
32 (SrcTextWin::showBalloon): Catch all errors in the balloon help
33 but also report them to the debug window.
34 (SrcTextWin::LoadFromCache): Erase and reload dirty cached windows.
36 * srcbar.tcl (create_run_menu): Add "Attach", "Detach" and "Kill"
38 (do_attach): Attach to a native target.
39 (do_detach): Detach from a native target.
40 (do_kill): Kill a native target.
42 * memwin.itb (MemWin::toggle_enabled): Toggle the state of the
43 widget, as well as the color, so people can't edit when the window
44 doesn't contain valid memory.
45 (MemWin::update_address): Set the state to normal if we have
47 (MemWin::BadExpr): Set the state to disabled on error.
48 (MemWin::incr_addr): Set the state to normal if a step succeeds.
50 * managedwin.itb (ManagedWin::open_dlg): New function. Preferred
51 function when you know you are opening a dialog.
52 (ManagedWin::_open): new function, contains the common bits of
53 opening windows & dialogs.
54 (ManagedWin::open): Use the _open function.
55 (ManagedWin::_create): Don't use Icon windows with modal dialogs.
57 * interface.tcl (gdbtk_cleanup): Set a shutting_down flag.
58 (gdbtk_tcl_fputs): Restore the fputs hook. This is trivial to do,
59 and ensures that no one will delete the hook behind our backs.
60 (gdbtk_tcl_fputs_error): ditto.
61 (_open_file): Make file parameter optional, and don't query if it
63 (gdbtk_attached): New function. Called from attach hook.
64 (gdbtk_detached): New function. Called from detach hook.
66 * helpviewer.ith (HtmlViewer): Add the attach dialog to the list
69 * srcbar.tcl (do_kill): Added the Kill menu item for killing the
70 inferior on native targets.
72 1999-09-16 James Ingham <jingham@leda.cygnus.com>
74 * prefs.tcl (pref_set_defaults): define the wrap preference for
77 * console.itb (Console::_paste): Add the "delete selection"
78 semantics so we can use this for all the Paste events.
79 (Console::_delete): New method, centralize delete handling so we
80 can protect against things like delete deleting a selection up in
81 the history region of the window.
82 (Console::_build_win): Change bindings to use _paste & _delete.
83 (Console::_build_win): wrap if told to by the wrap parameter.
85 * console.ith: Declare _delete.
87 1999-09-16 Stan Shebs <shebs@andros.cygnus.com>
89 * targetselection.itb (TargetSelection::init_target_db): Remove
90 references to D10V target, use only standard remote for D10V.
92 1999-09-15 James Ingham <jingham@leda.cygnus.com>
94 * console.itb (Console::_paste): Fix another "set foo [catch ...]"
96 (Console::_build_win): Remove the extraneous posting of the
97 <<Paste>> event in handling B2-Release. Just call _paste.
99 1999-09-10 James Ingham <jingham@leda.cygnus.com>
100 From Mumit Khan <khan@xraylith.wisc.edu>
102 * prefs.tcl (pref_set_defaults): Add main_names preference.
103 * interface.tcl (gdbtk_locate_main): New proc.
104 (run_executable): Use.
105 * srcwin.itb (SrcWin::_build_win): Use.
106 (SrcWin::location): Likewise.
107 (SrcWin::point_to_main): Likewise.
109 1999-08-27 James Ingham <jingham@leda.cygnus.com>
111 * srctextwin.itb (SrcTextWin::FillAssembly): Use the new
112 gdb_load_disassembly.
113 (SrcTextWin::FillMixed): Use the new gdb_load_disassembly.
115 * interface.tcl (gdbtk_idle): Call gdbtk_restore_fputs at idle
116 time. This puts the gdbtk_fputs hook back in place, just in case
117 an error left it pointing to null.
119 1999-08-11 Tom Tromey <tromey@cygnus.com>
121 * kod.itb (KodWin::build_win): Don't use Tix.
122 (Various): Changed as a result of build_win change.
123 (KodWin::destructor): Unset new globals. Also unset
126 * kod.ith (labh): Removed variable.
128 * kod.ith (set_os): Declare.
129 * kod.itb (KodWin::build_win): Don't use Tix labelled frame
130 widget or Tix paned widget. Removed size boxes from Windows
132 (KodWin::constructor): Add `$this set' to gdb_set_hook.
133 (KodWin::destructor): Remove from hook.
134 (KodWin::set_os): New method.
136 * toolbar.tcl (GDBToolBar::destructor): Remove from gdb_set_hook.
137 (GDBToolBar::constructor): Add to gdb_set_hook.
138 (set_hook): New method.
139 (create_view_menu): Don't put kod onto menu.
141 * kod.itb (KodWin::display_object): Don't put `Details' message in
142 label; this messes up resize and doesn't really add anything.
144 * images/kod.gif, images2/kod.gif: Removed.
145 * toolbar.tcl (create_window_buttons): Removed kod button.
146 (add_menu_command): Don't load kod image.
148 * kod.itb: Renamed from kod.tcl. Restructured to follow new itcl
152 * toolbar.tcl (create_window_buttons): Use gdb_kod_cmd, not
154 (create_view_menu): Likewise.
155 * interface.tcl (initialize_gdbtk): Don't mention gdb_kod_name.
157 * targetselection.itb (TargetSelection::init_target_db): Added
158 Cisco targets. From Martin Hunt.
160 * kod.tcl (build_win): Use correct capitalization for buttons.
162 1999-08-10 James Ingham <jingham@leda.cygnus.com>
164 * srctextwin.itb (SrcTextWin::constructor): Add the disassembly
166 (SrcTextWin::disassembly_changed): New method, fix up all the
167 windows when the disassembly flavor changes.
168 (SrcTextWin::_mtime_changed): We were setting the filename:dirty
169 to 1 regardless of the result of the mtime check... Doh!
170 (SrcTextWin::reconfig): The setTabs call was assuming ALL windows
172 (SrcTextWin::do_tag_popup): Remove the balloon when the breakpoint
173 popups are posted as well.
174 (SrcTextWin::do_source_popup): Also handle the case where there is
175 a selection, but the point is not over it.
177 * srctextwin.itb (SrcTextWin::destructor): Remove it when the
180 * regwin.itb (RegWin::constructor): Add the disassembly_flavor_hook.
181 (RegWin::destructor): Remove it when the widget is destroyed.
182 (RegWin::disassembly_changed): New method, tell the widget it
183 needs to redisplay itself with the new register names.
184 (RegWin::reconfig): Actually do the reconstruction if the register
185 set names have changed.
186 * regwin.ith: Add declarations for the new methods.
188 * interface.tcl (gdbtk_tcl_disassembly_hook): New hook to support
189 changing the disassembly flavor.
191 * srctextwin.itb (SrcTextWin::getVariable): Use a selection in
192 preference to the word around the hit point, if there is one.
193 (SrcTextWin::do_source_popup): Really dismiss the balloon when you
196 1999-08-05 James Ingham <jingham@leda.cygnus.com>
198 * srctextwin.itb (SrcTextWin::showBalloon): Fix ShowBalloon. We
199 can't use "info line" to tell us whether we should post a balloon
200 over the current line, since gdb only considers the first line of
201 a statement executible, not the continuation lines. Instead, show
202 any line in the currently selected function. Sigh...
204 1999-08-06 Tom Tromey <tromey@cygnus.com>
206 * interface.tcl (gdb_set_hook): New hook.
208 1999-08-02 Tom Tromey <tromey@cygnus.com>
210 * managedwin.ith (window_name): Removed extraneous comma.
212 1999-07-27 Keith Seitz <keiths@cygnus.com>
214 * variables.tcl: Rewrite to use new variable rewrite.
217 * srctextwin.itb (updateBalloon): Use new variable rewrite.
218 * blockframe.ith, blockframe.itb: New block and frame classes.
219 * data.ith, data,itb: New stack and queue classes (data structures).
222 1999-07-20 Jason Molenda (jsm@bugshack.cygnus.com)
224 * prefs.tcl (pref_set_defaults): Set tab_size to the univeral
225 standard of 8, not 4.
227 1999-07-16 Stan Shebs <shebs@andros.cygnus.com>
229 * All files (*.tcl, *.itb, *.ith): Add GPL notices, regularize
230 copyright and header comments.
232 1999-06-29 James Ingham <jingham@leda.cygnus.com>
234 * bpwin.itb (BpWin::bp_store): New proc, store away the current
235 breakpoint list into a gdb command file.
236 (BpWin::bp_restore): restore a breakpoint list from a command file.
237 (BpWin::build_win): Add menu items for store & restore breakpoints.
239 1999-06-24 Keith Seitz <keiths@cygnus.com>
241 * srcwin.itb (SrcWin::destructor): Its "gdb_clear_file_hook",
242 not "gdb_clear_file".
244 1999-06-23 James Ingham <jingham@leda.cygnus.com>
246 * srctextwin.itb (SrcTextWin::_mtime_changed): Catch the call to
247 mtime. This will fail when you are in assembly mode, and the file
248 is actually a function address.
249 (SrcTextWin::motion): Catch the call to showBalloon. There are
250 various things that can go wrong here, and we certainly don't want
251 the user to hear about them.
253 1999-06-15 Keith Seitz <keiths@cygnus.com>
255 * interface.tcl (gdbtk_stop_idle_callback): Catch calls to
256 remove hook, since it could already be gone if we got a signal.
258 * srcwin.itb (busy): If there is no target and the
259 debugger is native, we should also let the user know
260 that his program is running.
262 1999-06-11 James Ingham <jingham@leda.cygnus.com>
264 * interface.tcl (gdbtk_tcl_exec_file_display): Only call clear
265 file if there is a file loaded in the source window. This avoids
266 some flashing at startup.
268 1999-06-10 Keith Seitz <keiths@cygnus.com>
270 * srctextwin.itb (do_source_popup): Clear the varBalloon tag
271 before mapping a popup onto the screen.
272 (showBalloon): The "-pc" option was removed from gdb_variable.
273 Provide equivalent functionality, and display popups again.
275 * interface.tcl (set_target): Don't call the target dialog
276 if there gdb_target_cmd is empty and we are a native debugger.
277 Don't set a default target -- force the gui to ask the first
279 (run_executable): Set options after we have a target, not before.
281 * watch.tcl (destructor): Don't call no_inferior -- the window's
282 already been destroyed. Instead, run through our list of variables
285 1999-06-10 James Ingham <jingham@leda.cygnus.com>
287 * srctextwin.itb (SrcTextWin::clear_file): Don't try to set the
288 text view back to the gdbtk_scratch_widget, this is very fragile.
289 (SrcTextWin::LoadFromCache): initialize the mtime correctly when
290 you add a window to the cache.
291 (SrcTextWin::LoadFromCache): don't add the ,asm,lib to the scratch
294 * interface.tcl (gdbtk_tcl_exec_file_display): Only run
295 gdbtk_clear_file if the filename is not null. This avoids source
298 * srctextwin.itb (SrcTextWin::_mtime_changed): Set a dirty flag
299 when the mtime has changed so that you can know to reload the
301 (SrcTextWin::LoadFromCache): Look at the dirty flag, and reload
302 from disk if it is set.
304 1999-06-10 Keith Seitz <keiths@cygnus.com>
306 * watch.tcl (clear_file): New method.
307 * variables.tcl (constructor): Register gdb_clear_file hook.
308 (destructor): Unregister gdb_clear_file hook.
309 (clear_file): New method.
310 * targetselection.itb (init_target_db): Add Picobug monitor.
311 (fill_targets): Don't explicitly list every TCP target: deduce
312 it from the target database.
313 (native_debugging): Compare host and target triples.
314 * srcwin.ith (clear_file): Add declaration.
315 * srcwin.itb (constructor): Register gdb_clear_file hook.
316 (destructor): Unregister gdb_clear_file hook.
317 (clear_file): New method.
318 * srctextwin.ith (LoadFile): Add arg "mtime_changed".
319 (clear_file): Add declaration.
320 (_mtime_changed): Add declaration.
321 (_initialize_srctextwin): Add declaration.
322 (_clear_cache): Add declaration.
323 * srctextwin.itb (constructor): Move all initialization
324 to _intialize_srctextwin so that we can easily re-initialize.
325 (Stwc): Change layout to explicitly list panes
327 (ClearTags): Catch calls removing tags. Needed when
328 loading new executables.
329 (_mtime_changed): New method.
330 (FillSource): Immitate command line gdb, checking
331 if a file has changed since it was last used. If it has, load
333 (LoadFile): Add parameter to inform whether a file's
334 mtime has changed. Reload the cache if it has.
335 (clear_file): New method.
336 (_initialize_srctextwin): New method.
337 (_clear_cache): New method. Stubbed.
338 * main.tcl: Move initialization of state to initialize_gdbtk in
340 * interface.tcl (gdbtk_tcl_exec_file_display): Don't reset source
341 windows or globals here -- the clear file hook will do that.
342 (set_exe_name): Always say the exe has changed, in case
343 the user reloads the same exe (which he's recompiled).
344 (set_exe): Don't call gdb_clear_file.
345 (set_target): Return string result codes.
346 (clear_file_hook): New hook.
347 (gdbtk_clear_file): New proc.
348 (initialize_gdbtk): New proc. Moved initialization of
349 globals (yich) here from main.tcl
350 * download.itb (download_it): When running set_target,
351 use new string return codes.
353 * interface.tcl (gdbtk_attach_target): New proc. Moved
354 contents of run_executable dealing with attaching to
356 (run_executable): Use gdbtk_attach_target.
357 (connect): Remove and merge with gdbtk_attach_target.
358 * srcbar.tcl (do_connect): Use gdbtk_attach_target to
359 attach to the target.
361 * tclIndex: Regenerate.
363 1999-06-07 James Ingham <jingham@leda.cygnus.com>
365 * memwin.ith (numbytes): Change the default to 0, which means
366 "depends on window size". This is really the useful value.
368 * memwin.itb (MemWin::newsize): Move getting the rheight to AFTER
369 the update idletasks. Otherwise the bbox call will return "" when
370 the window is being constructed.
371 (MemWin::reconfig): Set rheight back to "" to force it to be
372 recomputed. Both font changes and switch to "depends on window
373 size" could invalidate this.
375 1999-06-08 Keith Seitz <keiths@cygnus.com>
377 * srcwin.itb (set_execution_status): Do not try to second
378 guess gdb_target_has_execution with gdb_running. Make
379 gdb_running follow it. We'll have to fix those targets
380 that do not set inferior_pid as they crawl out of the woodwork.
382 1999-06-07 James Ingham <jingham@leda.cygnus.com>
384 * prefs.tcl (pref_set_defaults): Set the initial height and with
385 of the browser to 0 so the packer & gridder can get this right on
386 systems with different fonts. Fixes CR 100619.
388 * browserwin.itb (BrowserWin::_build_win): Don't set the height
389 and width of the file_box and func_box. This keeps them from
390 floating correctly when there is not stored default.
392 1999-06-04 James Ingham <jingham@leda.cygnus.com>
394 * regwin.itb (RegWin::acceptEdit): Call gdbtk_update after
395 changing the register value so that the locals and watch window
396 will get updated if any of these variables are in registers. Fixes
399 1999-05-25 Keith Seitz <keiths@cygnus.com>
401 * variables.tcl (getLocals): Don't pass any args to
402 gdb_get_{locals, args} so that the currently selected frame is used.
403 (context_switch): New method.
404 * locals.tcl (getVariablesBlankPath): Don't catch call to getLocals.
405 getLocals will do it and return {} if an error occurs.
406 Always pass the frame of the variable to the variable backend,
407 assuming that the selected frame is the proper frame to use.
408 (update): Recognize context switches a little better.
410 * variables.tcl (cursor): New method.
411 (enable_ui): Use "cursor".
413 (no_inferior): Ditto.
414 (open): Change toplevel's cursor when opening variables.
416 1999-05-03 Martin Hunt <hunt@cygnus.com>
418 * toolbar.tcl (create_help_menu): Open About window as transient.
420 * main.tcl: Open About window as transient.
422 * about.tcl (About): Set window title.
424 1999-04-27 James Ingham <jingham@cygnus.com>
426 * srcpref.itb (build_win): Pack the frame containing the
427 disassembly flavor chooser. Redid some of the other packing to
428 look a bit nicer too.
430 * srcpref.itb (save): Call apply and then close rather than
431 duplicating the apply code.
433 1999-04-26 James Ingham <jingham@cygnus.com>
435 * modal.tcl (ModalDialog): Add the "expire" variable, and cancel
436 the dialog after the given time if set.
438 * managedwin.ith (destructor): Use the new quit_if_last method to
439 decide whether to quit the app or not. This way you can manage
440 create a splash screen and not quit the app when you take it down.
441 (quit_if_last): Add default implementation - returns 1.
443 * about.tcl (quit_if_last): Add the quit_if_last to the About box,
446 * main.tcl: Added a line to open a splash screen, but commented it
449 1999-04-22 Keith Seitz <keiths@cygnus.com>
451 * targetselection.itb (port_list): ManagedWin has a proc named
452 "open". We really want the tcl command "::open" to open a port.
454 1999-04-15 Martin Hunt <hunt@cygnus.com>
456 * prefs.tcl (pref_set_defaults): New pref, gdb/use_icons.
457 This is set if Unix should use gdbtk_icon.gif as an icon. Some
458 window managers, such as olvwm, have problems with it.
459 * managedwin.itb (ManagedWin::_create): Don't create icon
460 for Unix, unless gdb/use_icons is set.
461 * globalpref.itb (GlobalPref::build_win): Add a checkbutton to set
464 * managedwin.itb (ManagedWin::window_name): If iconname is
465 not specified, use window name.
466 (ManagedWin::_create): For Unix, call make_icon_window.
467 (ManagedWin::make_icon_window): New function. Makes a unix
470 * main.tcl: Set initial target to "exec" if running in
473 * bpwin.itb (BpWin::constructor): Set icon name to "BPs".
474 * regwin.itb (BpWin::build_win): Set icon name to "Regs".
475 * srcwin.itb (SrcWin::_update_title): Set icon name to basename
477 * variables.tcl (VariableWin::build_win): Set icon name to "Locals".
479 1999-04-12 Keith Seitz <keiths@cygnus.com>
481 * variables.tcl (populate): Update the value of the parent variable's
482 children before stuffing them into the window. This makes sure
483 that the value of the variable is always current.
485 1999-04-09 James Ingham <jingham@cygnus.com>
487 * memwin.itb (MemWin::incr_addr): Fix the increment-decrement
488 control. It would allow you to scroll into negative addresses,
489 which causes some simulators to crash. It would also increment
490 improperly in cases where the address value in hex corresponded to
491 a negative signed int.
493 1999-04-07 Martin Hunt <hunt@cygnus.com>
495 * interface.tcl (gdbtk_signal): Don't set gdb_running to 0.
497 1999-04-06 Martin Hunt <hunt@cygnus.com>
499 * targetselection.itb (TargetSelection::getname): Call init_target_db.
500 (TargetSelection::init_target_db): Add target mon2000. Set
501 most remote targets to default to downloading. Add new
502 baudrates for remote target. Other misc target fixes.
503 (save) Use "pref setd" in case pref is not created yet.
504 (TargetSelection::config_dialog): Gray out port number when
507 * targetselection.ith: Add public proc init_target_db.
509 * srcwin.itb (SrcWin::set_execution_status): Don't print anything
512 * srctextwin.itb (SrcTextWin::motion): Show variable values
513 even when not debugging. Needed so users can examine values after
516 * interface.tcl (set_target): If the target name is "",
517 use the default target name.
518 (run_executable): Set gdb_running correctly. Don't
519 allow downloading to "exec".
520 (gdbtk_signal): New function called from gdbtk_annotate_signal.
521 Sets gdb_running to 0 and pops up a dialog with the
522 signal name and description.
524 * main.tcl: Set initial target name to "". Set gdb_target_changed
525 so a dialog will always be forced the first time.
527 * download.itb (Download::download_it): Set gdb_loaded before
528 notifying src windows the download is done. Catch the notifications
529 in case the dialog has been closed.
531 * console.itb (Console::destructor): Set gdbtk_state(console)
532 to "" instead of unsetting it.
534 1999-04-02 James Ingham <jingham@cygnus.com>
536 * memwin.itb (MemWin::build_win): Remove the -validate option from
537 the memory spinner. It was not appropriate, since you can type
538 expressions into the window.
540 1999-04-02 Keith Seitz <keiths@cygnus.com>
543 * toolbar.tcl (create_control_buttons): Use SrcWin's
544 inferior method to centralize control of inferior state.
545 (create_control_buttons): Ditto.
546 (source): Move SrcBar's public variable "source" here,
547 so that the toolbar can use that info, too.
548 * srcwin.itb (SrcWin::inferior): New public method
549 to consildate inferior control and dispatch to proper
551 * srcwin.ith (SrcWin::inferior): Add declaration.
552 * srctextwin.itb (SrcTextWin::do_key): Use parent SrcWin's inferior
553 method to handle inferior state changes (run, step, next, etc).
554 * interface.tcl: Add procs to centralize inferior control:
555 gdbtk_step, gdbtk_next, gdbtk_stepi, gdbtk_nexti, gdbtk_run,
556 gdbtk_continue, gdbtk_finish, gdbtk_stop.
557 New stop button code (see comments before gdbtk_stop):
558 (gdbtk_stop_idle_callback): Idle callback for stop button.
559 (gdbtk_detach): New proc to forcibly detach from target.
560 * main.tcl: Initialize data used by stop button.
561 * srcbar.tcl (create_run_menu): Call SrcWin's inferior
562 method with button commands.
563 (source): Move "source" to Toolbar class.
565 1999-03-29 Keith Seitz <keiths@cygnus.com>
567 * browserwin.itb (BrowserWin::do_all_bp): Fix quoting of break
569 (BrowserWin::_toggle_bp): Ditto.
571 1999-03-19 Keith Seitz <keiths@cygnus.com>
573 * download.itb (Download::download_it): Configure SrcWin's toolbar,
574 too, to a downloading state.
575 * srcbar.tcl (runstop): Change states from numbers to
576 strings to avoid confusion.
577 (_set_runstop): Change states from numbers to strings to
579 * srcwin.ith (toolbar): New public method.
580 * srcwin.itb: Change all references of runstop to use new strings
581 introduced into GDBSrcBar::_set_runstop.
582 (SrcWin::toolbar): New public method to configure the state of the toolbar.
583 * tclIndex: Regenerate.
585 1999-03-18 Martin Hunt <hunt@cygnus.com>
587 * interface.tcl (set_target_name): Remove first argument.
588 If prompt is not set, still update gdb_target_cmd.
589 (set_target): Call set_target_name with prompt argument
591 (run_executable): Check for no exe name. Catch problems
592 with bad target names and prompt for new one.
594 * main.tcl: Set target name from prefs. If it is "",
595 the set "gdb_target_changed" to force it to be changed
598 * prefs.tcl (pref_set_defaults): Don't set target default
599 to "exec". Leave the default unset.
601 * srcbar.tcl (create_menu_items): Update args to
604 1999-03-18 Keith Seitz <keiths@cygnus.com>
606 * prefs.tcl (pref_read): Change unix preference filename
607 to ".gdbtkinit". This bogosity has been around long enough.
609 1999-03-16 Martin Hunt <hunt@cygnus.com>
611 * managedwin.itb (ManagedWin::_create): When running under
612 testsuite, don't resize.
614 1999-03-13 James Ingham <jingham@cygnus.com>
616 * browserwin.itb (BrowserWin::search): If all the files are
617 selected in the file box, then don't pass the files argument.
618 This makes the function browser a little quicker. The main
619 slowdown, however, is sorting the resultant list. Maybe do this
620 in C to get this quicker?
622 * memwin.itb (MemWin::edit): Comment out the line that reads back
623 in the newly set memory value. Because of the chain of calls,
624 on Windows this causes some evil race that results in GDBTk
625 filling all the visible cells with the new value. I don't
626 understand it yet, so this is just a temporary fix.
628 1999-03-12 James Ingham <jingham@cygnus.com>
630 * memwin.ith (MemWin): Add saved_addr to the class. This is where
631 we store the old address before we change addresses, so that we
632 can get back to a good state in case of errors.
634 * memwin.itb (MemWin::update_addr): gdb_get_mem does not always
635 return an error code when it hits an error. Catch that here.
636 (MemWin::update_address): Store away the old address, so we can
637 restore it if there is an error.
638 (MemWin::BadExpr): Restore the saved address in case of errors.
641 1999-03-09 James Ingham <jingham@cygnus.com>
645 1999-03-08 James Ingham <jingham@cygnus.com>
647 * srctextwin.itb (SrcTextWin::constructor): pc(funcname) was
648 changed to pc(func), but the initialization was not changed...
650 * download.ith (dont_remember_size): Download window should not
653 * interface.tcl (connect): Handle the case where set_target
656 * debugwin.itb (DebugWinDOpts::build_win): Replace $this delete
657 with delete object $this.
658 * tfind_args.tcl (build_win): Ditto...
659 * helpviewer.itb (HtmlViewer::_buildwin): Ditto...
661 * srcbar.tcl (GDBSrcBar): Reorder the Source & the page setup &
664 1999-03-04 Martin Hunt <hunt@cygnus.com>
666 * download.ith: New file.
667 * download.itb: New file. Implements itcl3 class and replaces
670 * srcbar.tcl (create_menu_items): Call create_run_menu
672 (create_run_menu): Add Disconnect and Connect to Run menu
673 instead of file menu. Change download_it to Download::download_it.
675 * srctextwin.itb (do_key): Change binding to call
676 Download::download_it.
678 * debugwin.itb (DebugWinDOpts::build_win): Add ProcessWIn to list
679 of classes for filter.
681 * interface.tcl (set_target): No need to set window title.
682 (run_executable): Change download_it to Download::download_it
684 1999-03-04 James Ingham <jingham@cygnus.com>
686 * modal.tcl (ModalDialog): Handle WM_DELETE_WINDOW by calling the
687 cancel method. Also set unpost_notification to different values
688 in unpost & the destructor, so if the object dies irregularly, you
689 know not to try to double destruct it.
691 1999-03-03 James Ingham <jingham@cygnus.com>
693 * warning.tcl (WarningDlg::constructor):Destroy with unpost.
695 * util.tcl (get_disassembly_flavor, set_disassembly_flavor,
696 init_disassembly_flavor): Added these functions for the Intel P2
698 (list_element_strcmp): New function for lsort -command on lists.
700 * tracedlg.tcl (TraceDlg): Change combobox callback to reflect new
703 * targetselction.itb (TargetSelection::save): If the target
704 is not valid, tell the user rather than simple refusing to go
706 Also move stuff around to isolate the instance dependant stuff as
708 Also replace delete with unpost.
710 * targetselection.ith (TargetSelection): Make as much of the
711 initialization stuff Class functions as possible. Then only
714 * srcwin.ith (_update_title): initialize need_files.
716 * srcwin.itb (SrcWin::_build_win): I changed the combobox so it
717 ran its code in an idle handler, so we can take out all the after
720 * srctextwin.ith (SrcTextWin): Added textheight variable so you
721 can adjust the height of the text display.
723 * srctextwin.itb (SrcTextWin::build_win): Don't hardcode the size
724 of the text window, set it with the textheight option instead.
725 Also replace childsite with "component text" wherever required.
727 * srcpref.itb (SrcPref::build_win, set_flavor): Added the Intel
728 disassembly flavor combobox. Added set_flavor method to support
730 * srcpref.ith: Added declaration for set_flavor, and
731 disassembly_flavor instance variable.
733 * modal.tcl (ModalDialog::post, unpost): Added unpost method to
734 provide a more regular way to dismiss the dialogs. Just
735 destroying them was leading to funny destruction order bugs.
736 Added cancel method, which is what client code should call to
737 "force close" the dialog, so child classes can override, and do
740 * memwin.itb (MemWin::destructor): Call the cancel method of the
741 Preferences dialog (if it is posted) rather than just destroying
744 * mempref.itb (MemPref::ok): call unpost, since this is a modal
747 * managedwin.itb (ManagedWin::reveal): Used to be called raise.
748 Don't reuse Tcl or Tk commands unless there is a really good
750 (ManagedWin::destroy_toplevel): renamed from delete, which
751 conflicts both with the Itcl1.5 delete method, and the Itcl3.0
752 delete command... Also, don't use this as the way to destroy
753 ManagedWins, rather destroy the object and let the object take
754 care of removing its toplevel.
755 (ManagedWin::_create): Group all the windows with
756 . for WindowManagers that properly handle this.
757 (ManagedWin::_create): Use dont_remember_size
758 rather than the instance variable. Also, windows which don't
759 remember size are not necessarily transient.
760 (ManagedWin::_create): Only call post if the
761 ManagedWin also isa ModalDialog. It is clearer what is going on.
762 * managedwin.ith: Carry through the name changes.
764 * main.tcl: call init_disassembly_flavor for Intel assembly
767 *main.tcl: Group . with . This is half of the work required to
768 play nice with WindowMaker. The other half waits till we can get
769 gdb to pass the command-line arguments to Tcl.
771 * interface.tcl: Add file_changed_hook to the hooks. The browser
772 window watches this and refreshes the file box if it changes.
774 * globalpref.ith (GlobalPref): This should be a modal dialog.
775 * globalpref.itb (GlobalPref::build_win): call update idletasks,
776 not update. Since we are calling update, there is no reason to
777 delay calling resize_font_item_height.
778 * globalpref.itb: Replace destroy toplevel with unpost.
780 * debugwin.itb (DebugWin::build_win): Replace childsite with
783 * console.itb (Console::_build_win): Replace childsite with
786 * browserwin.itb: Rewritten pretty completely.
787 * prefs.tcl (pref_set_defaults): add the browser preferences.
789 * prefs.tcl (pref_set_defaults): add the intel disassembly flavor
792 * about.tcl (About): This should be a modal dialog.
794 1999-03-02 James Ingham <jingham@cygnus.com>
796 * globalpref.itb (GlobalPref::make_font_item): Don't do the
797 resize_font_item_height here, since an update can cause the resize
798 before all the windows are built. Delay to the end of build_win
801 1999-02-24 James Ingham <jingham@cygnus.com>
803 * toolbar.tcl (remove_button): Specify the row in the toolbar from
804 which you are removing the item. On Windows, there are two rows
805 in the standard toolbar...
807 1999-02-22 Martin Hunt <hunt@cygnus.com>
809 * warning.tcl (WarningDlg::constructor): Remove extra quote
810 that was causing loading of this module to fail.
812 * managedwin.itb (ManagedWin::_create): If the pack fails
813 (for example because the warning dialog reliazed it should
814 ignore the warning) print a warning debug message and return.
815 Also, while testing, tell the window manager to position
816 the window without asking the user for the position.
818 1999-02-18 Martin Hunt <hunt@cygnus.com>
820 * srctextwin.itb (SrcTextWin::FillAssembly): As a last resort,
821 if the disassembly fails for some reason, switch to the scratch
822 pane and write in a message about not being able to disassemble.
824 1999-02-18 Martin Hunt <hunt@cygnus.com>
826 * helpviewer.ith (HtmlViewer): Add thread and function
827 browser windows to help index.
829 * help/index.toc: Removed.
831 1999-02-18 Martin Hunt <hunt@cygnus.com>
833 * help/thread.html: New file. Thread window online help.
834 * help/index.html: Add thread.html, and alphabetize list.
835 * help/source.html: Add index for thread_bp.
837 1999-02-17 Martin Hunt <hunt@cygnus.com>
839 * globalpref.itb (GlobalPref::build_win): Add a checkbutton to
840 allow use of an internet browser to read help files.
842 * prefs.tcl (pref_set_defaults): Add preference gdb/help/browser.
843 Default is to use builtin html help.
845 * helpviewer.itb (HtmlViewer::open_help): New public proc.
846 Depending on preferences, opens help in external browser or
849 * toolbar.tcl (create_help_menu): Use HtmlViewer::open_help.
851 1999-02-17 Martin Hunt <hunt@cygnus.com>
853 * managedwin.itb (ManagedWin::_create): Restore some lines that
854 were accidently checked in commented out.
856 1999-02-17 Keith Seitz <keiths@cygnus.com>
858 * help/index.html: Add function browser.
859 * help/browser.html: New help file.
861 1999-02-12 Martin Hunt <hunt@cygnus.com>
863 * managedwin.itb (ManagedWin::_create): If a window class defines a
864 public variable "nosize" the size will not be set, only the position.
865 * browserwin.ith (toggle_all_bp): Add public variable "nosize".
867 1999-02-12 Martin Hunt <hunt@cygnus.com>
869 * process.ith: New file.
870 * process.itb: New file. Converted process.tcl to new itcl class.
871 * process.tcl: Deleted.
873 * warning.tcl (WarningDlg::constructor): Set the window name.
875 1999-02-11 Martin Hunt <hunt@cygnus.com>
877 * variables.tcl (editEntry): Check that $variable is not empty.
879 * warning.tcl (WarningDlg::constructor): Put focus on the
880 "OK" button and bind it to <Return>.
882 * watch.tcl (add): If the user attempts to add a non-existent
883 variable to the watch-window, display an ignorable warning.
885 * interface.tcl (gdbtk_tcl_ignorable_warning): -transient
886 should not take an argument.
887 (set_target_name): Ditto.
888 * srcbar.tcl (create_menu_items): Ditto.
889 * memwin.itb (MemWin::create_prefs): Ditto.
890 * managedwin.itb (ManagedWin::_create): Ditto.
892 1999-02-11 James Ingham <jingham@cygnus.com>
894 Move the Intel disassembly mode changes into devo.
896 * main.tcl: Init the disassembly flavor bits.
897 * prefs.tcl: Define disassembly-flavor
898 * srcpref.ith: Add current_disassembly_flavor instance variable
899 and set_flavor method.
900 * srcpref.itb (build_win): Add the disassembly_flavor combobox.
901 (apply): set the flavor, if applicable.
902 (set_flavor): New method.
903 * util.tcl: Add 3 new functions - get_disassembly_flavor,
904 list_disassembly_flavor and init_disassembly_flavor.
906 1999-02-10 Martin Hunt <hunt@cygnus.com>
908 * srcwin.itb, download.tcl, main.tcl, srcbar.tcl: Removed old
911 * toolbar.tcl (create_help_menu): Updated Cygnus URL and
912 removed old IDE stuff.
913 (create_ide_buttons): Removed.
915 1999-02-10 Martin Hunt <hunt@cygnus.com>
917 * managedwin.itb (ManagedWin::_create): Bind Alt-F4 to
918 always close the window.
920 1999-02-10 Martin Hunt <hunt@cygnus.com>
922 * main.tcl: Removed old debugging preferences.
923 * prefs.tcl (pref_set_defaults): Ditto.
925 1999-02-09 Martin Hunt <hunt@cygnus.com>
927 * managedwin.itb (ManagedWin::_create): Simplify raise
928 and post now that all windows use new manager.
930 * warning.tcl (WarningDlg): Rewrite of entire class to use
931 new itcl 3.0 class. Also now uses a "class name" to keep
932 track of which messages should be ignored. Uses tk_messageBox
933 of the message doesn't have -ignorable set.
935 * interface.tcl: Removed IDE stuff.
936 (gdbtk_tcl_ignorable_warning): Accept "class" argument and
937 use it when creating a WarningDlg. Use new ManagedWin::open.
939 * srctextwin.itb (SrcTextWin::set_tp_at_line): Fix TraceDlg
940 open command to use ManagedWin::open.
942 * srcpref.itb (SrcPref::build_win): Comment out line number
943 option. It wasn't very useful and did not become effective
944 until GDBtk was restarted.
946 1999-02-09 James Ingham <jingham@cygnus.com>
948 * srctextwin.itb (build_win): Set the paned window background to
949 white so it looks better when you switch windows.
951 * mempref.itb (build_win): Use the libgui combobox for the bytes per
954 * mempref.itb: remove some global declarations that I missed when
955 I converted all the variables to instance data.
957 * variables.tcl (change_value): Catch one more place where $this
958 was being passed as a window name.
960 * TODO: Added some more items, and removed some that had been fixed.
962 Mon Feb 8 12:27:16 1999 Keith Seitz <keiths@cygnus.com>
964 * interface.tcl (set_target_name): Fix switch syntax
965 error and getd the options preference in case it's not set.
968 Thu Feb 4 11:55:43 1999 Keith Seitz <keiths@cygnus.com>
970 * targetselection.itb (_init_db): Add MIPS target.
971 (fill_targets): Ditto.
973 Thu Feb 4 07:56:12 1999 Keith Seitz <keiths@cygnus.com>
975 * targetselection.itb: Set "TargetSelection::target_trace"
976 as the correct trace for gdb_loaded.
977 * targetselection.ith: Make "target_trace" a public proc.
979 1999-02-03 Martin Hunt <hunt@cygnus.com>
981 * help/console.html: Cleaned up and added history and editing
984 * stackwin.itb (StackWin::build_win): Remove balloon help.
986 * console.itb (Console::_search_history): New function.
987 Does a pattern match on history buffer.
988 (Console::_rsearch_history): New function. Does a pattern
989 match on history buffer in the reverse direction.
990 (Console::_build_win): Bind Control-Up, Control-Down,
991 Shift-Up, and Shift-Down to search history instead of mess
992 up the console window. Bind Control-o to break to disable it.
994 * help/stack.html: Cleanup.
996 * help/source.html: Add a bunch of missing quotation marks.
998 1999-02-03 Martin Hunt <hunt@cygnus.com>
1000 * memwin.itb: Change from tixControl widget to iwidgets::spinint.
1001 Fix problems with error dialogs.
1003 1999-02-02 Martin Hunt <hunt@cygnus.com>
1005 * srctextwin.itb (SrcTextWin::do_source_popup): Even after fixing the
1006 obvious syntax errors in this function, it didn't work. So I
1007 simplified the logic. Now it will attempt to use whatever is selected.
1008 If multiple lines are selected and tracing is enabled, it will set
1009 tracepoints, otherwise it will try to extract a variable name from single
1012 * main.tcl: Only open debugwin if GDBTK_DEBUG > 1.
1014 * toolbar.tcl (create_view_menu): Only add "Debug WIndow" menu
1015 item if GDBTK_DEBUG is set.
1017 1999-02-02 Martin Hunt <hunt@cygnus.com>
1019 * browserwin.itb (BrowserWin::_fill_source): Add lib argument
1020 from gdb_loc to the call to $Source location.
1021 (BrowserWin::_goto_func): Ditto.
1023 1999-02-01 James Ingham <jingham@cygnus.com>
1025 * browserwin.itb (BrowserWin::_fill_source): Add a null lib
1026 argument to the call to $Source location.
1028 1999-02-01 Martin Hunt <hunt@cygnus.com>
1030 * prefs.tcl (pref_save): Change the list of sections back into
1033 1999-02-01 Martin Hunt <hunt@cygnus.com>
1035 * srctextwin.itb (SrcTextWin::FillMixed): Simplify line formatting.
1036 (SrcTextWin::continue_to_here): Call gdb_set_bp with new type arg.
1037 (SrcTextWin::set_bp_at_line): Call gdb_set_bp with new type arg.
1038 Use "catch" command and display error if there is one.
1040 1999-02-01 Martin Hunt <hunt@cygnus.com>
1042 * srcwin.itb (SrcWin::goto_func): Dont attach filename if
1043 there isn't a valid one.
1045 Fri Jan 29 20:01:30 1999 Fernando Nasser <fnasser@rtl.cygnus.com>
1047 * main.tcl: Restored kod code lost with merge
1049 * srctextwin.tcl: Ditto.
1050 * toolbar.tcl: Ditto
1051 * kod.tcl: Adapted to the new branch.
1053 1999-01-28 Martin Hunt <hunt@cygnus.com>
1055 * srcwin.itb (SrcWin::_build_win): Only call gdb_loc once.
1056 (SrcWin::location): Update linespec for gdb_loc to include
1059 * srctextwin.itb (SrcTextWin::LoadFromCache): Add "lib"
1060 argument. This is used to create a unique cache key so
1061 we don't confuse the disassembly of a function in a shared
1062 lib with the disassembly of its trampoline. Also updated
1063 UnLoadFromCache, LoadFIle, FillSource, FillMixed, and FillAssembly
1064 to pass this argument around.
1066 * helpviewer.ith (HtmlViewer::constructor): Declare we have a
1068 (PageStack::constructor): Delete this declaration.
1070 * helpviewer.itb (HtmlViewer::constructor): initialize args before
1073 * main.tcl: Only open initial debug window if GDBTK_DEBUG
1076 * help/debug.html: Add help for GDBTK_DEBUG
1078 Wed Jan 27 07:18:05 1999 Keith Seitz <keiths@cygnus.com>
1080 * interface.tcl (gdbtk_pc_changed): Removed.
1081 (gdbtk_register_changed): New procedure.
1082 (gdbtk_memory_changed): New procedure.