1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
|
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.
|