1 Wed Feb 3 13:37:07 1999 Keith Seitz <keiths@cygnus.com>
3 * gdbtk-variable.c (variable_create): Add parentheses to the name
4 so that casts do not confuse the expression parser.
6 1999-02-03 Keith Seitz <keiths@cygnus.com>
8 * gdbtool.ico: Add missing desktop image.
10 1999-02-02 Martin Hunt <hunt@cygnus.com>
12 * gdbtk-cmds.c (get_register): For RAW display, concat all the
13 pieces together before calling fputs.
15 1999-02-01 Martin Hunt <hunt@cygnus.com>
17 * gdbtk-cmds.c: (gdb_set_bp): Change the "type" argument
18 to be ASCII instead of an integer. Currently accepts "temp"
19 or "normal". Fixed error messages.
20 (gdb_set_bp_addr): Ditto.
22 1999-01-29 James Ingham <jingham@cygnus.com>
24 * gdbtk.c (gdbtk_init): Set the fputs_unfiltered_hook to
25 gdbtk_fputs BEFORE you eval script. The old code was setting it
26 to null until after you did this, but that is wrong, because it
27 will cause the output of CAUGHT errors to go to gdb_stderr, which
28 is wrong. You only want to write errors to the console if the
29 eval generates an error.
31 1999-01-29 Martin Hunt <hunt@cygnus.com>
33 * gdbtk-cmds.c (gdb_get_breakpoint_info): When printing addresses,
34 do not rely on the format string "%lx" -- it does not exist for all
35 hosts. Use paddr instead.
36 (gdb_loadfile): Increase maximum line size to pass testsuite cases.
38 * gdbtk-hooks.c (gdbtk_add_hooks): Remove pc_changed_hook and
39 add register_changed_hook and memory_changed_hook.
40 (gdbtk_register_changed): New function.
41 (gdbtk_memory_changed): New function.
43 * gdbtk.c (gdbtk_init): Create tcl warp_pointer command
46 * gdbtk-cmds.c (gdb_loc): Fix for case where there are only
47 minimal symbols. Also make gdb_loc return the shared library
48 the location is in, if it is in one.
50 1999-01-27 James Ingham <jingham@cygnus.com>
52 * gdbtk-wrapper.c: Missed a couple of places where FILE->GDB_FILE
53 in the fputs_unfiltered_hook needed to propagate.
55 1999-01-27 James Ingham <jingham@cygnus.com>
57 Merging in changes from gdbtk-980810 - the Itcl3
60 1999-01-12 Martin Hunt <hunt@cygnus.com>
62 * gdbtk-cmds.c (gdb_loadfile): Increase maximum line size so
63 files with very long lines get numbered correctly.
65 Thu Jan 7 06:50:32 1999 Keith Seitz <keiths@cygnus.com>
67 * gdbtk-hooks.c (gdbtk_add_hooks): Add the error_begin_hook;
68 (gdbtk_error_begin): New function.
69 (gdbtk_fputs): If GDBTK_ERROR_ONLY is set, treat output to
70 any stream as if it had come from gdb_stderr.
72 * gdbtk.h: Define GDBTK_SYMBOL_SOURCE_NAME: does the same thing
73 as SYMBOL_SOURCE_NAME, except that it NEVER returns a mangled name.
74 Define GDBTK_ERROR_ONLY flag for result_ptr.
76 * gdbtk-cmds.c (gdb_listfuncs): Use SYMBOL_DEMANGLED_NAME to
77 get the symbol's fully demangled name (including class and
78 args for overloaded funcs), not cplus_demangle.
79 (get_frame_name): Use GDBTK_SYMBOL_SOURCE_NAME to get the name
82 * gdbtk-wrapper.c, gdbtk-wrapper.h:
83 (GDB_val_print): Allow caller to specify all function args to val_print.
84 (wrap_val_print): Ditto.
86 * gdbtk-variable.c (variable_value): Clear addressprint when getting
87 value of C++ reference-type variables
88 If we errored because a parent (struct pointer) was junk, output
89 an error message indicating so.
90 (call_gdb_val_print): Tell val_print to dereference C++ reference
92 (number_of_children): void * also has no children.
93 (get_call_output): Clear any error flags that may have been set
94 as a result of error_begin.
96 * utils.c (error_begin_hook): New hook.
97 (error_begin): Call error_begin_hook so that the GUI
100 * defs.h (error_begin_hook): Declare.
102 Wed Jan 6 08:43:31 1999 Keith Seitz <keiths@cygnus.com>
104 * gdbtk-wrapper.c, gdbtk-wrapper.h: Add wrappers for parse_exp_1,
105 evaluate_type, block_for_pc, block_innermost_frame, reinit_frame_cache,
106 and find_frame_addr_in_frame_chain.
108 * gdbtk-variable.c (variable_create): Check for failure when
110 (create_variable): Use wrapped calls for block_for_pc, parse_exp_1,
111 and block_innermost_frame.
112 Return NULL if parse_exp_1 fails.
113 Attempt to prohibit creating a gdb_variable for type names.
114 (variable_value_changed): Use wrapped calls for reinit_frame_cache and
115 find_frame_addr_in_frame_chain.
116 (variable_type): Use wrapped call for evaluate_type.
117 (variable_value): Use wrapped call for parse_exp_1.
118 (variable_editable): Use wrapped call for evaluate_type.
120 Tue Jan 5 11:37:17 1999 Keith Seitz <keiths@cygnus.com>
122 * gdbtk-variable.c: New variable object interface.
123 * gdbtk-wrapper.c, gdbtk-wrapper.h: New wrappers for safely calling
124 gdb functions without the fear of longjmp'ing.
125 * configure.in (CONFIG_OBS): Add gdbtk-wrapper.o and gdbtk-variable.o
126 when gdbtk is enabled.
127 * configure: Regenerate.
128 * Makefile.in: Add gdbtk-wrapper.o and gdbtk-variable.o
129 * gdbtk-cmds.c (call_wrapper): Export so that other files can use.
130 (Gdbtk_Init): Initialize new variable interface.
131 * gdbtk.h: Add declaration for call_wrapper.
133 Tue Jan 5 11:19:14 1999 Keith Seitz <keiths@cygnus.com>
135 * gdbtk-cmds.c (gdb_loc): Call resolve_sal_pc to before using
138 * gdbtk.c (gdbtk_init): Add global array GDBStartup to interpreter
139 which contains any startup info. Add "inhibit_prefs" (follows -nx)
140 so that "-nx" turns preference reading/writing off.
142 Mon Dec 21 11:11:02 1998 Keith Seitz <keiths@cygnus.com>
144 * gdbtk-cmds.c (get_register): Call get_saved_register instead of
145 read_relative_register_raw_bytes to fetch registers.
147 Thu Dec 17 09:00:56 1998 Keith Seitz <keiths@cygnus.com>
149 * gdbtk-cmds.c (gdb_search): Don't mention C++ RTTI and
150 global constructor/destructor symbols.
152 Thu Nov 12 15:20:15 1998 Jim Ingham <jingham@cygnus.com>
153 * More bug fixes merged in from devo.
155 * gdbtk-cmds.c (gdb_cmd): Added an optional second argument to the
156 gdb_cmd, which is from_tty. This is passed to the gdb command
157 parser. It is 0 by default, and the console window passes 1.
159 * gdbtk-cmds.c: moved disassemble_from_exec from gdbtk.c to gdbtk-cmds.c
160 with all the other link-var'ed variables
162 * gdbtk-hooks.c (gdbtk_trace_find): Only run the hook functions if
163 we are called from_tty.
165 * gdbtk-hooks.c (gdbtk_trace_start_stop): Set the trace buttons
166 from a trace_start_command callback rather than doing it as a
167 special case in gdb_cmd.
169 * tracepoint.c (tstart_command, tstop_command): Add call to
170 trace_start_stop_hook here.
172 1998-11-04 Martin M. Hunt <hunt@cygnus.com>
174 * gdbtk-cmds.c (gdb_set_bp_addr): For callback, send full
175 pathname instead of just basename.
177 1998-11-03 Keith Seitz <keiths@cygnus.com>
178 * v850ice.c (do_gdb): New function.
179 (ice_stepi): Use do_gdb to step properly.
180 (ice_nexti): Use do_gdb to step properly.
181 (view_source): Correct call to src window's location for new version.
183 Tue Aug 25 18:13:30 1998 Jim Ingham <jingham@cygnus.com>
185 * gdbtk.c (gdbtk_init): I hadn't excised ALL the old startup code,
186 so it was not working correctly. Now it does.
188 Fri Aug 21 14:37:40 1998 Jim Ingham <jingham@cygnus.com>
190 * gdbtk.c (gdbtk_init): Changed the startup code to use
196 on Dec 28 17:44:36 1998 David Taylor <taylor@texas.cygnus.com>
199 The following changes were made by Jim Blandy <jimb@cygnus.com>,
200 Edith Epstein <eepstein@cygnus.com>, Elena Zannoni
201 <ezannoni@cygnus.com> Stan Shebs <shebs@cygnus.com>, and David
202 Taylor <taylor@cygnus.com>, as part of the project to merge in
203 changes originally made by HP; HP did not create ChangeLog
206 * gdbtk.c (gdbtk_init): change stderr to gdb_stderr.
209 (get_pc_register): Use paddr_nz, not sprintf's %llx and
210 a cast to `long long'. Those aren't portable.
211 (gdb_eval): add embedded_offset param to val_print call
212 (get_register): add embedded_offset param to val_print call
215 (tk_command_loop): change instream to a FILE.
216 (gdbtk_flush): change both the declaration and definition to
217 use GDB_FILE rather than FILE.
219 Mon Dec 21 11:11:02 1998 Keith Seitz <keiths@cygnus.com>
221 * gdbtk-cmds.c (get_register): Call get_saved_register instead of
222 read_relative_register_raw_bytes to fetch registers.
224 Thu Dec 17 09:00:56 1998 Keith Seitz <keiths@cygnus.com>
226 * gdbtk-cmds.c (gdb_search): Don't mention C++ RTTI and
227 global constructor/destructor symbols.
229 Tue Dec 15 10:09:31 1998 Andrew Cagney <cagney@b1.cygnus.com>
231 * gdbtk-cmds.c (gdb_disassemble): Fix typo.
233 Sun Dec 13 09:52:51 1998 Andrew Cagney <cagney@b1.cygnus.com>
235 * gdbtk-cmds.c: Update TARGET_PRINT_INSN_INFO, TARGET_PRINT_INSN.
237 Fri Dec 11 09:52:04 1998 Andrew Cagney <cagney@chook>
239 * gdbtk-cmds.c: Replace reg_name with REGISTER_NAME.
241 Mon Dec 14 13:20:50 1998 Jim Ingham <jingham@cygnus.com>
243 * Makefile.in, configure.in configure - add support for LIBGUI
244 outside the IDE context.
246 Thu Nov 19 13:14:57 1998 Geoffrey Noer <noer@cygnus.com>
248 * gdbtk-cmds.c: Can't start using new API names yet. Switch back
249 to calling cygwin32_ funcs until some time has passed...
250 * gdbtk.c: Ditto. Also, include sys/cygwin.h for Cygwin, instead
251 of providing own proto.
253 Fri Nov 13 00:15:08 1998 Geoffrey Noer <noer@cygnus.com>
255 Changes to account for name change from cygwin32 to cygwin and
256 clean up Win32-related ifdefs.
258 * gdbtk.c: lose "32" from cygwin_ func calls. ifndef for
259 checking DISPLAY should be for _WIN32, not WINNT.
260 * gdbtk.h: pick GDBTK_PATH_SEP based on _WIN32, not WINNT.
261 * gdbtk-cmds.c (gdb_path_conv): lose "32" from cygwin_ func call,
262 change ifdef to __CYGWIN32__ instead of WINNT.
263 * {gdbtk.c, gdbtk-hooks.c}: __CYGWIN32__ refs drop the "32".
265 Thu Nov 12 15:20:15 1998 Jim Ingham <jingham@cygnus.com>
267 * gdbtk-cmds.c (gdb_cmd): Added an optional second argument to the
268 gdb_cmd, which is from_tty. This is passed to the gdb command
269 parser. It is 0 by default, and the console window passes 1.
271 * gdbtk-cmds.c: moved disassemble_from_exec from gdbtk.c to gdbtk-cmds.c
272 with all the other link-var'ed variables
274 * gdbtk-hooks.c (gdbtk_trace_find): Only run the hook functions if
275 we are called from_tty.
277 * gdbtk-hooks.c (gdbtk_trace_start_stop): Set the trace buttons
278 from a trace_start_command callback rather than doing it as a
279 special case in gdb_cmd.
281 * tracepoint.c (tstart_command, tstop_command): Add call to
282 trace_start_stop_hook here.
284 Wed Nov 4 12:41:42 1998 Jim Ingham <jingham@cygnus.com>
286 * gdbtk-cmds.c (gdb_set_bp_addr): Pass the type, enable & thread
287 to gdbtk_tcl_breakpoint.
288 * gdbtk-hooks.c (gdbtk_trace_find): Added this function. It is
289 the hook function for tfind commands.
290 * tracepoint.c (trace_find_command): Added the trace_find_hook,
291 run when you do trace_find_command.
292 * tracepoint.h: Define the trace_find_hook.
294 1998-11-03 Keith Seitz <keiths@cygnus.com>
296 * v850ice.c (do_gdb): New function.
297 (ice_stepi): Use do_gdb to step properly.
298 (ice_nexti): Use do_gdb to step properly.
299 (view_source): Correct call to src window's location for new version.
301 Mon Nov 2 11:16:10 1998 Jim Ingham <jingham@cygnus.com>
303 * gdbtk-cmds (gdb_get_tracepoint_info): Demangle C++ function names.
305 Fri Oct 30 11:22:23 1998 Jim Ingham <jingham@cygnus.com>
307 * gdbtk-cmds (gdb_get_tracepoint_info): Fixed typo.
309 Wed Oct 28 16:19:02 1998 Martin M. Hunt <hunt@cygnus.com>
311 * gdbtk-cmds.c (gdb_set_bp_addr): For callback, send full
312 pathname instead of just basename.
314 Wed Oct 28 10:14:33 1998 Jim Ingham <jingham@cygnus.com>
316 * gdbtk-cmds.c: Made the bdtypes & bpdisp arrays shared so they
317 could be used in gdbtk-hooks.c (breakpoint_notify).
318 Also fixed a few error messages to actually print the bp number
320 * gdbtk-hooks.c (breakpoint_notify): pass more of the information
321 about the breakpoint into the Tcl command, so it does not have to
322 try and guess about information we have on the C side.
323 * gdbtk.h: Export the bptypes & pbdisp arrays.
325 1998-10-13 Jason Molenda (jsm@bugshack.cygnus.com)
327 * gdbtk.c, gdbtk-cmds.c: Cast parameters passed to make_cleanup to
328 use the new make_cleanup_func typedef.
330 1998-10-08 Keith Seitz <keiths@cygnus.com>
332 * gdbtk-hooks.c (gdbtk_add_hooks): Install a hook for
333 (new) file_changed_hook.
334 (gdbtk_exec_file_changed): Rename to gdbtk_exec_file_display
335 to mimic hook's name.
336 (gdbtk_file_changed): New hook function.
338 Tue Oct 6 22:57:13 1998 Andrew Cagney <cagney@b1.cygnus.com>
340 * configure.in (links): Link gdbtcl2 directory instead of gdbtcl.
342 Mon Oct 5 00:34:00 1998 Martin M. Hunt <hunt@cygnus.com>
344 * gdbtk-cmds.c (gdb_set_bp_addr): New command. Sets a
345 breakpoint at an address. Use this instead of gdb_cmd "break"
346 because the syntax of the break command is broken and doesn't
347 allow you to create a thread-specific BP at an address. Also
350 Sun Oct 4 22:35:47 1998 Martin M. Hunt <hunt@cygnus.com>
352 * gdbtk-cmds.c (gdb_set_bp): Add an optional thread number.
353 (gdb_find_bp_at_line): New function. Returns a list of bpnums
354 at the specified line number.
355 (gdb_find_bp_at_addr): New function. Returns a list of bpnums
358 1998-10-02 Keith Seitz <keiths@cygnus.com>
360 * gdbtk-hooks.c (gdbtk_exec_file_changed): New function which handles
362 (gdbtk_add_hooks): Define exec_file_display_hook (to gdbtk_exec_file_changed)
364 * gdbtk-cmds.c (gdb_stop): target_stop is ALWAYS defined, so
365 compare against something a little more meaningful (target_ignore).
367 1998-09-24 Keith Seitz <keiths@cygnus.com>
369 * gdbtk.c (gdbtk_wait): Don't run the timer for ice targets.
371 * v850ice.c (WM_ADDR_TO_SYM): New message.
372 (v850ice_wndproc): Add handler for WM_SOURCE.
373 (v850ice_wait): Call the ui_loop_hook occasionally.
374 (ice_cont): Acknowledge message before doing anything.
375 (ice_stepi): Ack message and let gdbtk do stepping.
376 (ice_nexti): Ack message and let gdbtk do stepping.
377 (view_source): New function ICE calls to display source code.
380 Mon Sep 21 13:33:27 1998 Drew Moseley <dmoseley@cygnus.com>
382 * Makefile.in: Added sanitize markers around IDE code
383 * configure.in (host_libs): Added sanitize markers around IDE code
384 * configure: Regenerated configure from configure.in
387 1998-09-18 Keith Seitz <keiths@cygnus.com>
389 * gdbtk-cmds.c (get_frame_name): Demangle function names, too.
391 Thu Sep 10 22:10:29 1998 Jim Ingham <jingham@cygnus.com>
393 *gdbtk-cmds.c (gdb_disassemble): Make sure the symtab's linetable is not
394 null before trying to use it...
396 1998-09-02 Keith Seitz <keiths@cygnus.com>
398 * gdbtk-cmds.c (gdb_cmd): Do not run the timer when downloading --
399 the ui_progress_hook that has been installed will actually
400 update the gui for us.
402 Mon Aug 31 15:42:10 1998 Tom Tromey <tromey@cygnus.com>
404 * gdbtk-hooks.c (context_hook): Don't define.
406 1998-08-31 Keith Seitz <keiths@cygnus.com>
408 * gdbtk-cmds.c (gdb_listfuncs): When stripping out "global destructors"
409 and "global constructors", do not append any elements to the result.
411 Sun Aug 30 00:49:18 1998 Martin M. Hunt <hunt@cygnus.com>
413 * gdbtk-cmds.c (Gdbtk_Init): Link C variable gdb_context
414 with tcl variable gdb_context_id.
416 * gdbtk-hooks.c (gdbtk_context_change): Implement new hook called
417 context_hook. Called when threads change.
419 * gdbtk.c: Initialize gdb_context.
421 * gdbtk.h: Declare gdb_context.
423 * infrun (wait_for_inferior): Call context_hook.
425 * thread.c (thread_command): Call context_hook.
427 * defs.h: Declare context_hook.
429 Fri Aug 28 12:14:49 1998 Martin M. Hunt <hunt@cygnus.com>
431 * gdbtk-cmds.c (gdb_loadfile): Open the file after doing
432 the symtab lookup and calling symtab_to_filename(). This
433 makes GDBtk work with the GDB "dir" command.
435 1998-08-18 Keith Seitz <keiths@cygnus.com>
437 * gdbtk-hooks.c (gdbtk_add_hooks): Set selected_frame_level_changed_hook.
438 (gdbtk_selected_frame_changed): New function.
440 * gdbtk-cmds.c (Gdbtk_Init): Add command gdb_stack into interpreter.
441 Link gdb's global selected_frame_level with interpreter global
442 gdb_selected_frame_level.
443 (gdb_stack): New function to faciltate speedier backtraces from
445 (get_frame_name): New helper function for gdb_stack.
447 Tue Aug 18 15:42:40 1998 Martin M. Hunt <hunt@cygnus.com>
449 * gdbtk-cmds.c (gdb_listfuncs): Strip out global constructors
450 and destructors from the function list.
453 Thu Aug 13 15:15:59 1998 Drew Moseley <dmoseley@cygnus.com>
455 * Makefile.in (FOUNDRY_LIB_BASE): Added the Foundry SDK code that allows
456 gdbtk to be linked with the Foundry libraries provided by a prebuilt/released
457 binary version of Foundry. The libraries and header files need to come from
458 the installed location of Foundry rather than the devo subdirectories.
459 * configure.in (ENABLE_IDE): Foundry SDK additions. Added the "with-foundry-libs"
461 * configure: Foundry SDK additions. Regenerated from configure.in.
464 Thu Aug 13 15:09:59 1998 Drew Moseley <dmoseley@cygnus.com>
466 * gdbtk.c (gdbtk_cleanup): added a scope-level around the contents
467 of the #ifdef so that the variable declarations in there would not
468 be illegal in a C compilation.
470 Mon Jul 27 13:07:16 1998 Martin M. Hunt <hunt@cygnus.com>
472 * gdbtk.c (gdbtk_call_command): Removed because it is now
474 (null_routine): Removed.
476 * gdbtk-hooks.c (tracepoint_notify): Fix sprintf to
477 match number of arguments.
479 * gdbtk-cmds.c (gdb_loc): When calling gdb_loc with an
480 argument, call find_pc_line() to get a complete
481 symtab_and_line struct.
483 Fri Jul 24 14:25:43 1998 Keith Seitz <keiths@cygnus.com>
485 * gdbtk-cmds.c (gdb_search): Add missing NULL to switches.
486 Add missing flags to result_ptr.
487 Pass along any errors caused by getting the list of files from
489 Allocate correct amount of memory for the file list.
490 Don't do any unecessary cleanups.
492 Fri Jul 24 01:08:37 1998 Martin M. Hunt <hunt@cygnus.com>
494 * gdbtk-cmds.c (gdb_loadfile): When there are no
495 linenumbers, use only one tab.
497 Sat Jul 18 12:28:39 1998 Martin M. Hunt <hunt@cygnus.com>
499 * gdbtk.c (gdbtk_cleanup): Add call to tcl function
500 gdbtk_cleanup. We need this so the GUI gets to clean
501 up no matter how GDB exits.
503 Wed Jul 1 13:10:58 1998 Jim Ingham <jingham@cygnus.com>
505 * Moved gdbtk_hooks.c & gdbtk_cmds.c to gdbtk-hooks.c &
506 gdbtk-cmds.c to comply with the gdb conventions. Changed the
507 configure & makefile to reflect the change...
509 Wed Jul 1 11:07:21 1998 Jim Ingham <jingham@cygnus.com>
511 * gdbtk.c: removed all the commands and hooks from this file so
512 now it contains only the startup code.
513 * gdbtk.c (gdbtk_init): Fixed a bug in the startup code on Windows
514 that caused gdbtk not to find the share directory unless
515 GDBTK_LIBRARY was set.
516 * gdbtk_cmds.c: New file - this contains all the Tcl commands that
517 gdb defines. All the old commands were moved here, the
518 string-based commands were converted to object commands, and the
519 object-based commands were all converted to uniformly use the
520 call_wrapper. A new function, Gdbtk_Init was added to centralize
521 initializing the gdb package.
522 * gdbtk_hooks.c: New file - All the hooks were moved here, and a new
523 function, gdbtk_add_hooks was added to centralize adding all these
524 hook functions. gdbtk_fputs was also modified to handle the new
525 result_ptr structure. See the comments in gdbtk.h for more
527 * gdbtk.h: New file - this contains all the defines and globals
528 shared by gdbtk.c, gdbtk_cmds.c & gdbtk_hooks.c
529 * Makefile.in, configure.in & configure: mutatis mutandi for the
533 Mon Jun 29 11:49:17 1998 Keith Seitz <keiths@cygnus.com>
535 * main.c (main): Don't include gdbtk test code if GDBTK is
536 not defined by configure.
538 * configure.in: When enabling gdbtk, add "-DGDBTK" to ENABLE_CFLAGS.
540 * configure: Regenerate.
542 Fri Jun 26 13:56:07 1998 Keith Seitz <keiths@cygnus.com>
544 * gdbtk.c: Change all references to static global "interp" to
545 "gdbtk_interp" and export this global.
546 (gdbtk_init): If gdbtk_source_filename is not NULL, source this file
547 into the interpreter when it goes idle.
548 Add new command "gdb_search".
549 (gdb_search): New function which searches the symbol table.
550 (gdbtk_test): New function called by main when the --tclcommand
553 * main.c (main): Add a new option "--tclcommand" which is used
554 by the testsuite to source a file into the interpreter when it
557 Sun Jun 21 09:31:12 1998 Ron Unrau (runrau@cygnus.com)
559 * gdbtk.c (gdb_set_bp): Use new interface.
561 Wed Jun 17 19:12:23 1998 Jeff Holcomb <jeffh@cygnus.com>
563 * Makefile.in (install-only): Install tracing help files.
565 Mon Jun 15 13:18:21 1998 Jim Ingham <jingham@cygnus.com>
567 * gdbtk.c (gdbtk_init): Add elements to the auto_path AS LIST
568 ELEMENTS. This allows gdbtk to work when installed in a directory
569 which has a space in the path. D. Moseley pointed out the bug.
572 Tue Jun 9 14:10:46 1998 Keith Seitz <keiths@cygnus.com>
574 * gdbtk.c (gdb_get_vars_command): Return static variables and
575 variables stored in registers.
577 * main.c (main): Call pre/post_add_symbol_hook's when loading
578 executables and symbol files.
580 Fri Jun 5 00:16:22 1998 Martin M. Hunt <hunt@cygnus.com>
582 * gdbtk.c (gdbtk_init): Change all references to
583 GDBTK_IDE to IDE_ENABLED.
585 Thu Jun 4 18:31:53 1998 Martin M. Hunt <hunt@cygnus.com>
587 * gdbtk.c (gdbtk_init): Initialize tkTable.
589 Thu Jun 4 10:15:03 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
593 - Elena Zannoni <ezannoni@kwikemart.cygnus.com>
594 (call_obj_wrapper): in case of error, copy the
595 error message from the result to the error_string.
596 (gdbtk_fputs): add comments.
597 (gdb_actions_command): call validate_actionline when installing the
598 tracepoint, to do the syntax checking of the actions for us.
599 - Elena Zannoni <ezannoni@kwikemart.cygnus.com>
600 (gdb_get_trace_frame_num): new function to get the
601 trace frame number from gdb.
602 (gdbtk_init): added new command gdb_get_trace_frame_num.
603 - Jim Blandy <jimb@zwingli.cygnus.com>
604 (struct wrapped_call_objs): Change the `func' member to
605 be a Tcl_ObjCmdProc, not an Tcl_CmdProc, since it accepts a vector
606 of objects as arguments. Change the object vector to be const,
607 since that's what all the users of this structure seem to expect.
608 (call_obj_wrapper): Cast clientData properly before storing it in
609 the wrapped_args structure.
611 Thu May 28 17:19:14 1998 Keith Seitz <keiths@cygnus.com>
613 * gdbtk.c (_initialize_gdbtk): Get rid of the console. Patch from
614 Chris Faylor (cgf@cygnus.com).
616 * configure.in: Link cygwin32 with subsystem console.
618 * configure: Regenerated
620 Sun May 24 14:00:24 1998 Keith Seitz <keiths@cygnus.com>
622 * ser-unix.c (wait_for): Do not reset timeout_remaining for cygwin32 so that
623 we can use this member to track real timeouts.
624 (hardwire_readchar): Modify for cygwin32 so that we only ever use a real
625 system timeout of one second. Track the "real" timeout as a series of these
627 Call ui_loop_hook to keep the gui alive.
629 * top.c: Define new hook for cygwin32, "ui_loop_hook".
631 * gdbtk.c (gdbtk_init): Add ui_loop_hook for CygWin32 to work around
634 Thu May 21 13:56:24 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
636 * gdbtk.c: reinserted the changes that were accidentally deleted:
637 (_initialize_gdbtk): Use correct device names in
638 cygwin-specific call (cosmetic change).
639 (gdbtk_ignorable_warning): removed va_list parameter,
641 (_initialize_gdbtk): add cygwin32 specific code to
642 allow `gdb -nw' to work when specified specified from a windows
643 console-mode command line.
645 1998-05-19 Jim Blandy <jimb@zwingli.cygnus.com>
647 * gdbtk.c (struct wrapped_call_objs): Change the `func' member to
648 be a Tcl_ObjCmdProc, not an Tcl_CmdProc, since it accepts a vector
649 of objects as arguments. Change the object vector to be const,
650 since that's what all the users of this structure seem to expect.
651 (call_obj_wrapper): Cast clientData properly before storing it in
652 the wrapped_args structure.
654 Wed May 13 11:12:58 1998 James Ingham <jingham@leda.cygnus.com>
656 * gdbtk.c: Fixed a goof in the definition of the gdb_get_args &
657 gdb_get_locals Tcl commands. Moved the previous ChangeLog entry
658 from ChangeLog to ChangeLog-gdbtk (here)...
660 Tue May 12 13:29:20 1998 Jeff Holcomb <jeffh@cygnus.com>
662 * Makefile.in (install-only): Add images/icons.txt and
663 images2/icons.txt to files that need to be installed.
665 Tue May 12 12:03:16 1998 James Ingham <jingham@leda.cygnus.com>
667 * gdbtk.c: Add an object call wrapper for the new Tcl_Obj based
668 commands. This way the obj commands will also go through
669 catch_errors. This is just a bandaid while I rewrite the
670 string-based commands to use the object format.
672 Tue May 5 09:30:25 1998 Christopher Faylor <cgf@cygnus.com>
674 * gdbtk.c (_initialize_gdbtk): Use correct device names in
675 cygwin-specific call (cosmetic change).
677 Wed Apr 29 15:53:16 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
679 * gdbtk.c (gdbtk_ignorable_warning): removed va_list parameter,
682 Tue Apr 28 19:41:33 1998 Tom Tromey <tromey@cygnus.com>
684 * Makefile.in (GDBTKLIBS): New macro.
685 (INSTALLED_LIBS): Include GDBTKLIBS.
687 * configure: Rebuilt.
688 * configure.in: Put Tcl/Tk libs into GDBTKLIBS, not LIBS.
689 (GDBTKLIBS): AC_SUBST.
691 Thu Apr 23 19:01:05 1998 Keith Seitz <keiths@onions.cygnus.com>
693 * Makefile.in (install-only): Install help files.
695 Wed Apr 22 21:17:35 1998 Christopher Faylor <cgf@cygnus.com>
697 * gdbtk.c (_initialize_gdbtk): add cygwin32 specific code to
698 allow `gdb -nw' to work when specified specified from a windows
699 console-mode command line.
701 Wed Apr 15 11:23:53 1998 Stan Shebs <shebs@andros.cygnus.com>
703 * gdbtcl: Remove directory and contents, this version of
704 the interface is obsolete.
706 Mon Apr 13 16:17:52 1998 Martin M. Hunt <hunt@cygnus.com>
708 * gdbtk.c (gdb_loadfile): Change fstat() call to stat().
709 Needed because you can't convert a FILE* to an fd.
711 Mon Apr 13 16:28:07 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
713 * gdbtk.c: (perror_with_name_wrapper) new function to call
714 perror_with_name safely.
715 (gdb_loadfile) added source vs. executable time stamp check.
716 (gdbtk_warning) new function to pass a warning message to the gui.
717 (gdbtk_ignorable_warning) new function to pass a warning
718 to the gui. Used only for the src. vs. exec check.
719 (gdbtk_init) added warning_hook
720 added include <sys/stat.h>
722 Mon Apr 13 12:58:26 1998 Keith Seitz <keiths@onions.cygnus.com>
724 * gdbtk.c (gdbtk_start_timer): Include on all platforms. Decrease
725 timer interval a little.
726 (gdbtk_stop_timer): Include on all platforms.
727 (gdbtk_wait): No more signals! Use a timer on all platforms to keep the
729 (gdbtk_init): Remove FIOASYNC and all x_fd references. Now using timers
732 Fri Apr 10 15:48:10 1998 Jason Molenda (crash@bugshack.cygnus.com)
734 * gdbtk.c (gdb_listfiles): Allocate space for 'files' dynamically.
736 Thu Apr 9 14:20:59 1998 Martin M. Hunt <hunt@cygnus.com>
738 * gdbtk.c (gdbtk_init): Remove redundant variable "IDE".
740 Tue Apr 7 15:13:58 1998 Stan Shebs <shebs@andros.cygnus.com>
742 * gdbtk.tcl: Remove, no longer used.
744 Tue Apr 7 12:49:45 1998 Keith Seitz <keiths@onions.cygnus.com>
746 * gdbtk.c (gdb_cmd): NEVER call the busy, update, and idle hooks.
748 Tue Mar 31 15:42:06 1998 Keith Seitz <keiths@onions.cygnus.com>
750 * gdbtk.c (gdb_loadfile): Don't use the return result from
751 sprintf, which returns a char * under SunOS4.
753 Tue Mar 31 17:18:43 1998 Ian Lance Taylor <ian@cygnus.com>
755 * configure.in: Add $(LIBIDETCL) as well as $(LIBIDE) if
757 * Makefile.in (IDE_CFLAGS_X): Add -I for libidetcl/src.
759 * configure: Rebuild.
761 Sun Mar 29 21:19:46 1998 Keith Seitz <keiths@onions.cygnus.com>
763 * gdbtk.c (gdb_get_tracepoint_info): Change formatting of address.
764 (tracepoint_exists): Remove code which confuses assembly traces.
766 Sat Mar 28 12:13:23 1998 Keith Seitz <keiths@onions.cygnus.com>
768 * gdbtk.c (gdb_cmd): If argc > 2, assume that the busy and idle hooks
769 should not be called.
771 Thu Mar 26 22:29:28 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
773 * gdbtk.c: (gdb_trace_status) new function.
774 (gdbtk_init) added command "gdb_is_tracing".
775 (tracepoint_notify) added passcount information.
777 Thu Mar 26 12:00:35 1998 Martin M. Hunt <hunt@cygnus.com>
779 * gdbtk.c (gdbtk_fputs): Insert fencepost.
780 (gdb_loc): Correct pc calculation.
781 (gdb_immediate_command): Return if a load is in progress.
782 (gdb_cmd): Return if a load is in progress.
783 (target_stop_wrapper): New function.
784 (gdb_stop): Call target_stop_wrapper.
785 (x_event): Add fencepost and optimize load cancel check.
786 (gdbtk_start_timer): Set up structs only once.
787 (gdbtk_stop_timer): Just use preset structs to set timer parameters.
788 (gdb_loadfile): If file cannot be loaded, return error message.
789 (gdb_loadfile): Add space before tab so that lines without
790 a '-' can later be changed to have one.
792 Wed Mar 25 14:08:51 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
794 * gdbtk.c (gdbtk_pre_add_symbol): Use Tcl_merge to form Tcl commands.
796 Mon Mar 23 13:41:39 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
798 * gdbtk.c (gdb_get_mem): Rewrite to fetch entire contents
799 of the memory window at once.
801 Sat Mar 21 19:34:49 1998 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
803 Merged changes from Foundry: list follows by author:
805 - Tom Tromey <tromey@cygnus.com>
807 * Makefile.in (gdbres.o): New target.
808 (WINDRES): New define.
809 * configure: Rebuilt.
810 * configure.in (WINDRES): Define.
811 (CONFIG_OBS): Include gdbres.o on Windows.
812 * gdbtool.ico: New file.
814 * gdbtk.c (gdbtk_init): Call ide_create_messagebox_command.
815 (gdbtk_cleanup): Call ide_interface_deregister_all.
816 (gdbtk_init): Pass event handle to cleanup.
817 (TclDebug): Use Tcl_Merge to construct command.
818 (gdbtk_init): Call ide_create_cygwin_path_command.
820 - Martin M. Hunt <hunt@cygnus.com>
822 * gdbtk.c (gdb_set_bp): Set addr_string for bp.
823 (gdb_get_breakpoint_info): Demangle function
824 names in breakpoint info.
825 Include "demangle.h".
826 (gdb_loc, gdb_listfuncs): Demangle C++
828 (gdb_set_bp): Properly quote filename to fix
829 problems with spaces. Send pc back as a hex string.
830 (gdb_listfuncs): Remove debugging line.
831 Turn off some debugging lines.
832 (breakpoint_notify): Return correct line number.
833 (gdb_get_breakpoint_info): Return correct line number.
834 (gdb_set_bp): New function to provide a better way to
836 (gdbtk_readline, gdbtk_readline_begin): Memory
837 allocated by tcl needs to be freed by Tcl_Free().
838 (find_file_in_dir): Deleted.
839 (gdb_find_file_command): Call full_lookup_symtab().
840 (gdb_listfuncs): Call full_lookup_symtab().
841 (full_lookup_symtab): New function. Like lookup_symtab
842 except handles multiple files with the same basename,
843 full pathnames, and always sets symtab->fullname.
844 (gdb_loadfile): Call full_lookup_symtab(). Clear
846 (gdb_loadfile): Don't tag lines without source.
847 Tag source lines with source_tag.
848 (gdb_find_file_command, find_file_in_dir):
849 Rewrite. Now searches symtabs and psymtabs for a match
850 on the partial or full filename. Returns the full pathname.
851 (gdb_loadfile): Realloc additional memory
852 if someone loads in a file with more than 160,000
853 lines. I don't know if this really works because
854 I don't have enough memory to test it.
855 (gdb_sourcelines): Deleted.
856 (gdb_loadfile): New function. Takes a text widget
857 and loads it with the contents of a file. Marks
858 and tags source lines.
859 (pc_changed): New function.
860 (get_pc_register): Returns the value of
862 (gdb_loc): If looking on the stack, return
863 real pc along with calling source line.
864 (gdb_loc): Return "" instead of "N/A" if
865 filename is not found.
866 (gdb_get_breakpoint_info): Same.
867 (get_register): For Natural mode, set format to 0.
868 Minor bugfixes from keiths.
869 (TclDebug): New function for debugging use.
870 (gdb_loc): Return correct PC for frames
871 that are not the innermost frame.
872 (gdb_listfiles): Rewritten to use object
873 API. Now takes an optional dirname which will cause
874 only files in that directory or its subdirectories
875 to be returned. Now returns basenames instead of
877 (gdb_cmd): Set/reset load_in_progress flag.
878 (call_wrapper): Don't pop up dialog for errors in
879 downloads; just abort download.
880 (gdbtk_load_hash): Set return value correctly.
882 - Keith Seitz <keiths@onions.cygnus.com>
884 * gdbtk.c (gdbtk_init): Define the ui_loop_hook so that it can be
885 called by routines which might block, allowing us to update the GUI.
886 (gdbtk_wait): Move timer calls to annotation hooks.
887 (gdbtk_init): Define the annotation hooks.
888 (gdbtk_annotate_starting): New function for cygwin32 hosts.
889 (gdbtk_annotate_stopped): New function for cygwin32 hosts.
890 (gdbtk_annotate_exited): New function for cygwin32 hosts.
891 (gdbtk_annotate_signalled): New function. for cygwin32 hosts.
892 (gdbtk_init): Use gdbtk_print_frame_info hook.
893 (gdbtk_print_frame_info): New function which sets current_source_symtab
894 based on the given symtab and line info.
895 (gdb_immediate_command): New function which does
897 output. (Contrast to gdb_cmd.)
898 (gdb_prompt_command): New function to return gdb's prompt.
899 (find_file_in_dir): New functon which searches source paths
900 for a given filename.
901 (gdb_find_file): New function which returns path to given file -- uses
903 (gdbtk_init): Install "gdb_immediate", "gdb_find_file", and
905 commands into interpreter.
907 - Ian Lance Taylor <ian@cygnus.com>
909 * gdbtk.c (gdbtk_timer_going): If __CYGWIN32__, new static
911 (gdb_cmd): If __CYGWIN32__, if executing the load command, call
912 gdbtk_start_timer and gdbtk_stop_timer.
913 (call_wrapper): If __CYGWIN32__, if the timer is going, turn it
914 off. Clear load_in_progress.
915 (x_event): If load_in_progress, quit if download_cancel_ok.
916 (gdbtk_start_timer): Set gdbtk_timer_going.
917 (gdbtk_stop_timer): Clear gdbtk_timer_going.
918 (gdbtk_wait): Call x_event.
919 (gdbtk_init): Call ide_create_win_grab_command if
921 (gdb_clear_file): Clear stop_pc.
923 Wed Mar 4 16:50:18 1998 Jason Molenda (crash@bugshack.cygnus.com)
925 * gdbtk.c (gdb_listfiles): Fix thinko in last change.
927 Wed Mar 4 15:34:49 1998 Jason Molenda (crash@bugshack.cygnus.com)
929 * gdbtk.c (gdb_listfiles): Allocate space for 'files' dynamically.
931 Tue Feb 10 17:50:37 1998 Keith Seitz <keiths@onions.cygnus.com>
933 * gdbtk.c (gdbtk_modify_tracepoint): Define new tracepoint modification hook.
934 (gdbtk_print_frame_info): Define this hook so that current_source_symtab
936 (gdb_actions_command): Use free_actions () from tracepoint.c/h.
938 Mon Jan 26 11:37:55 1998 Keith Seitz <keiths@onions.cygnus.com>
940 * gdbtk.c (gdb_actions_command): Make note of next action
941 before freeing all references to it.
943 Sat Jan 24 23:52:08 1998 Martin M. Hunt <hunt@cygnus.com>
945 * gdbtk.c: Merge from Foundry branch.
946 (TclDebug): New debugging function.
947 (gdb_loc): For frames, find address of calling function
948 instead of whatever is on the stack (usually the next
950 (gdb_listfiles): Takes an optional pathname argument and
951 returns an alphabetized list of basenames of files in the
954 Wed Jan 22 10:37:02 1998 Keith Seitz <keiths@onions.cygnus.com>
956 * symfile.c: Define two new hooks for symbol reading:
957 "pre_add_symbol_hook" and "post_add_symbol_hook". These hooks
958 are called before we begin reading symbols, and after we finish.
959 (generic_load): Use new symbol reading hooks and get rid of
962 * gdbtk.c (gdbtk_init): Add hooks for pre- and post-symbol reading.
963 (gdbtk_pre_add_symbol): New function: the pre-add-symbol hook.
964 (gdbtk_post_add_symbol): New function: the post-add-symbol hook.
965 (find_file_in_dir): New function. Moved the guts of gdb_find_file_command
966 into here to allow its use by others.
967 (gdb_loc): Use find_file_in_dir to return the real path to the file
968 (or "N/A" if we can't find it).
970 * configure.in (TIX_LIB_EXT): Define new variable for those special cases
971 when TCL_SHLIB_SUFFIX is not enough to specify the dependency.
973 * configure: Regenerate.
975 Fri Jan 23 07:47:06 1998 Fred Fish <fnf@cygnus.com>
977 * Makefile.in (uninstall): Remove installed gdbtcl dir, if one
980 Thu Jan 15 12:42:28 1998 Keith Seitz <keiths@onions.cygnus.com>
982 * gdbtk.c (gdb_immediate_command): New function which does not buffer any
983 output. (Contrast to gdb_cmd.)
984 (gdbtk_init): Install "gdb_immediate" command into interpreter.
986 Wed Jan 14 16:38:44 1998 Keith Seitz <keiths@pizza.cygnus.com>
988 * configure.in (--enable-gdbtk): If tcl was built with --enable-shared,
989 use TCL_SHLIB_SUFFIX to specify the suffix of the library file so that
990 we don't expect to see "libfoo.a" instead of "libfoo.{so,sl, etc}".
992 * configure: Regenerate.
994 Wed Dec 31 16:50:26 1998 Keith Seitz (keiths@onions.cygnus.com)
996 * gdbtk.c (gdb_actions_command): extract and save step count
997 from "while-stepping" command
999 Tue Dec 16 21:16:42 1997 Ian Lance Taylor <ian@cygnus.com>
1001 * Makefile.in (LIBGUI): New variable.
1002 (GUI_CFLAGS_X): New variable.
1003 (IDE_CFLAGS): Add $(GUI_CFLAGS_X).
1004 * configure.in: Add $(LIBGUI) to TCL_LIBS and CONFIG_DEPS.
1005 * configure: Rebuild.
1007 Wed Dec 10 13:16:45 1997 Keith Seitz <keiths@onions.cygnus.com>
1009 * gdbtk.c (gdb_get_tracepoint_info): Use info in struct
1010 symtab_and_line (not struct tracepoint) so that we get the
1011 real line info for an address. Arrange data more like
1012 gdb_get_breakpoint_info.
1013 (tracepoint_notify): Use info in struct symtab_and_line again.
1014 (gdbtk_init): Add command "gdb_get_tracepoint_list" into
1016 (gdb_get_tracepoint_list): New function that aids the source
1017 window in displaying tracepoints when the file changes.
1019 Fri Dec 5 10:31:23 1997 Keith Seitz <keiths@pizza.cygnus.com>
1021 * gdbtk.c (gdbtk_init): Add gdb_find_file into interpreter.
1022 (gdb_find_file_command): New function which searches source path
1023 to find the real full filename of a file.
1025 Mon Dec 1 10:19:44 1997 Keith Seitz <keiths@onions.cygnus.com>
1027 * gdbtk.c: Move include of "guitcl.h" back out of IDE ifdef.
1028 (gdbtk_init): Move ide_initialize_paths out of IDE ifdef.
1030 * configure.in (TCL_LIBS, CONFIG_DEPS): Add IDE libraries for all
1032 (CONFIG_OBS): Remove tracepoint.o, which should always be included.
1034 * configure: regenerate
1036 * Makefile.in (install-only): ALWAYS install the new gdbtk
1037 (REMOTE_OBS): add tracepoint.o
1039 Thu Nov 27 09:07:18 1997 Michael Meissner <meissner@cygnus.com>
1041 * configure.in ({TCL_LIBS,CONFIG_DEPS}): Don't add IDE libraries
1042 if not --enable-ide.
1043 (CONFIG_OBS): Add tracepoint.o to list if --enable-gdbtk.
1044 * configure: Regenerate.
1046 * gdbtk.c (gdb_get_breakpoint_info): Add missing filename
1048 (toplevel): Move include of guitcl.h into #ifdef IDE region.
1049 (gdbtk_init): Move ide_initialize_paths call into #ifdef IDE
1052 * Makefile.in (gdbtk.o): Update dependencies.
1054 Wed Nov 26 15:02:43 1997 Keith Seitz <keiths@onions.cygnus.com>
1056 * gdbtk.c (gdb_loc): symtab_to_filename can return NULL.
1057 (breakpoint_notify): Ditto.
1058 (gdb_get_breakpoint_info): Ditto.
1060 Wed Nov 26 11:33:09 1997 Keith Seitz <keiths@onions.cygnus.com>
1062 Merge in code from Foundry branch:
1064 * Makefile.in (install-only): install the new gdbtk, not the old
1066 * gdbtk.c (gdbtk_call_command): also run idle hooks for class_trace
1068 (gdbtk_init): Add new commands "gdb_get_locals", "gdb_get_args",
1069 "gdb_get_function", "gdb_get_line", "gdb_get_file",
1070 "gdb_tracepoint_exists", "gdb_get_tracepoint_info", "gdb_actions",
1072 (gdb_get_vars_command): New function.
1073 (gdb_get_line_command): New.
1074 (gdb_get_file_command): New.
1075 (gdb_get_function_command): New.
1076 (gdb_get_tracepoint_info): New.
1077 (gdbtk_create_tracepoint): New.
1078 (gdbtk_delete_tracepoint): New.
1079 (tracepoint_notify): New.
1080 (tracepoint_exists): New.
1081 (gdb_actions_command): New.
1082 (gdb_tracepoint_exists_command): New.
1083 (gdb_prompt_command): New.
1085 Thu Nov 13 18:15:54 1997 Ian Lance Taylor <ian@cygnus.com>
1087 * gdbtk.c: Move include of gdbcore.h to top of file.
1088 (close_bfds): New static function if _WIN32.
1089 (gdbtk_readline): Call close_bfds.
1090 (call_wrapper, tk_command_loop): Likewise.
1091 (gdb_clear_file): New static function.
1092 (gdbtk_init): Create gdb_clear_file Tcl command.
1094 Wed Nov 12 14:58:39 1997 Jeff Holcomb <jeffh@cygnus.com>
1096 * gdbtk.c: gdbtk_load_hash and ui_load_progress_hook return an
1098 (gdbtk_load_hash): download hash routine returns an int result.
1100 Mon Nov 10 15:11:51 1997 Ian Lance Taylor <ian@cygnus.com>
1102 * gdbtk.c (gdbtk_init): Call ide_create_shell_execute_command if
1104 * configure.in: Add -lshell32 to WIN32LIBS on cygwin32.
1105 * configure: Rebuild.
1107 Sun Nov 9 16:25:34 1997 Tom Tromey <tromey@cygnus.com>
1109 * gdbtk.c (gdbtk_init): Run ide_create_help_command.
1111 Tue Oct 28 17:31:47 1997 Martin M. Hunt <hunt@cygnus.com>
1113 * gdbtk.c (gdbtk_init): Call ide_create_winprint_command.
1115 Thu Oct 23 15:53:37 1997 Ian Lance Taylor <ian@cygnus.com>
1117 * configure.in: Add -lgdi32 to WIN32LIBS when linking gdbtk on
1119 * configure: Rebuild.
1121 Wed Oct 22 21:32:54 1997 Martin M. Hunt <hunt@cygnus.com>
1123 * gdbtk.c (gdbtk_init): Create sizebox command on Windows.
1125 Thu Oct 9 14:33:21 1997 Ian Lance Taylor <ian@cygnus.com>
1127 * gdbtk.c (gdbtk_init): Remove assertion argument from call to
1128 ide_create_window_register_command.
1130 Wed Oct 1 11:09:52 1997 Tom Tromey <tromey@cygnus.com>
1132 * gdbtk.c (gdbtk_init): Pass name of restore interface to
1133 ide_create_window_register_command.
1135 Fri Sep 26 21:08:22 1997 Keith Seitz <keiths@pizza.cygnus.com>
1137 * gdbtk.c (gdbtk_init): Initialize ui_load_progress_hook.
1139 Thu Sep 25 03:05:00 1997 Martin M. Hunt <hunt@cygnus.com>
1141 * gdbtk.c (gdb_load_info): New function. Returns a list
1142 of section names and sizes for an executable.
1143 (gdbtk_load_hash): Stub function to call tcl function
1146 Tue Sep 23 01:29:00 1997 Martin M. Hunt <hunt@cygnus.com>
1148 * gdbtk.c (gdb_get_mem): Fix compiler warning.
1150 Sun Sep 21 00:15:00 1997 Martin M. Hunt <hunt@cygnus.com>
1152 * gdbtk.c (gdb_get_mem): Fix problem with ASCII dump.
1154 Tue Sep 16 18:07:17 1997 Martin M. Hunt <hunt@cygnus.com>
1156 * gdbtk.c (gdb_get_mem): New function. Returns
1157 a formatted memory dump with optional ASCII dump.
1159 Mon Sep 8 12:48:50 1997 Ian Lance Taylor <ian@cygnus.com>
1161 * gdbtk.c: Include ilutk.h if IDE.
1162 (gdb_confirm_quit, gdb_force_quit): New static functions.
1163 (gdbtk_init): Add Tcl commands gdb_confirm_quit and
1166 Mon Sep 8 03:05:33 1997 Martin M. Hunt <hunt@cygnus.com>
1168 * gdbtk.c (gdb_get_breakpoint_info): Now returns the
1169 function a breakpoint is in.
1171 Fri Sep 5 20:23:58 1997 Ian Lance Taylor <ian@cygnus.com>
1173 * gdbtk.c (gdbtk_init): Call ide_create_exit_command.
1175 Wed Sep 3 19:39:15 1997 Ian Lance Taylor <ian@cygnus.com>
1177 * gdbtk.c: Include guitcl.h.
1178 (gdbtk_init): Always call ide_initialize_paths. Set the Tcl
1179 variable IDE to 1 when using the IDE. Always try using auto path
1181 * Makefile.in (IDE_CFLAGS_X): Always include libide.
1182 (LIBIDE): New variable.
1183 (IDE_X): Omit -lide.
1184 (IDE_DEPS): Omit libide.
1185 * configure.in: Add LIBIDE to TCL_LIBS and CONFIG_DEPS.
1186 * configure: Rebuild.
1188 Mon Aug 25 02:28:55 1997 Keith Seitz <keiths@pizza.cygnus.com>
1190 * gdbtk.c: (gdb_target_has_inferior) check if inferior_pid is non-zero
1191 before assuming that the inferior is running.
1193 Mon Aug 25 01:06:48 1997 Ian Lance Taylor <ian@cygnus.com>
1195 * gdbtk.c (gdbtk_start_timer): Pass third argument to setitimer.
1196 (gdbtk_stop_timer): Likewise.
1198 Mon Aug 25 00:23:08 1997 Keith Seitz <keiths@pizza.cygnus.com>
1200 * gdbtk.c: (gdbtk_init) create new command "gdb_target_has_execution"
1201 (gdb_target_has_execution_command) new function
1203 Sun Aug 24 20:27:22 1997 Ian Lance Taylor <ian@cygnus.com>
1205 * gdbtk.c (gdb_loc): If there are no symbols, just bail
1207 (tk_command_loop): Print errors encountered while running
1210 Sun Aug 24 13:44:03 1997 Tom Tromey <tromey@cygnus.com>
1212 * gdbtk.c (gdbtk_init): Run ide_create_build_command.
1214 Sat Aug 23 21:53:39 1997 Ian Lance Taylor <ian@cygnus.com>
1216 * gdbtk.c: If CYGWIN32, include <sys/time.h>.
1217 (x_fd): Don't define if WINNT.
1218 (gdbtk_start_timer, gdbtk_stop_timer): New static functions if
1220 (gdbtk_wait): Don't set up signal handling if WINNT. If CYGWIN32,
1221 call gdbtk_start_timer and gdbtk_stop_timer.
1222 (gdbtk_init): Don't set up signal handling or make x_fd
1223 asynchronous if CYGWIN32.
1225 Fri Aug 22 15:23:15 1997 Ian Lance Taylor <ian@cygnus.com>
1227 * gdbtk.c (error_string_ptr): New static variable.
1228 (gdbtk_fputs): If result_ptr is NULL, and error_string_ptr is not
1229 NULL, and we're outputting to stderr, append string to
1230 error_string_ptr rather than calling gdbtk_tcl_fputs.
1231 (call_wrapper): Set up error_string_ptr. Put both error string
1232 and normal string in Tcl result.
1234 * gdbtk.c (gdbtk_init): Don't call ide_run_server_init until after
1235 gdb has initialized.
1237 Thu Aug 21 19:14:38 1997 Ian Lance Taylor <ian@cygnus.com>
1239 * gdbtk.c: If _WIN32, include winuser.h.
1240 (gdbtk_init): If _WIN32, use MessageBox to display an error
1241 evaluating main.tcl.
1243 Thu Aug 21 00:48:00 1997 Martin M. Hunt <hunt@pern.cygnus.com>
1245 * gdbtk.c (gdbtk_init): Add call to ide_run_server_init().
1246 (gdb_cmd): For the load command, don't buffer the I/O.
1248 Wed Aug 20 11:41:22 1997 Martin M. Hunt <hunt@cygnus.com>
1250 * gdbtk.c (gdbtk_query): Chaneg free() call to Tcl_Free().
1252 Tue Aug 19 17:09:19 1997 Ian Lance Taylor <ian@cygnus.com>
1254 * Makefile.in (TCL_DEPS, TK_DEPS): New variables.
1255 (ITCL_DEPS, TIX_DEPS): New variables.
1256 (IDE_DEPS): New variable.
1257 (CDEPS): Include @CONFIG_DEPS@.
1258 * configure.in: Set and substitute CONFIG_DEPS and TIX_DEPS.
1259 * configure: Rebuild.
1261 Sun Aug 17 00:42:11 1997 Martin M. Hunt <hunt@cygnus.com>
1263 * gdbtk.c (gdb_listfuncs): New function that returns
1264 a list of all the functions in a source file.
1266 Tue Aug 12 16:35:21 1997 Ian Lance Taylor <ian@cygnus.com>
1268 * Makefile.in (install-only): Install tclIndex if ENABLE_IDE.
1270 Mon Aug 11 10:43:04 1997 Tom Tromey <tromey@cygnus.com>
1272 * gdbtk.c (gdbtk_init): Use ide_event_init_from_environment.
1274 Fri Aug 8 15:59:24 1997 Ian Lance Taylor <ian@cygnus.com>
1276 * gdbtk.c (gdbtk_init): Change gdbtk_lib_tmp and gdbtk_file to be
1277 dynamically allocated, rather than fixed size. Pass "gdbtcl" to
1278 ide_initialize_paths to match installed directory name. If IDE,
1279 use auto_path to search for main.tcl.
1280 * Makefile.in (install-only): If ENABLE_IDE, install from gdbtcl2
1283 * gdbtk.c (gdbtk_cleanup): New static function.
1284 (gdbtk_init): Add gdbtk_cleanup as a final cleanup. Uncomment
1285 call to ide_initialize_paths. If we can't initialize the event
1286 system, set GDBTK_IDE to 0 in the Tcl interpreter. Create the
1287 ide_window_register and the ide_window commands. Initialize tk,
1288 itcl, and tix after initializing the IDE.
1290 * configure.in (tixdir): Update for cygwin32 case for Tcl 8.0.
1291 * configure: Rebuild.
1293 Fri Aug 8 00:13:32 1997 Martin M. Hunt <hunt@cygnus.com>
1295 * gdbtk.c (breakpoint_notify): Change buffer size from 100
1296 to 256 to avoid memory corruption with very long pathnames.
1298 Thu Aug 7 14:08:23 1997 Martin M. Hunt <hunt@cygnus.com>
1300 * configure.in: Change required Tix version to 4.1.8.0 .
1301 * configure: Rebuilt.
1303 Fri Aug 1 15:21:44 1997 Ian Lance Taylor <ian@cygnus.com>
1305 * gdbtk.c (Tcl_Alloc): Don't provide our own version of this if
1307 (Tcl_Realloc, Tcl_Free): Likewise.
1308 * configure.in: Check for cygwin32 environment. Define and
1309 substitute WIN32LIBS and WIN32LDAPP. Always set configdir to
1310 unix; setting it to win was for an old Tcl/Tk configuration
1312 * aclocal.m4 (CY_AC_LOAD_TKCONFIG): Substitute TK_BUILD_INCLUDES.
1313 * Makefile.in (TK_CFLAGS): Add @TK_BUILD_INCLUDES@.
1314 (WIN32LDAPP, WIN32LIBS): Define.
1315 (CLIBS): Add $(WIN32LIBS).
1316 (gdb): Use $(WIN32LDAPP).
1317 * configure: Rebuild.
1319 Tue Jul 22 19:45:37 1997 Martin M. Hunt <hunt@cygnus.com>
1321 * configure.in, aclocal.m4: Another fix to find the
1322 correct Tix library name.
1324 * configure: Rebuilt.
1326 Mon Jul 21 22:24:07 1997 Martin M. Hunt <hunt@cygnus.com>
1328 * aclocal.m4: Search for the correct tix library.
1330 Thu Jul 10 00:02:41 1997 Martin M. Hunt <hunt@cygnus.com>
1332 * Makefile.in, configure.in, aclocal.m4: Add Itcl, Tix, and
1333 IDE configuration information.
1335 * gdbtk.c (breakpoint_notify): Send address, linenumber and
1336 filename when a breakpoint is set. Avoids call to bp_info.
1337 (gdbtk_init): Call Tcl_FindExecutable(). Add code to handle
1338 Itcl, Tix and IDE initialization.
1340 * configure: Regenerated.
1342 Fri Jun 13 10:28:09 1997 Fred Fish <fnf@cygnus.com>
1344 * gdbtk.c (gdbtk_init): Make truth value test explicit.
1345 Remove unused static variable "Gdbtk_Library".
1347 Sat Jun 7 02:34:19 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
1349 * gdbtk.c (gdb_get_breakpoint_info): Add string for new
1350 enumeration del_at_next_stop to bpdisp array.
1352 Tue Jun 3 15:46:51 1997 Tom Tromey <tromey@cygnus.com>
1354 * Makefile.in (LIB_RUNTIME_DIR): New variable.
1356 Wed May 7 19:10:19 1997 Andrew Cagney <cagney@b1.cygnus.com>
1358 * gdbtk.c (wrapped_call): New function - make actual call to tk
1360 (call_wrapper): Rewrite to use top.c:catch_errors.
1362 * gdbtk.c (gdb_stop): If No target_stop set quit flag and hope for
1365 Mon Apr 21 14:00:08 1997 Doug Evans <dje@canuck.cygnus.com>
1367 * gdbtk.c (gdb_disassemble): Store endian-ness in `di'.
1369 Wed Apr 16 12:33:06 1997 Andrew Cagney <cagney@b1.cygnus.com>
1371 * Makefile.in (install-only): Make list of gdbtcl files to install
1372 explicit - was picking up files such as ChangeLog etc.
1373 (install-only): Don't blindly create the directory.
1375 Tue Apr 1 15:04:21 1997 Jason Molenda (crash@godzilla.cygnus.co.jp)
1377 * configure.in (gdbtcl): Create soft-link for gdbtcl/ directory
1378 instead of gdbtk.tcl.
1380 Fri Mar 28 17:04:02 1997 Jason Molenda (crash@godzilla.cygnus.co.jp)
1382 * Makefile.in (gdbtk.o): look for GDBTK_LIBRARY in $(datadir) by
1383 default, not $(srcdir).
1385 Wed Mar 19 15:16:17 1997 Martin M. Hunt <hunt@onions.cygnus.com>
1387 * Makefile.in: Install gdbtcl dir instead of gdbtk.tcl.
1389 * gdbtk.c: Added some ifdefs for Windows. Changed GDBTK_FILENAME
1390 to GDBTK_LIBRARY, which is now a path to search.
1391 (gdb_path_conv): New function. Convert Cygwin32 pathname to
1394 * {aclocal.m4,configure.in}: Changes for Windows builds.
1396 * configure: Rebuilt.
1398 Fri Mar 14 10:01:29 1997 Tom Tromey <tromey@cygnus.com>
1400 * configure: Regenerated.
1401 * configure.in (LIBS): Re-reverse order of TCL_LIBS and TK_LIBS.
1403 Wed Mar 12 14:29:52 1997 Tom Tromey <tromey@cygnus.com>
1405 * gdbtk.c (x_event): Use Tcl_DoOneEvent, TCL_DONT_WAIT,
1408 * configure: Regenerated.
1409 * configure.in (ENABLE_GDBTK): Put TCL_LIBS after TK_LIBS in
1412 Mon Feb 10 13:50:53 1997 Stu Grossman (grossman@critters.cygnus.com)
1414 * gdbtk.c (call_wrapper): Clear running_now if an error occurs.
1416 Wed Dec 11 18:51:35 1996 Mark Alexander <marka@cygnus.com>
1418 * gdbtk.c (gdb_loc): Correct truncation of PC on 64-bit MIPS.
1420 Tue Nov 19 09:26:14 1996 Tom Tromey <tromey@cygnus.com>
1422 * gdbtk.c (gdbtk_readline): Fix memory leak.
1424 Mon Nov 18 23:43:05 1996 Tom Tromey <tromey@cygnus.com>
1426 Fixes for Tcl 7.6 / Tk 4.2:
1427 * gdbtk.tcl (apply_filespec): Use tk_getOpenFile.
1428 Remove old fileselect code.
1429 * gdbtk.c (Tcl_Alloc): Rename from Tcl_Malloc.
1431 Fri Sep 27 10:25:30 1996 Fred Fish <fnf@cygnus.com>
1433 * gdbtk.tcl (create_copyright_window): Increase timeout from
1434 15 seconds to 30 seconds.
1436 Wed Sep 4 17:28:40 1996 Stu Grossman (grossman@critters.cygnus.com)
1438 * configure configure.in: Add host *windows* to list of hosts
1439 that don't support GDBtk.
1441 Fri Aug 23 00:44:57 1996 Fred Fish <fnf@cygnus.com>
1443 * gdbtk.c (gdbtk_init): Check for a DISPLAY env variable and
1444 gracefully degrade to using command line interface if none is
1447 Fri Aug 9 12:32:53 1996 Tom Tromey <tromey@creche.cygnus.com>
1449 * Makefile.in (LIB_INSTALL_DIR): New macro.
1450 (TCL): Include @TCL_LD_SEARCH_FLAGS@.
1452 Thu Aug 1 20:35:01 1996 Tom Tromey <tromey@creche.cygnus.com>
1454 * gdbtk.c (mainWindow): Deleted.
1455 (cleanup_init): Don't destroy main window.
1456 (gdbtk_init): Main window now created by Tk_Init.
1458 * configure.in: Most X checks now handled automatically by Tk.
1459 Use new macros to find Tcl/Tk.
1460 * aclocal.m4: New version for new Tcl/Tk; from Don Libes.
1461 * config.in, configure: Regenerated.
1463 * Makefile.in (TCL, TCL_CFLAGS, TK, TK_CFLAGS, X11_CFLAGS,
1464 X11_LDFLAGS, X11_LIBS): Changed for new Tcl and Tk.
1466 Thu Aug 1 16:12:05 1996 Jason Molenda (crash@godzilla.cygnus.co.jp)
1468 * Makefile.in (gdbtk.tcl): put in $(datadir), not $(libdir).
1470 Fri Jul 26 14:07:37 1996 Ian Lance Taylor <ian@cygnus.com>
1472 * gdbtk.c (gdb_disassemble): Initialize di.flavour.
1474 Thu Jul 25 19:41:31 1996 Fred Fish <fnf@cygnus.com>
1476 * gdbtk.c (null_routine): Ditto.
1477 (gdbtk_flush): Ditto.
1478 (gdbtk_fputs): Ditto.
1479 (gdbtk_query): Ditto.
1480 (gdbtk_readline): Ditto.
1481 (gdbtk_readline_end): Ditto.
1482 (gdb_get_breakpoint_list): Ditto.
1483 (gdb_get_breakpoint_info): Ditto.
1484 (breakpoint_notify): Ditto.
1485 (gdbtk_create_breakpoint): Ditto.
1486 (gdbtk_delete_breakpoint): Ditto.
1487 (gdbtk_modify_breakpoint): Ditto.
1490 (gdb_sourcelines): Ditto.
1491 (map_arg_registers): Ditto.
1492 (get_register_name): Ditto.
1493 (gdb_regnames): Ditto.
1494 (get_register): Ditto.
1495 (gdb_fetch_registers): Ditto.
1496 (register_changed_p): Ditto.
1497 (gdb_changed_register_list): Ditto.
1499 (call_wrapper): Ditto.
1500 (gdb_listfiles): Ditto.
1502 (gdbtk_dis_asm_read_memory): Ditto.
1503 (compare_lines): Ditto.
1504 (gdb_disassemble): Ditto.
1505 (tk_command): Ditto.
1506 (cleanup_init): Ditto.
1507 (gdbtk_interactive): Ditto.
1509 (gdbtk_wait): Ditto.
1510 (gdbtk_call_command): Ditto.
1511 (tk_command_loop): Ditto.
1512 (gdbtk_init): Ditto.
1514 * gdbtk.c (register_changed_p): Remove unused local variable "buf".
1516 Sat Jul 20 17:46:40 1996 Fred Fish <fnf@cygnus.com>
1518 * gdbtk.tcl (files_command): Reorder the binding tags for
1519 the listbox widget to avoid referencing the listbox after
1520 the containing widget has been destroyed by the action of
1523 Sat Jul 20 10:09:28 1996 Fred Fish <fnf@cygnus.com>
1525 * gdbtk.tcl (delete_expr): Unset corresponding element of
1526 expr_update_list when destroying an expression.
1527 (create_expr_window): Initialize expr_num, delete_expr_num,
1528 and expr_update_list here when each new expression window
1529 is created, rather than once at startup.
1531 Mon Jul 15 16:44:05 1996 Stu Grossman (grossman@critters.cygnus.com)
1533 * gdbtk.c (gdb_disassemble): Setup di.mach from
1534 tm_print_insn_info.mach, and set endian from TARGET_BYTE_ORDER.
1536 Fri Jun 21 11:04:47 1996 Fred Fish <fnf@cygnus.com>
1538 * gdbtk.tcl (create_register_windows): Include missing '$'s.
1539 Add global declarations for various reg_format_* variables.
1540 * gdbtk.tcl (populate_register_window): Make initial window one
1541 line taller to account for new column header line.
1543 Fri Jun 21 09:46:47 1996 Fred Fish <fnf@cygnus.com>
1545 * gdbtk.c (get_register): Support for printing raw formats.
1546 * gdbtk.tcl: Add hint for using debug_interface.
1547 (center_window, add_breakpoint_frame, delete_breakpoint_frame):
1548 Enclose arg in braces for consistency.
1549 (create_registers_window, populate_reg_window, update_registers):
1550 Major rewrite to support displaying multiple formats in the register
1552 (init_reg_info): New function.
1553 (recompute_reg_display_list): Reset reg_display_list, start
1554 register display lines at line 2.
1556 Thu Jun 20 08:18:59 1996 Fred Fish <fnf@cygnus.com>
1558 * gdbtk.tcl (gdbtk_tcl_readline_begin): Handle backspace to
1559 avoid backing up over prompt. At every input, make sure insert
1560 point is at least after command start, handle control-u to delete
1562 (tclsh): Handle backspace to avoid backing up over prompt. Handle
1563 control-u to delete current input line.
1565 Wed Jun 19 17:23:38 1996 Geoffrey Noer <noer@cygnus.com>
1567 * configure.in: disable gdbtk for *cygwin32* hosted compiles
1568 * configure: regenerated with autoconf 2.8
1570 Sun May 19 16:49:37 1996 Fred Fish <fnf@cygnus.com>
1572 * gdbtk.c (gdbtk_readline_begin, gdbtk_readline, gdbtk_readline_end):
1574 (tk_command_loop): Set instream to NULL to enable Tk user interaction.
1575 (gdbtk_init): Set readline_begin_hook, readline_hook,
1576 and readline_end_hook.
1577 * gdbtk.tcl (gdbtk_tcl_readline_begin, gdbtk_tcl_readline,
1578 gdbtk_tcl_readline_end): New functions.
1579 (tclsh): Pack scroll bar on right side of window, not left.
1581 Fri May 17 13:54:34 1996 Fred Fish <fnf@cygnus.com>
1583 * gdbtk.tcl (create_command_window): Change a misspelled "get"
1584 to the intended "cget".
1585 (delete_line): Fix so it deletes the current line at the
1588 Thu May 16 19:20:29 1996 Fred Fish <fnf@cygnus.com>
1590 * gdbtk.tcl (gdb_prompt): Set this early on.
1591 (create_command_window): Use gdb_prompt rather than "(gdb) ".
1592 (gdbtk_tcl_preloop): Proc executed just prior to Tk main loop.
1593 (tclsh): If an evaluation window already exists, just bring it
1594 to the front instead of trying to create another.
1595 * gdbtk.c (tk_command_loop): New function.
1596 (gdbtk_init): Call tk_command_loop rather than Tk_MainLoop.
1598 Thu May 16 16:16:35 1996 Fred Fish <fnf@cygnus.com>
1600 * gdbtk.tcl (evaluate_tcl_command, tclsh): New functions that
1601 implement a tcl evaluation window for gdbtk maintainers to use.
1603 Thu May 16 11:42:58 1996 Tom Tromey <tromey@creche.cygnus.com>
1605 * gdbtk.tcl (files_command): Correctly insert list of files into
1608 * gdbtk.tcl (files_command): listbox command no longer accepts
1611 Wed May 15 16:04:09 1996 Stan Shebs <shebs@andros.cygnus.com>
1613 * gdbtk.tcl (create_command_window): If command window's buffer
1614 is disabled, don't execute any of the key bindings.
1616 Mon May 13 13:43:25 1996 Fred Fish <fnf@cygnus.com>
1618 * gdbtk.c (tk_command): Catch case where no argument is given
1619 since this will cause the tcl interpreter to dump core.
1621 Wed May 8 20:33:24 1996 Fred Fish <fnf@cygnus.com>
1623 * gdbtk.c: Fix a couple of misspellings.
1625 Thu May 2 19:17:49 1996 Stan Shebs <shebs@andros.cygnus.com>
1627 * gdbtk.tcl (debug_interface): New global, use to aid debugging.
1628 (insert_breakpoint_tag, delete_breakpoint_tag): Fix range.
1629 (file_popup_menu): Delete, never used.
1630 (listing_window_popup): Rename from listing_window_button_1,
1631 remove breakpoint toggling code.
1632 (toggle_breakpoint): New procedure.
1633 (create_file_win): Bind popup menu to button 2, toggle breakpoints
1634 with button 1 in breakpoint area, add display of tagged areas if
1637 Fri Apr 5 13:44:40 1996 Stan Shebs <shebs@andros.cygnus.com>
1639 * gdbtk.c (running_now): New global variable.
1640 (gdb_cmd): Test it before executing any command.
1641 (gdbtk_call_command): Set it when inferior is running.
1642 * gdbtk.tcl (gdbtk_tcl_busy, gdbtk_tcl_idle): Enable and
1643 disable interaction with command window's text appropriately.
1645 Fri Apr 5 13:25:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
1647 * gdbtk.c (SIOCSPGRP, linux): If on Linux, undef SIOCSPGRP, since
1648 some versions of the kernel don't support it.
1650 Tue Feb 6 16:31:25 1996 Tom Tromey <tromey@creche.cygnus.com>
1652 * gdbtk.tcl (create_file_win): Eliminate text widget B1 binding so
1653 double-clicking will work again.
1654 (create_asm_win): Put "break" at end of all B1 bindings.
1655 (create_file_win): Lower "sel" tag, don't raise it.
1656 (ensure_line_visible): New proc.
1657 (update_listing, update_assembly): Use it.
1658 (create_copyright_window): Destroy window on Leave event.
1659 (create_command_window): Put "break" at end of all B2 bindings.
1661 Wed Jan 24 15:28:41 1996 Tom Tromey <tromey@creche.cygnus.com>
1663 * gdbtk.tcl, gdbtk.c: Updated copyrights.
1665 * configure.in: Look for -ldl or -ldld when using Tcl 7.5 or
1667 * configure: Rebuilt.
1669 Tue Jan 23 09:00:48 1996 Doug Evans <dje@charmed.cygnus.com>
1671 * gdbtk.c (gdb_disassemble): Pass fprintf_unfiltered to
1672 INIT_DISASSEMBLE_INFO.
1674 Mon Jan 15 09:58:41 1996 Tom Tromey <tromey@creche.cygnus.com>
1676 * gdbtk.tcl (create_expr_window): Many changes to update GUI.
1677 (add_expr): Changes from create_expr_window.
1678 (create_command_window): Set focus.
1679 (delete_expr): Rewrote.
1680 (expr_update_button): New proc.
1681 (add_expr): Put bindings on FocusIn, FocusOut.
1682 Don't allow .file_popup to be torn off.
1684 Fri Jan 12 09:36:17 1996 Tom Tromey <tromey@creche.cygnus.com>
1686 * gdbtk.tcl (gdbtk_tcl_query): Swap Yes and No buttons.
1687 (update_listing): Use lassign. Use "see" to scroll. Don't need
1688 screen_top, screen_bot, screen_height.
1689 (update_assembly): Use "see" to scroll.
1690 (textscrollproc): Removed.
1691 (create_file_win): Don't use textscrollproc.
1692 (asmscrollproc): Removed.
1693 (create_asm_window): Don't use asmscrollproc.
1694 (create_asm_win): Ditto.
1695 (screen_height, screen_top, screen_bot): Removed.
1696 (run_editor): New proc.
1697 (build_framework): Use it.
1698 (create_file_win, create_source_window): Don't use textscrollproc.
1699 (create_breakpoints_window): Set -xscrollcommand on canvas.
1700 (not_implemented_yet): Default button is 0.
1701 (delete_char): Don't use tk_textBackspace.
1702 (create_command_window): Allow Tk bindings to fire after deleting
1704 (create_command_window): Make Delete delete left, not right.
1706 Thu Jan 11 10:08:14 1996 Tom Tromey <tromey@creche.cygnus.com>
1708 * gdbtk.tcl (FSBox): Don't use tk_listboxSingleSelect.
1710 Changes in sync with expect:
1711 * configure.in (ENABLE_GDBTK): Use CY_AC_PATH_TCL and
1713 * aclocal.m4: Replaced with version from expect.
1714 * configure: Regenerated.
1716 Wed Jan 10 09:07:22 1996 Tom Tromey <tromey@creche.cygnus.com>
1718 * gdbtk.tcl (gdbtk_tcl_fputs, gdbtk_tcl_fputs_error,
1719 gdbtk_tcl_flush): Use "see", not "yview".
1720 (gdbtk_tcl_query): Use questhead bitmap.
1721 various: Always wrap condition of 'if' in {...}.
1722 (add_breakpoint_frame): Set -value on radiobuttons.
1723 (lassign): New proc.
1724 (add_breakpoint_frame): Use lassign, not series of assignments.
1725 (decr): Made faster.
1726 (interactive_cmd): Use "see", not "yview".
1727 (not_implemented_yet): Use warning bitmap.
1728 (update_expr): Don't allow $expr to be evalled by Tcl.
1729 (create_expr_window): Don't use "focus".
1730 (delete_char, delete_line): Define globally.
1731 (delete_line, delete_char, create_command_window, update_autocmd,
1732 build_framework, create_asm_win, create_file_win): Use "see", not
1734 (create_copyright_window, center_window, bind_widget_after_class):
1736 (FSBox,create_command_window, create_autocmd_window): Binding
1738 (textscrollproc): Define globally.
1739 (build_framework): tk_menuBar no longer needed. Keys Prior, Next,
1740 Home, End, Up, and Down are all defined by Tk.
1741 (apply_filespec): Use error bitmap in dialog.
1742 (files_command): Don't use tk_listboxSingleSelect.
1743 (files_command): Don't use "uniq" to remove duplicates from a
1745 (update_assembly): Use lassign.
1746 (create_asm_win): Removed redundant bindings.
1747 (listing_window_button_1, file_popup_menu): Use tk_popup.
1748 (ButtonRelease-1 binding): Just remove tag from window; rest
1751 * gdbtk.c (gdbtk_query): Use Tcl_Merge to provide quoting.
1752 (call_wrapper): Use Tcl_Eval, not Tcl_VarEval.
1753 (gdbtk_call_command): Ditto.
1755 Thu Jan 4 16:04:54 1996 Stu Grossman (grossman@cygnus.com)
1757 * configure configure.in: Make --enable-gdbtk be the default.
1759 Thu Dec 28 15:10:49 1995 Stan Shebs <shebs@andros.cygnus.com>
1761 * README.GDBTK: Polish introductory paragraph.
1763 Mon Oct 16 11:27:06 1995 Stu Grossman (grossman@cygnus.com)
1765 * gdbtk.c (gdb_disassemble): Use fprintf_unfiltered instead of
1768 Tue Oct 10 15:26:39 1995 Fred Fish <fnf@cygnus.com>
1770 * README.GDBTK: Updated for version 4.15.
1772 Sat Aug 19 17:20:22 1995 Michael Tiemann <tiemann@axon.cygnus.com>
1774 * gdbtk.tcl: ENABLE comes back as "1" or "0", not "enable" or
1776 Also, wire up the breakpoint window so that it can be demo'd.
1778 Tue Aug 1 11:44:53 1995 J.T. Conklin <jtc@rtl.cygnus.com>
1780 * gdbtk.c: Include "gdb_string.h" instead of <string.h>.
1782 Tue Jun 20 10:19:40 1995 Stu Grossman (grossman@cygnus.com)
1784 * gdbtk.c: Add functions Tcl_Malloc, Tcl_Realloc, and Tcl_Free.
1786 * gdbtk.tcl (add_breakpoint_frame): Add more fields.
1787 * (create_file_win create_asm_win build_framework): Create null
1788 bindings for meta keys to keep window from dropping down to
1789 insertion point when meta is pressed by itself. New bindings:
1790 Up/Down - Scroll up/down one line at a time
1791 Next/Prior - Scroll up/down one page at a time
1792 Home/End - Warp to current pc/end of file
1793 * (build_framework): Turn on breakpoint menu.
1794 * (create_command_window): Implement tab completion. Add binding
1795 for ^C to stop target.
1797 Fri May 19 06:15:40 1995 Jim Kingdon <kingdon@deneb.cygnus.com>
1799 * gdbtk.c: Conditionalize use of stdarg rather than varargs on
1800 ANSI_PROTOTYPES not __STDC__; it must match the definition of
1803 Thu May 18 15:58:46 1995 J.T. Conklin <jtc@rtl.cygnus.com>
1805 * gdbtk.c (gdbtk_query): Use stdarg.h macros when compiling with
1808 Sat Apr 15 13:52:24 1995 Stan Shebs <shebs@andros.cygnus.com>
1810 * gdbtk.c (gdb_disassemble): Read from inferior if connected
1811 to a VxWorks target.
1813 Fri Apr 14 10:18:20 1995 Stu Grossman (grossman@cygnus.com)
1815 * README.GDBTK: New file. Contains the obvious.
1817 Tue Apr 11 11:07:12 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1819 * gdbtk.c (gdbtk_init): If SIOCSPGRP is not available, but
1820 F_SETOWN is, use that.
1822 Thu Apr 6 17:00:46 1995 Michael Meissner <meissner@tiktok.cygnus.com>
1824 * Makefile.in (X11_INCLUDES): Define as empty.
1825 (X11_CFLAGS): Define as including $(X11_INCLUDES).
1826 (X11_LIB_SWITCHES): Define as empty.
1827 (X11_LIBS): Define as -lX11.
1829 * configure.in (enable_gdbtk): If gdbtk, support the --x-includes
1830 and --x-libraries switches, setting the X11_INCLUDES and
1831 X11_LIB_SWITCHES respectively. Instead of using a hardcoded -lX11
1832 in ENABLE_CLIBS, use the X11_LIB_SWITCHES and X11_LIBS variables.
1834 * gdbtk.c (gdbtk_init): If SIOCSPGRP is not available, don't use
1835 it. This means that the stop button doesn't work, but is better
1838 Wed Mar 29 17:09:29 1995 Stu Grossman (grossman@cygnus.com)
1840 * Makefile.in (gdbtk.o): Use X11_CFLAGS to provide alternate
1841 locations (per-host) for X11 include files.
1842 * config/pa/hppahpux.mh (XM_CLIBS): Add -L/usr/lib/X11R5 to force
1844 (X11_CFLAGS): Add this to indicate the locs
1845 of the R5 include files.
1847 Wed Mar 8 16:12:21 1995 Stu Grossman (grossman@cygnus.com)
1849 * gdbtk.c (gdb_get_breakpoint_info): Return error if breakpoint
1850 type is not bp_breakpoint.
1852 Tue Feb 14 17:16:41 1995 Stu Grossman (grossman@cygnus.com)
1855 * gdbtk.c: General cleanups, get rid of unused variables. Redo
1856 handling of stdout/stderr to just return output as the result of
1857 the tcl command that caused the output. Cleanup -Wall stuff.
1858 * (breakpoint_notify): Now returns just action and breakpoint
1860 * (gdb_get_breakpoint_list): New routine. Does the obvious.
1861 * (gdb_get_breakpoint_info): Mostly derived from the old
1862 breakpoint_notify, but returns lots more info.
1863 * (dsprintf_append_element): Helper routine, works like printf,
1864 but appends a tcl element onto the specified DString. Good for
1865 building up lists as return values.
1866 * (gdbtk_enable/disable_breakpoint): Go away. Replaced with
1867 gdbtk_modify_breakpoint.
1868 * (*many routines*): Use new result protocol.
1869 * (call_wrapper): Make sure that recursive calls don't trash results.
1870 * gdbtk.tcl: New windows, autocmd, and breakpoints.
1871 * (gdbtk_tcl_fputs): Don't use $current_output_win redirection
1872 anymore. It's not needed (in fact, this routine may not be needed
1874 * (gdbtk_tcl_breakpoint): Change to reflect new breakpoint
1875 notification protocol.
1876 * (gdbtk_tcl_busy gdbtk_tcl_idle): Straighten out buttons, remove
1878 * (interactive_cmd): Use this wrapper around button invocations
1879 of many commands. This will catch errors and put the results into
1880 the command window. It also updates all the other windows.
1881 * Also, change reliefs of most things to sunken. This actually
1883 * (create_file_win): Fix margin binding to allow breakpoints to
1885 * (create_asm_win): Use return value of gdb_disassemble instead
1886 of implicit I/O to the command window.
1887 * (create_command_window): Use new result protocol to get output
1890 Sun Feb 5 20:32:44 1995 Jim Kingdon (kingdon@lioth.cygnus.com)
1892 * gdbtk.c (gdb_disassemble): Deference pointer to function before
1893 calling it (pre-ANSI compilers generally require this).
1895 Fri Feb 3 11:19:20 1995 Stu Grossman (grossman@cygnus.com)
1897 * gdbtk.c (gdb_disassemble): Get rid of
1898 dis_asm_read_memory_hook. We can now call the disassemblers
1899 directly and have no need for this hook anymore.
1901 Mon Jan 30 17:34:24 1995 Stu Grossman (grossman@cygnus.com)
1903 * gdbtk.tcl (create_file_win): Disable old popup menu for source
1906 Wed Jan 25 18:23:46 1995 Stu Grossman (grossman@cygnus.com)
1908 * gdbtk.c (gdbtk_init): Prevent segfault when gdbtk.tcl can't be
1910 * gdbtk.tcl: Initialize expr_update_list() to prevent errors when
1911 popping up expression window for the first time.
1913 Tue Jan 24 12:10:28 1995 Stu Grossman (grossman@cygnus.com)
1915 * gdbtk.tcl (create_registers_window): Work around a radiobutton
1916 widget bug to make Options|Natural button work.
1918 * gdbtk.c (gdb_disassemble): Fix problem with source+assembly and
1919 g++ caused by out-of-order pc's.
1920 * gdbtk.tcl (files_command): Remove duplicate file names. Also,
1923 Mon Jan 23 17:21:09 1995 Stu Grossman (grossman@cygnus.com)
1925 * gdbtk.tcl: Take .gdbtkinit if it exists. Makes gdbtk match the
1928 Thu Jan 12 15:02:40 1995 Stu Grossman (grossman@cygnus.com)
1930 * gdbtk.c, gdbtk.tcl: Update/add copyright.
1931 * gdbtk.tcl (build_framework): Several fixes for filespec widget,
1932 including dismiss button, and better error handling.
1933 * (create_command_win): Bind button 2 to retrieve selection.
1935 Wed Jan 11 17:06:55 1995 Stu Grossman (grossman@cygnus.com)
1937 * gdbtk.tcl: Add button to control mixed source disassembly.
1938 Use text widgets in expr window. The give me more control over
1940 Add auto-updating of exprs in expression window.
1941 Handle expressions out of scope a bit better.
1942 Make selected window pop up to the top when invoked via the
1944 Make copyright message have raised relief.
1946 * gdbtk.c (gdbtk_init): Improve handling for errors in gdbtk.tcl
1949 Thu Jan 5 17:38:29 1995 Stu Grossman (grossman@cygnus.com)
1951 * gdbtk.c (finish_saving_output): Don't do anything if not saving
1953 * (breakpoint_notify): Don't send null filename to tcl.
1954 * (gdb_eval): New tcl command to eval an expression.
1955 * (gdb_disassemble): New tcl command to do disassembly. This
1956 allows tcl code to choose between exec file and target memeory,
1957 and can also do mixed source and assembly.
1958 * (gdbtk_init): Move reading of gdbtk.tcl to the end to make sure
1959 that more of the environment is set up. Also, create link between
1960 gdb and tcl vars disassemble{-_}from{-_}exec.
1962 * gdbtk.tcl: New expression window support.
1963 * Make assembly window be 80 columns wide.
1964 * Use new disassembly method. Add menu items to select
1965 disassembly from exec file or target.
1966 * Change View menubar item to Options.
1968 * Get rid of Stack, Breakpoints, Signals, and Variables Windows,
1969 since they don't exist yet.
1971 * Pop up a copyright window on startup.
1973 Wed Jan 4 19:49:10 1995 Stan Shebs <shebs@andros.cygnus.com>
1975 * gdbtk.tcl (build_framework): Add standard commands menu, more
1976 windows to standard windows menu.
1977 (not_implemented_yet): Clarify message.
1979 Fri Dec 30 15:49:00 1994 Stan Shebs <shebs@andros.cygnus.com>
1981 * gdbtk.tcl (FSBox): New proc, File Selection Box code from exmh.
1982 (not_implemented_yet): New proc.
1983 (build_framework): Add various file commands to file menu.
1985 Fri Dec 23 16:18:50 1994 Stu Grossman (grossman@cygnus.com)
1987 * gdbtk.c (gdbtk_wait gdbtk_init): Portability improvements for
1990 Mon Dec 19 09:55:47 1994 Stu Grossman (grossman@cygnus.com)
1992 * gdbtk.tcl (update_assembly): Force update to make sure that pc
1993 is visible when creating new assembly windows.
1995 Sun Dec 18 23:31:20 1994 Stu Grossman (grossman@cygnus.com)
1997 * gdbtk.c (gdbtk_wait gdbtk_init): Use different method of
1998 enabling I/O interrupts for SVR4 (streams).
1999 * (start_saving_output save_output get_saved_output
2000 finish_saving_output flush_holdbuf gdbtk_flush gdbtk_fputs
2002 Totally revamp to use TCLs dynamic string functions. Also, quote
2003 all data passed back to TCL to prevent errors with unmatched
2004 braces, odd characters, etc... This fixes several wierd problems
2005 with outputting strings containing unmatched braces.
2006 * (breakpoint_notify gdb_loc): Use long hex format to output
2007 addresses of breakpoints and PCs. This fixes some Alpha problems.
2008 * (breakpoint_notify): Add stream arg to call to gdbtk_fputs.
2009 * (gdb_listfiles): Also, go through the symtabs when looking for
2010 files. This makes xcoff work (sort of), but probably breaks
2012 * (gdb_stop): Return TCL_OK instead of nothing. This fixes odd
2013 TCL errors when hitting stop button.
2014 * (tk_command): Don't pass interp->result on to Tcl_{Var}Eval, as
2015 that will trash the result. strdup the result instead and pass
2016 that on. Improve error handling as well.
2018 * gdbtk.tcl (gdbtk_tcl_flush): Use global def of
2019 current_output_win. Makes flushing actually work!
2020 * (asm_win_name create_asm_win update_assembly): Bunch of fixes
2021 to make assembly windows stop flashing when loading a new file.
2022 * (gdbtk_tcl_busy gdbtk_tcl_idle): Use catch to prevent gdb_cmd
2023 errors from losing control.
2024 * (create_source_window): Add source file selection to View menu.
2025 * (create_command_window (<Key-Return> binding): Quote text fed
2026 into gdb_cmd to prevent eval errors.
2028 Thu Dec 15 16:40:10 1994 Stu Grossman (grossman@cygnus.com)
2030 * gdbtk.c: Improve mechanism for capturing output values.
2031 (full_filename): Remove.
2032 (gdb_cmd call_wrapper gdbtk_init): Protect all calls from tcl land
2033 with call_wrapper. This prevents longjmps (usually via error())
2034 from jumping out of tcl/tk and leaving things in an indeterminate
2036 (gdbtk_fputs): Differentiate stdout from stderr when passing text
2038 * gdbtk.tcl: New view option to disable line numbers. Put catch
2039 around most uses of gdb_cmd. Add update button to reg config
2040 window. Stop doing immediate updates when selecting registers.
2041 Change register view values into checkbuttons.
2043 Mon Dec 12 16:59:29 1994 Stu Grossman (grossman@cygnus.com)
2045 * gdbtk.tcl (reg_config_menu create_registers_window
2046 recompute_reg_display_list): Use array instead of individual vars
2047 for register display list.
2048 * (recompute_reg_display_list update_registers): Fix bug with not
2049 displaying all registers.
2051 Mon Dec 12 12:22:21 1994 Stu Grossman (grossman@cygnus.com)
2053 * gdbtk.c: New tcl commands: gdb_fetch_registers,
2054 gdb_changed_register_list, and gdb_regnames.
2055 * gdbtk.tcl: Use monochrome color model for now.
2056 * (delete_breakpoint_tag create_file_win): Add breakdot support.
2057 * (create_file_win create_asm_win update_listing build_framework
2058 create_source_window create_command_window): Re-org window
2059 creation to give all windows consistent look and feel.
2060 * (update_listing update_asm): Change pc pointer to '->'.
2061 * (registers_command reg_config_menu create_registers_window
2062 populate_reg_window update_registers): Revamp register window.
2063 Allow selection of registers to be displayed. Highlight changed
2066 Mon Nov 28 09:17:20 1994 Stu Grossman (grossman@cygnus.com)
2068 * gdbtk.tcl (build_framework): Fix bug with setting window titles.
2070 * gdbtk.tcl (build_framework): Add "Report bug" to help menu.
2072 * gdbtk.tcl: Re-arrange windows using new, consistent layout. Clean
2073 up lots of code and centralize framework initialization.
2075 Wed Nov 16 15:28:29 1994 Rob Savoye (rob@cygnus.com)
2077 * Makefile.in: Fix the test for installing gdbtk.
2079 Mon Nov 14 08:51:29 1994 Stu Grossman (grossman@cygnus.com)
2081 * Makefile.in: Install gdbtk.tcl.
2082 * configure.in: Add ENABLE_GDBTK flag.
2083 * gdbtk.c (gdb_sourcelines): Returns list of source lines
2084 containing code. (gdb_regnames): Returns list of register names.
2086 Thu Nov 3 14:25:24 1994 Stu Grossman (grossman@cygnus.com)
2088 * gdbtk.c (gdb_stop): Switch to target_stop().
2090 Tue Nov 1 16:41:12 1994 Stu Grossman (grossman@cygnus.com)
2092 * Makefile.in: Use $(objdir)/tcl and $(objdir)/tk if they are
2094 * configure.in (ENABLE_CLIBS): Use $(TCL) and $(TK) instead of
2096 * gdbtk.c: Get rid of lots of unnecessary #includes.
2097 * (gdbtk_init): Use ConnectionNumber macro instead of referencing
2098 Display structure directly.
2099 * gdbtk.tcl: Change exit button to quit button.
2101 Wed Oct 26 15:41:07 1994 Stu Grossman (grossman@cygnus.com)
2103 * gdbtk.c: Change sense and name of no_windows variable. Now
2104 called use_windows, and defaults to off (for compatibility).
2106 Thu Oct 20 17:35:45 1994 Stu Grossman (grossman@cygnus.com)
2108 * gdbtk.c (gdb_cmd): Force GUI into idle mode when errors occur.
2109 * (gdb_stop): New tcl command to stop the target process.
2110 * (x_event, gdbtk_wait): Allow GUI to interrupt gdb out of target
2112 * (gdbtk_call_command): Wrapper around command processing to
2113 alert GUI of target state changes.
2114 * (gdbtk_init): Get the fd of X server for doing async
2115 notification of X events (via x_event). Setup new hooks.
2116 * gdbtk.tcl: Add scrollbars to assembly and command windows.
2117 * Change window foreground & background colors.
2118 * Create margin tag for breakpoints in source and assembly windows.
2119 * Add new routines to be invoked when target state changes to/from
2121 * Add start of expression window.
2122 * Change bindings of mouse button 1 in assembly and source window
2123 to just set or clear breakpoints when in the margin tag.
2124 * Change shape of register window to be more vertical to better
2125 reflect its contents.
2127 * Cleanup some code around command window bindings.
2129 Sat Sep 17 17:05:14 1994 Stu Grossman (grossman@cygnus.com)
2131 * gdbtk.tcl: Let ^U delete lines in the command window.
2133 Fri Sep 16 15:40:34 1994 Stu Grossman (grossman@cygnus.com)
2135 * gdbtk.c: Replace calls to full_filename with symtab_to_filename.
2136 * gdbtk.tcl: New routine pc_to_line replaces in line code. New
2137 routine decr replaces in line code.
2138 * (create_file_win): Use catch to handle open failures more
2139 elegantly. Also, create special window to display file open
2140 failure message. Move opening of file prior to creation of text
2142 * (create_asm_win): Add PC as argument. We now base disassembly
2143 on PC instead of function name, since function names can be
2144 ambiguous (usually seen with shared libs). Also, use catch to
2145 simplify code where we don't care about failures.
2147 Wed Sep 14 00:55:26 1994 Stu Grossman (grossman@cygnus.com)
2149 * gdbtk.tcl: Add ref counts to breakpoint tags.
2150 * Put quotes around function name in disassemble command to better
2151 handle assembler names containing `.'.
2152 * Make pclist element 0 be filler to avoid off-by-one problem with
2154 * Set names of top-level windows.
2155 * Add register display window.
2156 * Add PC to label of assembly window.
2158 Tue Sep 13 08:59:04 1994 Stu Grossman (grossman@cygnus.com)
2160 * gdbtk.c (gdbtk_flush gdbtk_fputs): Buffer up output to make
2161 disassembly more efficient.
2162 * (breakpoint_notify): Include pc in gdbtk_tcl_breakpoint
2164 * (gdb_loc): Include pc in return value. Also, return function
2165 name if arg was specified.
2166 * (gdb_cmd_stub): Call gdb_flush to drain internal GDB buffers
2167 after command completes.
2168 * (gdbtk_init): Improve error handling.
2170 * gdbtk.tcl: Add lots of comments. Clean up code.
2171 * (gdbtk_tcl_fputs): Make output window redirectable.
2172 * Add assembly window, and breapoint support.
2173 * Make button 1 in margin toggle breakpoints.
2174 * Use stippling to indicate breakpoint disabling.
2176 Fri Sep 2 19:11:40 1994 Stu Grossman (grossman@cygnus.com)
2178 * configure.in: Don't symlink to gdbtk.tcl if it's already there.
2180 Thu Jul 28 14:37:36 1994 Stu Grossman (grossman@cygnus.com)
2183 * Makefile.in: Add rule for gdbtk.o.
2184 * configure.in: Add support for --enable-gdbtk.
2185 * gdbtk.c: New file. Contains support routines for TK interface.
2186 * gdbtk.tcl: New file. Implements GUI policy.
2193 version-control: never