version 0.6.3 (03/06/2006): 6/02/2006 Bob Rossi * tgdb-base/include/tgdb_types.h (struct tgdb_request): Comment info_sources field. (tgdb_response): Comment sources_denied field. 5/31/2006 Bob Rossi * annotate-two/src/commands.c (commands_user_ran_command): Temporarily backout change in order to get another release out. 5/30/2006 Bob Rossi * annotate-two/include/data.h (#include "tgdb_client_command.h"): Change to #include "tgdb_command.h". * annotate-two/include/a2-tgdb.h (#include "tgdb_client_command.h"): Ditto. (a2_prepare_for_command): Change parameter type. * annotate-two/include/commands.h (#include "tgdb_client_command.h"): Change to #include "tgdb_command.h". (commands_prepare_for_command): Change parameter type. * annotate-two/include/annotate_two.h (#include "tgdb_client_command.h"): Change to #include "tgdb_command.h". * annotate-two/src/a2-tgdb.c (a2_prepare_for_command): Change parameter type. * annotate-two/src/commands.c (commands_prepare_for_command): Change parameter type. (commands_issue_command): Ditto. * gdbmi/include/gdbmi_tgdb.h (#include "tgdb_client_command.h"): Change to #include "tgdb_command.h". (gdbmi_prepare_for_command): Change parameter type. * gdbmi/src/gdbmi_tgdb.c (gdbmi_prepare_for_command): Ditto. * tgdb-base/include/tgdb_client_command.h: Removed file. * tgdb-base/include/tgdb_client_interface.h (#include "tgdb_client_interface.h"): Removed. (#include "tgdb_client_command.h"): Changed to #include "tgdb_command.h". (tgdb_client_prepare_for_command): Changed parameter type. * tgdb-base/include/tgdb_command.h (#include "tgdb_client_command.h"): Remove. (tgdb_command): Add field tgdb_client_private_data. (tgdb_command_create): Add parameter client_data. Remove parameter tcc. * tgdb-base/src/tgdb_client_interface.c (tgdb_client_debugger_interfaces): Change parameter type. (tgdb_client_prepare_for_command): Ditto. * tgdb-base/src/tgdb_command.c (#include "tgdb_client_command.h"): Removed. (tgdb_command_create): Change parameter type. (tgdb_command_destroy): Remove no longer needed code. * tgdb-base/src/tgdb.c (#include "tgdb_client_command.h"): Removed. (tgdb_process_client_commands, tgdb_send, tgdb_deliver_command): Fixed to deal with removal of client command type. * tgdb-base/src/Makefile.am (libtgdb_a_SOURCES): Remove tgdb_client_command.c. * tgdb-base/src/tgdb_client_command.c: Removed. 5/29/2006 Bob Rossi * annotate-two/src/commands.c (commands_issue_command): Remove unused parameter. * tgdb-base/include/tgdb_client_command.h (enum tgdb_client_command_action_choice): Remove type. (tgdb_client_command_create): Remove action_choice parameter. * tgdb-base/src/tgdb_client_command.c (tgdb_client_command_create): Ditto. * tgdb-base/src/tgdb.c (tgdb_send): Remove extra parameter. 5/29/2006 Bob Rossi * annotate-two/src/commands.c (commands_issue_command): Remove unused parameter. * tgdb-base/include/tgdb_client_command.h (enum tgdb_client_command_display_choice): Remove type. (tgdb_client_command_create): Remove display_choice parameter. * tgdb-base/src/tgdb_client_command.c (tgdb_client_command_create): Ditto. * tgdb-base/src/tgdb.c (tgdb_send): Remove extra parameter. 5/29/2006 Bob Rossi * tgdb-base/include/tgdb_command.h (enum tgdb_command): Remove is_buffered_console_command field. (tgdb_command_create): Remove is_buffered_console_command parameter. * tgdb-base/src/tgdb_command.c (tgdb_command_create): Ditto. * tgdb-base/src/tgdb.c (tgdb_process_client_commands): Remove unused parameter. (tgdb_send): Ditto. 5/29/2006 Bob Rossi * tgdb-base/include/tgdb_command.h (enum tgdb_command_choice): Comment field. (enum tgdb_command_action_choice): Remove type. (tgdb_command_create): Remove parameter action_choice. * tgdb-base/src/tgdb_command.c (tgdb_command_create): Remove parameter action_choice. * tgdb-base/src/tgdb.c (tgdb_process_client_commands): Modify for parameter that was removed. (tgdb_send): Ditto. 5/29/2006 Bob Rossi * annotate-two/src/a2-tgdb.c (a2_is_client_ready): Remove TRUE/FALSE, and replace with 1/0. * annotate-two/src/commands.c (commands_initialize): Ditto. (parse_breakpoint): Ditto. (commands_set_state): Ditto. (commands_process): Ditto. (commands_prepare_for_command): Ditto. * annotate-two/src/globals.c (globals_initialize, global_set_start_info_sources, global_reset_info_sources_started, global_set_start_completion, global_reset_completion_started, global_set_start_list, global_list_finished): Ditto. * annotate-two/src/annotate.c (handle_misc_prompt, handle_misc_post_prompt, handle_prompt, handle_error_begin): Ditto. * gdbmi/src/gdbmi_tgdb.c (gdbmi_is_client_ready): Ditto. * tgdb-base/include/tgdb_types.h (TRUE, FALSE): Removed defines. * tgdb-base/src/tgdb.c (struct tgdb): Comment fields. (tgdb_deliver_command): Removed parameter fd. (tgdb_run_command): Rename to tgdb_unqueue_and_deliver_command. (tgdb_dispatch_command): Rename to tgdb_run_or_queue_command. (tgdb_process_client_commands): Use new function name. (tgdb_initialize): Simplify init. (tgdb_can_issue_command): Remove TRUE/FALSE, and replace with 1/0. (tgdb_has_command_to_run): Ditto. (tgdb_is_busy): Ditto. (is_ready): Removed function. (tgdb_send): Use new function names. (tgdb_delete_commands): Removed parameter fd. Only return -1 instaed of the other values. (tgdb_command_callback): Removed function. (is_tgdb_finished): Removed function. (tgdb_process): Use new functions. (tgdb_process_console_command, tgdb_process_info_sources, tgdb_process_filename_pair, tgdb_process_current_location, tgdb_process_debugger_command, tgdb_process_modify_breakpoint, tgdb_process_complete): Make static. Use new functions. 5/21/2006 Bob Rossi * tgdb-base/src/tgdb.c (tgdb_signal_notification): No longer use kill to pass the signal to GDB. Instead, write the ^c to GDB's pty. * tgdb-base/src/driver.c (main): Pass in new arg to rline_initialize. 5/20/2006 Bob Rossi * annotate-two/src/commands.c (commands_user_ran_command): Add call to get the current line after each command the user runs. 5/13/2006 Bob Rossi * annotate-two/include/a2-tgdb.h (a2_get_current_location): Add on_startup parameter. * annotate-two/include/a2-tgdb.c (a2_get_current_location): Add and use on_startup parameter. * tgdb-base/include/tgdb.h (tgdb_request_current_location): Add on_startup parameter. * tgdb-base/include/tgdb_client_interface.h (tgdb_client_get_current_location): Ditto. * tgdb-base/include/tgdb_types.h (tgdb_request): Add current_location field. * tgdb-base/src/tgdb.c (tgdb_request_current_location): Add and use on_startup parameter. * tgdb-base/src/tgdb_client_interface.c (tgdb_client_debugger_interfaces): Add parameter to tgdb_client_get_current_location field. 4/27/2006 Bob Rossi * annotate-two/src/Makefile.am (noinst_LIBRARIES): Change to a2. * gdbmi/src/Makefile.am (noinst_LIBRARIES): Change ot mi. * tgdb-base/src/Makefile.am (tgdb_driver_LDADD): Change libs. version 0.6.2 (04/09/2006): 4/05/2006 Bob Rossi * Makefile.in: Autogenerated. * annotate-src/Makefile.in: Autogenerated. * annotate-src/src/Makefile.in: Autogenerated. * gdbmi/Makefile.in: Autogenerated. * gdbmi/src/Makefile.in: Autogenerated. * tgdb-base/Makefile.in: Autogenerated. * tgdb-base/src/Makefile.in: Autogenerated. 4/04/2006 Bob Rossi * annotate-two/src/commands.c (parse_breakpoint): Log message when regex searching fails, but prune out watchpoint's first. 3/14/2006 Bob Rossi * annotate-two/src/commands.c (parse_breakpoint): Do not log message when regex searching fails. version 0.6.1 (03/06/2006): 3/06/2006 Bob Rossi * annotate-two/src/commands.c (commands_process_completion): Don't add completion's that GDB has returned that begin with "server complete ". 2/27/2006 Bob Rossi * annotate-two/src/commands.c (struct commands): Added regex_bp field. (commands_initialize): Init new field. (commands_shutdown): Destroy new field. (parse_breakpoint): Use field, instead of recompiling regex. 2/27/2006 Bob Rossi * tgdb-base/src/tgdb.c (is_tgdb_finished): Added. (tgdb_process): Set is_finished parameter. 2/27/2006 Bob Rossi * annotate-two/src/commands.c (sys/types.h, regex.h): Added defines. (struct commands): Remove field_5_newline_hit. (parse_breakpoint): Modify comment, and completly re-write function. (commands_set_state): Check parse_breakpoint return value. (commands_set_field_num): Remove use of field_5_newline_hit. (commands_process): Ditto. Do not add newlines for breakpoint info. 2/27/2006 Bob Rossi * annotate-two/src/commands.c: Format comments. 2/27/2006 Bob Rossi * annotate-two/src/commands.c: Indent. version 0.6.0 (01/30/2006): 1/30/2006 Bob Rossi * annotate-two/src/annotate.c (handle_exited): Fix compile error. * annotate-two/src/commands.c (commands_send_source_absolute_source_file): Ditto. * tgdb-base/src/tgdb.c (tgdb_process_console_command): Ditto. 1/19/2006 Bob Rossi * Makefile.in: Autogenerated. * annotate-two/Makefile.in: Ditto. * annotate-two/src/Makefile.in: Ditto. * gdbmi/Makefile.in: Ditto. * gdbmi/src/Makefile.in: Ditto. * tgdb-base/Makefile.in: Ditto. * tgdb-base/src/Makefile.in: Ditto. 1/14/2006 Bob Rossi * Makefile.in: Autogenerated. * annotate-two/Makefile.in: Ditto. * annotate-two/src/Makefile.in: Ditto. * gdbmi/Makefile.in: Ditto. * gdbmi/src/Makefile.in: Ditto. * tgdb-base/Makefile.in: Ditto. * tgdb-base/src/Makefile.in: Ditto. 12/30/2005 Bob Rossi * tgdb-base/src/driver.c (gdb_input): Update to new TGDB interface. * tgdb-base/src/tgdb.c (tgdb_process): Add new parameter. * tgdb-base/include/tgdb.h (tgdb_process): Add new parameter. 12/30/2005 Bob Rossi * tgdb-base/src/annotate.c (handle_unwanted_fields): Added function. (annotations): Add new entry. 12/25/2005 Bob Rossi * tgdb-base/include/tgdb.h: TGDB changed tgdb_recv_debugger_console_data to gdb_process. * tgdb-base/src/tgdb.c: Ditto. * tgdb-base/src/driver.c (gdb_input): Ditto. 12/25/2005 Bob Rossi * tgdb-base/src/tgdb.c (struct tgdb): Removed tgdb_partially_run_command field. (initialize_tgdb_context): Removed init of tgdb_partially_run_command. 12/22/2005 Bob Rossi * annotate-two/include/a2-tgdb.h (annotate_commands): Renamed enumeration value. (a2_get_source_absolute_filename): Renamed to a2_get_source_filename_pair. * annotate-two/include/commands.h (COMMAND_STATE): Renamed enumeration value. * annotate-two/src/a2-tgdb.c (a2_get_source_absolute_filename): Renamed to a2_get_source_filename_pair. Reindented. * annotate-two/src/commands.c (commands_set_state): Changed case statement. (commands_prepare_info_source): Ditto. (commands_send_source_absolute_source_file): Send relative and absolute now. (commands_process): Ditto. (commands_finalize_command): Ditto. (commands_prepare_for_command): Ditto. (commands_create_command): Ditto. * tgdb-base/include/tgdb.h (tgdb_request_absolute_path): Renamed to tgdb_request_filename_pair. * tgdb-base/include/tgdb_client_interface.h (tgdb_client_get_absolute_path): Renamed to tgdb_client_get_filename_pair. Changed parameter name. * tgdb-base/include/tgdb_types.h (INTERFACE_REQUEST_COMMANDS): Changed enumeration. (struct tgdb_request): Modified for new enumeration. (INTERFACE_RESPONSE_COMMANDS): Change response because of request change. (struct tgdb_response): Modified for new enumeration. * tgdb-base/src/tgdb.c (tgdb_request_destroy): Destroy modified request. (tgdb_request_absolute_path): Renamed to tgdb_request_filename_pair. (tgdb_process_absolute_path): Ditto. (tgdb_process_command): Call renamed function. * tgdb-base/src/tgdb_client_interface.c (struct tgdb_client_debugger_interfaces): Renamed field. (tgdb_client_debugger_interfaces): Init modified field. (tgdb_client_get_absolute_path): Rename to tgdb_client_get_filename_pair. Rename parameter. * tgdb-base/src/tgdb_types.c (tgdb_types_print_item): Update for new request/response. (tgdb_types_delete_item): Delete response properly. 12/21/2005 Bob Rossi * annotate-two/src/commands.c (struct commands): Added info_source_relative_path, info_source_absolute_path fields. (commands_initialize): Init new fields. (commands_shutdown): Free new fields. (commands_prepare_info_source): Clear new fields. (commands_send_source_absolute_source_file): Update to use new fields. (commands_process_info_source): Store relative and absolute paths from info source. (commands_finalize_command): Get data from 'info source' command. 12/20/2005 Bob Rossi * annotate-two/include/a2-tgdb.h (annotate_commands): Add new command. (a2_get_current_location): Add new prototype. * annotate-two/include/annotate_two.h (struct annotate_two): Removed first_prompt_reached field. * annotate-two/include/commands.h (commands_send_source_absolute_source_file): Remove prototype. * annotate-two/src/a2-tgdb.c (initialize_annotate_two): Remove a2->first_prompt_reached initialization. (a2_get_current_location): Add implementation. * annotate-two/src/annotate.c (handle_source): Add comment. * annotate-two/src/commands.c (commands_send_source_absolute_source_file): Remove unneeded code. (commands_prepare_for_command): Add case. (commands_create_command): Reformat. Add case. * annotate-two/src/data.c (tgdb_initialize_annotation_state): Removed. (data_set_state): No longer call removed function. * tgdb-base/include/tgdb.h (tgdb_request_current_location): Add new TGDB implementation. * tgdb-base/include/tgdb_client_interface.h (tgdb_client_get_current_location): Add prototype. * tgdb-base/include/tgdb_types.h (INTERFACE_REQUEST_COMMANDS): Add new request TGDB_REQUEST_CURRENT_LOCATION. * tgdb-base/src/tgdb.c (tgdb_request_absolute_path): Do not allow passing in NULL. (tgdb_request_current_location): Add function. (tgdb_process_current_location): Ditto. (tgdb_process_modify_breakpoint): Add call to new function. * tgdb-base/src/tgdb_client_interface.c (struct tgdb_client_debugger_interfaces): Add new field. (tgdb_client_debugger_interfaces): Init new field. (tgdb_client_get_current_location): Add new function. 12/15/2005 Bob Rossi * annotate-two/src/commands.c (commands_shutdown): Free data. 11/26/2005 Bob Rossi * annotate-two/include/a2-tgdb.h (a2_change_prompt): Removed. * annotate-two/include/annotate_two.h (annotate_two): Add field. * annotate-two/src/a2-tgdb.c (initialize_annotate_two): Init new field. (a2_parse_io): Setup new field when calling into annotate 2 subsystem. (a2_change_prompt): Removed. * annotate-two/src/commands.c (commands_issue_command): Removed case. * annotate-two/src/data.c (data_set_state): Add prompt change response. * gdbmi/src/gdbmi_tgdb.c (gdbmi_initialize): Take out prompt change. * tgdb-base/include/tgdb.h (prompt_change): Removed. (tgdb_set_prompt_update_callback): Removed. * tgdb-base/include/tgdb_client_command.h (tgdb_client_command_choice): Remove enumeration value. * tgdb-base/include/tgdb_client_interface.h (tgdb_client_change_debugger_prompt): Removed. * tgdb-base/include/tgdb_types.h (INTERFACE_RESPONSE_COMMANDS): Add response kind. (tgdb_response): Ditto. * tgdb-base/src/driver.c (gdb_input): Handle new response case. (main): Remove old callback initialization function. * tgdb-base/src/tgdb.c (tgdb): Remove prompt_change_callback field. (tgdb_set_prompt_change_callback): Removed. (tgdb_process_client_commands): Removed case statement. (initialize_tgdb_context): Removed init code for removed field. * tgdb-base/src/tgdb_client_interface.c (tgdb_client_debugger_interfaces): Remove field. * tgdb-base/src/tgdb_types.c (tgdb_types_print_item): Add case. (tgdb_types_delete_item): Ditto. 11/23/2005 Bob Rossi * annotate-two/src/annotate.c (handle_display_begin, handle_display_number_end, handle_display_format, handle_display_expression, handle_display_expression_end, handle_display_value, NOT_SUPPORTED): Removed functions. (annotations): Removed elements. 11/23/2005 Bob Rossi * tgdb-base/include/tgdb.h (tgdb_signal_notification): Update comment. * tgdb-base/src/tgdb.c (tgdb_request_destroy): Add function. (tgdb_handle_signals): Call tgdb_request_destroy. 11/23/2005 Bob Rossi * tgdb-base/include/tgdb.h, tgdb-base/src/tgdb.c ( tgdb_request_run_console_command, tgdb_request_inferiors_source_files, tgdb_request_absolute_path, tgdb_request_run_debugger_command, tgdb_request_modify_breakpoint, tgdb_request_complete): Update interface to return request_ptr. * tgdb-base/include/tgdb_types.h (tgdb_request_ptr): Add typedef. * tgdb-base/src/driver.c (rlctx_send_user_command, tab_completion): Update to TGDB's new interface. 11/20/2005 Bob Rossi * tgdb-base/include/tgdb.h (prompt_update, tgdb_set_prompt_update_callback): Removed. (tgdb_process_command): Added. Renamed several commands to have request in them. (tgdb_queue_append, tgdb_queue_pop, tgdb_queue_size): Added. * tgdb-base/include/tgdb_types.h (INTERFACE_REQUEST_COMMANDS): Add. (struct tgdb_request): Added. * driver.c: Updated for new TGDB interface. * tgdb-base/src/tgdb.c: Updated for new interface. 11/12/2005 Bob Rossi * annotate-two/src/annotate.c (#include sys_util.h): Add include. (handle_error_begin,handle_exited): Update for tgdb_response interface change. * annotate-two/src/commands.c (commands_set_state, commands_list_command_finished, commands_send_source_absolute_source_file, commands_process_source_line, commands_process_info_source, commands_process_complete, commands_send_gui_sources): Ditto. * tgdb-base/src/driver.c (gdb_input): Ditto. * tgdb-base/src/tgdb.c (tgdb_add_quit_command, tgdb_get_quit_command): Ditto. * tgdb-base/src/tgdb_types.c (tgdb_types_print_item, tgdb_types_delete_item): Ditto. * tgdb-base/include/tgdb_types.h (INTERFACE_COMMANDS): Update documentation for these values. (tgdb_response): Change void* to a union with specific return values. 11/08/2005 Bob Rossi * tgdb-base/include/tgdb_types.h: Update coding style with indent to GNU coding style. 10/07/2005 Bob Rossi * tgdb-base/include/tgdb.h, tgdb-base/src/tgdb.c: Update coding style with indent to GNU coding style. 10/07/2005 Bob Rossi * tgdb-base/src/driver.c (gdb_input): TGDB interface changed. Update driver. * tgdb-base/include/tgdb.h, tgdb-base/src/tgdb.c (tgdb_recv_debugger_data): Renamed to tgdb_recv_debugger_console_data. 10/07/2005 Bob Rossi * tgdb-base/include/tgdb.h, tgdb-base/src/tgdb.c (tgdb_send_inferior_data): Removed unused function. 10/07/2005 Bob Rossi * tgdb-base/include/tgdb.h, tgdb-base/src/tgdb.c (tgdb_send_debugger_data): Replaced by tgdb_send_debugger_console_command function. (tgdb_send_debugger_console_command): Replaced the above function. * tgdb-base/src/driver.c (rlctx_send_user_command): TGDB interface changed. Update driver. 10/06/2005 Bob Rossi * tgdb-base/src/driver.c (term_attributes): Add global. (main): Call tty_get_attributes to get terminal attributes. (main): Call tty_off_xon_xoff on readline's masterfd. (main): Changed call from tty_reset to tty_set_attributes. 09/30/2005 Bob Rossi * gdbmi/src/gdbmi_tgdb.c (gdbmi_parse_io): Initialize sytle variable. 09/30/2005 Bob Rossi * a2-tgdb.h (a2_get_tty_name): Add const qualifier to return val. * annotate_two.h (#include): fork_util.h (struct annotate_two): Replaced fields with pty_pair structure. * commands.h (COMMAND_STATE): Add COMPLETE field. (commands_send_gui_completions): Add function. * globals.h (global_set_start_completion,global_has_completion_started, global_reset_completion_started): Add functions. * annotate-two/src/Makefile.am (AM_CFLAGS): Remove rlctx include. (libannotate_two_a_DEPENDENCIES): Ditto. * annotate-two/src/Makefile.am: Autogenerated. * a2-tgdb.c,annotate.c,commands.c,data.c,globals.c,state_machine.c: Update for rl branch import. TGDB no longer supports readline. * tgdb.h (tgdb_initialize): Remove readline_fd parameter. (Add callback functions): Added prompt_change, tgdb_set_prompt_change_callback, prompt_update, tgdb_set_prompt_update_callback. (tgdb_is_busy): Add function. (tgdb_send_debugger_char,tgdb_recv_readline_data): Remove functions. (tgdb_get_command): Changed name to tgdb_get_response. (tgdb_traverse_commands): Changed name to tgdb_traverse_responses. (tgdb_delete_commands): Changed name to tgdb_delete_responses. (tgdb_complete): Add new tab completion function. (tgdb_catch_signals): Removed functions. * tgdb_client_interface.h (tgdb_client_get_tty_name): Add const qualifier. * tgdb_command.h (tgdb_command_choice): Remove TGDB_COMMAND_READLINE field. (tgdb_queue_command): Changed name to tgdb_command. (tgdb_queue_command): Add field is_buffered_console_command. (tgdb_command_create): Change signature. * tgdb_types.h (INTERFACE_COMMANDS): Add field TGDB_UPDATE_COMPLETIONS. (tgdb_command): Changed name to tgdb_response. * tgdb-base/src/Makeifle.am (AM_CFLAGS): Changed rlctx to rline. (tgdb_driver_LDFLAGS): Ditto. (tgdb_driver_LDADD): Ditto. (tgdb_driver_DEPENDENCIES): Ditto. * tgdb-base/src/Makefile.in: Autogenerated. * tgdb-base/src/driver.c: Updated for new readline interface. * tgdb-base/src/tgdb.c: Ditto. * tgdb-base/src/tgdb_command.c: Ditto. * tgdb-base/src/tgdb_types.c: Ditto. * tgdb-base/src/test.c (long_func): Updated sleep time. * tgdb-base/src/tgdb_client_interface.c (tgdb_client_debugger_interfaces): Modified for const qualifier parameter. version 0.5.3 (08/08/2005): 08/03/2005 Bob Rossi * annotate-two/src/commands.c (commands_create_command): Take const qualifier off return value. Recomment function. (commands_issue_command): Update variable to reflect signature change of function above. Free ncom variable, fix memory leak. 08/02/2005 Bob Rossi * Makefile.in: Autogenerated. * annotate-two/Makefile.in: Ditto. * annotate-two/src/Makefile.in: Ditto. * gdbmi/Makefile.in: Ditto. * gdbmi/src/Makefile.in: Ditto. * tgdb-base/Makefile.in: Ditto. * tgdb-base/src/Makefile.in: Autogenerated. 08/02/2005 Bob Rossi * Makefile.in: Autogenerated. * annotate-two/Makefile.in: Ditto. * annotate-two/src/Makefile.in: Ditto. * gdbmi/Makefile.in: Ditto. * gdbmi/src/Makefile.in: Ditto. * tgdb-base/Makefile.in: Ditto. * tgdb-base/src/Makefile.am (tgdb_driver_LDADD): Undo USE_PACKAGED_READLINE change. * tgdb-base/src/Makefile.in: Autogenerated. 07/26/2005 Marcel Lanz * a2-tgdb.c (a2_client_modify_breakpoint): Add TGDB_TBREAKPOINT_ADD case. * tgdb_types.h (tgdb_breakpoint_action): Add TGDB_TBREAKPOINT_ADD enumeration value. 07/13/2005 Bob Rossi * Makefile.in: Autogenerated. * annotate-two/Makefile.in: Ditto. * annotate-two/src/Makefile.in: Ditto. * gdbmi/Makefile.in: Ditto. * gdbmi/src/Makefile.in: Ditto. * tgdb-base/Makefile.in: Ditto. * tgdb-base/src/Makefile.am (tgdb_driver_LDADD): If USE_PACKAGED_READLINE is set add internal readline libraries. * tgdb-base/src/Makefile.in: Autogenerated. 05/26/2005 Bob Rossi * tgdb.h: Add vim folding markers. 05/26/2005 Bob Rossi * tgdb.c (tgdb_recv_debugger_data): Change buf_size from ssize_t to size_t to fix compiler warning on OSX. version 0.5.2 (05/21/2005): 05/21/2005 Bob Rossi * annotate-two/src/Makefile.am (libannotate_two_a_DEPENDENCIES): Changed top_srcdir to top_builddir. * annotate-two/src/Makefile.in: Autogenerated. * gdbmi/src/Makefile.am (libgdbmi_a_DEPENDENCIES): Changed top_srcdir to top_builddir. * gdbmi/src/Makefile.in: Autogenerated. * tgdb-base/src/Makefile.am (noinst_bin_PROGRAMS): Removed tgdb_driver. (noinst_bindir): Removed. (noinst_PROGRAMS): Added tgdb_driver. (tgdb_driver_DEPENDENCIES): Changed top_srcdir to top_builddir. * tgdb-base/src/Makefile.in: Autogenerated. version 0.5.1 (04/02/2005): 04/02/2005 Bob Rossi * tgdb.c (tgdb_add_quit_command): Add function. (tgdb_recv_debugger_data): Quit when EOF is read. 03/31/2005 Bob Rossi * tgdb.c (struct tgdb): Add has_sigchld_recv field. (initialize_tgdb_context): Init has_sigchld_recv field. (tgdb_get_quit_command): Add param tgdb_will_quit (tgdb_recv_debugger_data): Handle when has_sigchld_recv is true 03/30/2005 Bob Rossi * commands.c (command_parse_source): Fix runtime memory error. * data.c (data_initialize): Init all fields, fix runtime memory error. 03/30/2005 Bob Rossi * gdbmi_parser.c (gdbmi_parser_parse_string): Remove implementation for release. The MI parser code will be completly replaced when implemented. 07/14/2004 Bob Rossi * annotate.c (annotations): Added the 'exited' annotation. added 'handle_exited' function. added header for stdlib * tgdb_types.h (INTERFACE_COMMANDS): Added TGDB_INFERIOR_EXITED * tgdb_types.c (tgdb_types_delete_item): Add code to free TGDB_INFERIOR_EXITED (tgdb_types_print_item): Add code to print a TGDB_INFERIOR_EXITED command. version 0.5.0 (07/14/2004): 07/14/2004 Bob Rossi * tgdb-base/src/Makefile.am (noinst_bindir): changed top_srcdir to top_builddir 07/12/2004 Bob Rossi * tgdb.c (tgdb_run_command): Used correct field for data in raw_input_queue section and free queue 'item' (tgdb_send_debugger_char): Append a 'command' to raw_input_queue, instead of just adding the 'char*' version 0.4.2 (05/10/2004): version 0.4.1 (04/26/2004): 03/31/2004 Bob Rossi * tgdb.c (tgdb_signal_notification): Easier to debug. 03/22/2004 Bob Rossi * Doxyfile: Change TAGFILES line to use correct path to html. 03/22/2004 Bob Rossi * Doxyfile: Generates a tag via GENERATE_TAGFILE, and uses the tag file generated from various, using TAGFILES 03/02/2004 Bob Rossi * Doxyfile: Make the doxygen output QUIET * gdbmi/src/gdbmi_tgdb.c: Comply to doxygen 01/30/2004 Bob Rossi * TODO: Updated list of things to do * a2-tgdb.h: Remove include of "queue.h" * gdbmi_tgdb.h: Remove includes of "queue.h" and "tgdb_client_command.h" Add all new function declarations and comments * gdbmi_tgdb.c: Create a non-working, compilable stub of the commands that the mi needs to implement. * driver.c: main_loop, protect select against invalid descriptors * tgdb.c: Set's a call to test for annotate-two support * tgdb_client_interface.c: tgdb_client_debugger_interfaces, add initial support for gdbmi support. 01/29/2004 Bob Rossi * annotate-two.h: Changed PATH_MAX to FSUTIL_PATH_MAX and #include to #include "fs_util.h" * a2-tgdb.c: ditto * gdbmi_tgdb.c: ditto * tgdb.c: ditto * TODO: Updated list of things done 01/08/2004 Bob Rossi * Makefile.in: regenerated with documented autotools version * annotate-two/Makefile.in: ditto * annotate-two/src/Makefile.in: ditto * gdbmi/Makefile.in: ditto * gdbmi/src/Makefile.in: ditto * tgdb-base/Makefile.in: ditto * tgdb-base/src/Makefile.in: ditto version 0.4.0-1 cygwin release 12/03/2003 Ronald Landheer-Cieslak * Makefile.in: re-generated * annotate-two/Makefile.in: ditto * annotate-two/src/Makefile.in: ditto * gdbmi/Makefile.in: ditto * gdbmi/src/Makefile.in: ditto * tgdb-base/Makefile.in: ditto * tgdb-base/src/Makefile.in * annotate-two/src/Makefile.am: set include path relative to source tree * gdbmi/src/Makefile.am: ditto * tgdb-base/src/Makefile.am: set linker search path relative to build tree 11/16/2003 Bob Rossi * a2-tgdb.h: Remove the prototype a2_command_callback * a2-tgdb.c: Remove the implementation of a2_command_callback * tgdb_client_interface.c: changed 'a2_command_callback' to 'a2_completion_callback' version 0.4.0 (10/28/2003): 10/28/2003 Bob Rossi * tgdb.c: tgdb_set_verbose_gui_command_output, remove call to err_verbose. tgdb_set_verbose_error_handling, add call to err_verbose. 10/28/2003 Bob Rossi * tgdb-base/src/Makefile.in: ran autoregen.sh 10/27/2003 Bob Rossi * TODO: finished everything for .4 release 10/24/2003 Bob Rossi * TODO: updating for .4 release 10/24/2003 Bob Rossi * tgdb_types.h: update comments 10/24/2003 Bob Rossi * TODO: Add a future task * tgdb.c: tgdb_deliver_command, add some code to print the commands being passed to the debugger. 10/23/2003 Bob Rossi * TODO: Finished task 'standardize command queue interface' * a2-tgdb.h: removed include of tgdb_interface.h. added include of tgdb_client_command.h. a2_initialize, a2_user_ran_command, a2_parse_io, a2_get_source_absolute_filename, a2_get_inferior_sources, a2_change_prompt, a2_command_callback, a2_completion_callback, a2_open_new_tty, removed command_container parameter and comments. Added function a2_get_client_commands. * annotate_two.h: removed include of tgdb_interface.h. added include of tgdb_client_command.h. removed 'command_container' member and replaced it with client_command_list. * command.h:removed include of tgdb_interface.h. added include of tgdb_client_command.h. commands_parse_source, commands_issue_command, commands_user_ran_command, removed command_container parameter. * data.h:removed include of tgdb_interface.h. added include of tgdb_client_command.h. * a2-tgdb.c: a2_set_inferior_tty, a2_open_new_tty, a2_initialize, a2_parse_io, a2_get_client_commands, a2_get_inferior_sources, a2_change_prompt, a2_command_callback, a2_completion_callback, a2_user_ran_command, removed 'command_container' parameter member and implementation. * annotate.c: handle_source, don't pass parameter just removed. * commands.c: commands_parse_source, commands_prepare_for_command, commands_user_ran_command, commands_issue_command, removed implementation with parameters command_container. * data.c: tgdb_initialize_annotation_state, change implementation to not use parameters command_container. * tgdb.h: Add new interface function to the front end tgdb_set_verbose_error_handling. * tgdb_client_interface.h: removed include of "queue.h". removed include of "tgdb_interface.h". add include of "tgdb_client_command.h". add include of "tgdb_client_interface.h". tgdb_client_initialize_context, tgdb_client_tgdb_ran_command, tgdb_client_parse_io, tgdb_client_get_absolute_path, tgdb_client_get_inferior_source_files, tgdb_client_change_debugger_prompt, tgdb_client_completion_callback, tgdb_client_open_new_tty, add function tgdb_client_get_client_commands removed command_container parameter and comments. * driver.c: add command to give verbose error messages. * tgdb.c: removed include of "tgdb_interface.h". add include of "tgdb_command.h". add include of "tgdb_client_command.h". remove include of "a2-tgdb.h". removed include of "gdbmi_tgdb.h". add include of "queue.h". removed include of "state_machine.h". removed include of "commands.h". removed member command_container from struct tgdb. added member tgdb_verbose_error_handling to struct tgdb. tgdb_deliver_command, tgdb_dispatch_command, changed parameter from tgdb_client_command to tgdb_queue_command. changed tgdb_process_command_container to tgdb_process_client_commands. tgdb_initialize, initialize new variable. remove init_gdbmi function. tgdb_send, change type of parameter bct. add function tgdb_set_verbose_error_handling. * tgdb_client_interface.c: member tgdb_client_initialize_context, tgdb_client_tgdb_ran_command, tgdb_client_parse_io, tgdb_client_get_client_commands, tgdb_client_get_absolute_path, tgdb_client_get_inferior_source_files, tgdb_client_change_debugger_prompt, tgdb_client_completion_callback, tgdb_client_open_new_tty, rmeoved parameter command_container. added a2_get_client_commands. tgdb_client_initialize_context, tgdb_client_tgdb_ran_command, tgdb_client_parse_io, tgdb_client_get_client_commands, tgdb_client_get_absolute_path, tgdb_client_get_inferior_source_files, tgdb_client_change_debugger_prompt, tgdb_client_completion_callback, tgdb_client_open_new_tty, remove command_callback parameter. 10/13/2003 Bob Rossi * TODO: Finished task ( changed 'struct queue' ) * a2-tgdb.h: Add include of 'queue.h' a2_parse_io, change parameter q and add comment. * annotate.h: tgdb_parse_annotation, ditto * annotate_two.h: Add #include for sys/types.h * commands.h: commands_parse_source, commands_set_state, commands_process, commands_list_command_finished, commands_send_gui_sources, commands_send_source_absolute_source_file, commands_finalize_command, ditto * data.h: data_process, ditto * state_machine.h: a2_handle_data, ditto * a2-tgdb.c: implement changes. * annotate.c: ditto * commands.c: ditto * data.c: ditto * state_machine.c: ditto * tgdb_client_interface.h: ditto * tgdb_interface.h: ditto Remove tgdb_append_command prototype. * tgdb_types.h: ditto Add tgdb_types_append_command prototype. * driver.c: no longer call tgdb_types_free_command * tgdb.c: ditto Add #include for tgdb_list.h * tgdb_client_interface.c: ditto * tgdb_types.h: ditto 10/13/2003 Bob Rossi * TODO: Preparing TODO for .4.0 10/13/2003 Bob Rossi * TODO: Updating appropriatly, .4.0 is almost ready. * commands.c: change every occurence of 'string_*' to 'ibuf_*' * state_machine.c: ditto * tgdb.c: ditto 10/12/2003 Bob Rossi * TODO: Updating appropriatly, .4.0 is almost ready. * commands.h: removed TAB_COMPLETE from global enum COMMAND_STATE * commands.c: changed member last_info_source_requested of 'struct commands' to use a struct string instead of the MAXLINE constant. removed member last_tab_completion_command from 'struct commands'. commands_parse_source, parse_breakpoint, commands_list_command_finished, commands_process, commands_prepare_tab_completion, commands_finalize_command, commands_create_command, changed to use 'struct string' structures instead of char array's of MAXLINE on the stack. * state_machine.c: added #include of ibuf. Changed 'struct state machine', now use a 'struct string'. tgdb_initialize, initialize new member. a2_handle_data, implement to work with new data member. * tgdb_types.h: Remove #define MAXLINE * driver.c: Add #define of MAXLINE ( it used to be in TGDB ) * tgdb.c: tgdb_send, remove static buffer and use new data structure. tgdb_command_callback, ditto tgdb_recv_readline_data, pass the user's parameter, instead of MAXLINE. 10/10/2003 Bob Rossi * Doxyfile: Make html output go to doc directory. 10/08/2003 Bob Rossi * TODO: Update list of things done for .4.0 * a2-tgdb.h: update docos * annotate_two.h: ditto * annotate.c: ditto * commands.c: ditto * data.c: ditto * globals.c: ditto * state_machine.c: ditto * tgdb.h: ditto * tgdb_client_interface.h: ditto * tgdb_client_interface.c: ditto * tgdb_types.h: ditto * test.c: ditto * tgdb.c: ditto 10/05/2003 Bob Rossi * TODO: Update list of things to do for .4.0 * Makefile.am: Add EXTRA_DIST rule, to make sure testsuite gets included. 10/05/2003 Bob Rossi * TODO: Update things done. * tgdb_types.h: enum INTERFACE_COMMANDS, remove TGDB_QUIT_ABNORMAL and TGDB_QUIT_NORMAL to make 1 command TGDB_QUIT. add 'struct tgdb_debugger_exit_status'. * driver.c: update gdb_input to use new 'TGDB_QUIT' * tgdb.c: tgdb_get_quit_command, update to use new quit structure. * tgdb_types.c: tgdb_types_print_item, tgdb_types_delete_item, update to print TGDB_QUIT command and remove TGDB_QUIT_ABNORMAL and TGDB_QUIT_NORMAL 10/05/2003 Bob Rossi * TODO: Finished task. Made TGDB call lower level subsystems in an independent way * a2-tgdb.h: changed name of a2_create_instance to a2_create_context. a2_create_instance, a2_initialize, a2_shutdown, a2_err_msg, a2_is_client_ready, a2_user_ran_command, a2_prepare_for_command, a2_is_misc_prompt, a2_parse_io, a2_get_source_absolute_filename, a2_get_inferior_source_files, a2_change_prompt, a2_command_callback, a2_completion_callback, a2_return_client_command, a2_client_modify_breakpoint, a2_get_debugger_pid, a2_open_new_tty, a2_get_tty_name, changed all uses of 'struct annotate_two *a2' to void *tcc. * a2-tgdb.c: ditto for implementation * tgdb-base/src/Makefile.am: Added file tgdb_client_interface.c * tgdb.c: Add '#include "tgdb_client_interface.h"' 'struct tgdb', removed member 'struct annotate_two *a2' and replaced it with 'struct tgdb_client_context *tcc' initialize_tgdb_context, made static. initialize_tgdb_context, tgdb_initialize, tgdb_shutdown, tgdb_err_msg, tgdb_get_client_command, tgdb_client_modify_breakpoint_call, tgdb_can_issue_command, tgdb_has_command_to_run, tgdb_send, tgdb_deliver_command, tgdb_run_command, tgdb_change_prompt, tgdb_get_quit_command, tgdb_recv_debugger_data, tgdb_tty_name, tgdb_get_inferiors_source_files, tgdb_get_absolute_path, tgdb_signal_notification, Change TGDB to use 'tgdb_client_interface' instead of hardcoding calls to annotate two. * tgdb_client_interface.h: Add new interface for TGDB. * tgdb_client_interface.c: Add new implementation. 10/03/2003 Bob Rossi * TODO: Add item * a2-tgdb.h, commands.h, a2-tgdb.c, commands.c, tgdb_interface.h, tgdb.c, tgdb_interface.c: Change all occurences of 'struct command' to 'struct tgdb_client_command' 10/01/2003 Bob Rossi * driver.c: gdb_input, add call to tgdb_types_free_command 09/30/2003 Bob Rossi * TODO: Update tasks. * a2-tgdb.h: changed include from 'types.h to 'tgdb_types.h' * annotate.h: ditto * commands.h: ditto * data.h: ditto * state_machine.h: ditto * a2-tgdb.c: ditto * commands.c: ditto * globals.c: ditto * gdbmi_parse.h: ditto, add include for queue.h * gdbmi_tgdb.h: ditto, add include for queue.h * tgdb.h: ditto, add tgdb_delete_commands prototype * tgdb_interface.h: ditto, removed tgdb_interface_free_item and added tgdb_interface_free_command. removed tgdb_interface_print_item and added tgdb_interface_print_command. Added tgdb_append_command prototype. * Makefile.am: Changed libtgdb_a_SOURCES. changed types.c to tgdb_types.c * driver.c: removed call to depricated tgdb_delete_command function call. * tgdb.c: tgdb_recv_debugger_data, changed call to tgdb_delete_commands. tgdb_traverse_commands, change implementation. Add definition of tgdb_delete_commands. * tgdb_interface.c: ditto, add #include for stdio.h changed prototype of tgdb_interface_print_command signature. 09/28/2003 Bob Rossi * annotate.c: handle_prompt, move call to commands_finalize_command to before the point where data_set_state is called. ( setting the state of commands to nothing ). 09/27/2003 Bob Rossi * commands.c: commands_list_command_finished, commands_send_source_absolute_source_file, commands_finalize_command, use new 'struct tgdb_source_file' structure for TGDB_ABSOLUTE_SOURCE_DENIED. commands_send_source_absolute_source_file, use new 'struct tgdb_source_file' for TGDB_ABSOLUTE_SOURCE_ACCEPTED. * types.h: Change comments. Add tgdb_source_file structure. * types.c: tgdb_print_command, TGDB_ABSOLUTE_SOURCE_ACCEPTED, TGDB_ABSOLUTE_SOURCE_DENIED, update to use 'struct tgdb_source_file' tgdb_delete_command, ditto 09/27/2003 Bob Rossi * commands.c: commands_process_info_source, populate new 'struct tgdb_file_position. * types.h: struct tgdb_file_position, changed members absolute_path and relative_path, they are now 'char*' instead of 'struct string' * types.c: tgdb_print_command TGDB_UPDATE_FILE_POSITION case, change to use new 'struct tgdb_file_position' tgdb_delete_command, ditto 09/27/2003 Bob Rossi * commands.c: parse_breakpoint, changed to use new 'struct tgdb_breakpoint' * types.h: struct tgdb_breakpoint, changed members file and funcname from 'struct string' to 'char *' * types.c: tgdb_print_command TGDB_UPDATE_BREAKPOINTS case, change to use new 'struct tgdb_breakpoint' tgdb_breakpoint_free, ditto 09/26/2003 Bob Rossi * TODO: update todo stuff 09/26/2003 Bob Rossi * types.h: Added unit comment * tgdb.h: ditto 09/26/2003 Bob Rossi * types.h: Changed comments. * types.c: tgdb_print_item, changed case TGDB_UPDATE_FILE_POSITION, TGDB_UPDATE_SOURCE_FILES, TGDB_SOURCES_DENIED, TGDB_ABSOLUTE_SOURCE_ACCEPTED, TGDB_ABSOLUTE_SOURCE_DENIED, TGDB_DISPLAY_UPDATE, TDGB_QUIT_NORMAL, TGDB_QUIT_ABNORMAL. removed comments. tgdb_delete_command, changed case TGDB_UPDATE_FILE_POSITION, TGDB_UPDATE_SOURCE_FILES, TGDB_SOURCES_DENIED, TGDB_ABSOLUTE_SOURCE_ACCEPTED, TGDB_ABSOLUTE_SOURCE_DENIED, TGDB_DISPLAY_UPDATE, TGDB_QUIT_NORMAL, TGDB_QUIT_ABNORMAL. 09/25/2003 Bob Rossi * commands.c: 'struct commands' changed member 'struct queue *source_files' to 'struct tgdb_list *inferior_source_files'. commands_initialize, initialize changed member variable. commands_process_source_line(), commands_send_gui_sources() * types.h: Fix comments for TGDB_UPDATE_BREAKPOINTS, TGDB_UPDATE_FILE_POSITION and TGDB_UPDATE_SOURCE_FILES. * types.c: tgdb_print_item, implement TGDB_UPDATE_SOURCE_FILES tgdb_breakpoint_free, make static. add static tgdb_source_files_free. tgdb_delete_command, implement TGDB_UPDATE_SOURCE_FILES case. * driver.c: stdin_input 09/25/2003 Bob Rossi * commands.c: commands_process_info_source * types.h: change comment for TGDB_UPDATE_BREAKPOINTS and TGDB_UPDATE_FILE_POSITION. Add 'struct tgdb_file_position' and comment. * types.c: tgdb_print_item, implement TGDB_UPDATE_FILE_POSITION case. tgdb_delete_command, implement TGDB_UPDATE_FILE_POSITION case. 09/25/2003 Bob Rossi * commands.c: Add new #include "tgdb_list.h" 'struct commands' changed member 'struct queue *breakpoint_queue' to 'struct tgdb_list *breakpoint_list'. commands_initialize, initialize changed member variable. parse_breakpoint, append the data to the new list ( instead of old one ) commands_set_state, append new list into tgdb queue. * types.h: Changed comment in TGDB_UPDATE_BREAKPOINTS Changed function prototype name tgdb_traverse_command to tgdb_traverse_command_queue. * driver.c: gdb_input, changed commented out call to tgdb_traverse_command to take tgdb instance rather than a queue. * tgdb.c: Add tgdb_traverse_commands implementation * types.c: Add new #include "tgdb_list.h" tgdb_print_item, uncomment fd object. tgdb_print_item, implement TGDB_UPDATE_BREAKPOINTS case. Add tgdb_breakpoint_free function which free's a breakpoint. tgdb_delete_command, implement TGDB_UPDATE_BREAKPOINTS case. Change name of tgdb_traverse_command to tgdb_traverse_command_queue 09/24/2003 Bob Rossi * a2-tgdb.c: a2_initialize, add call to check for breakpoints on start up. 09/21/2003 Bob Rossi * tgdb.h: tgb_recv_debugger_data, remove queue parameter. add tgdb_get_command and tgdb_traverse_commands functions * tgdb.c: global struct tgdb, add member 'q'. tgdb_initialize, initialize new member 'q' tgdb_get_quit_command, remove parameter 'struct queue' tgdb_recv_debugger_data, removed parameter 'q' tgdb_get_command, add new function * driver.c: remove global 'struct queue *q' gdb_input, remove parameter to tgdb_recv_debugger_data change while loop to use tgdb_get_command instead of using the queue main, remove initialization of 'struct queue *q' 09/21/2003 Bob Rossi * types.h: Command, rename type from 'Command' to 'tgdb_command' * types.c: tgdb_print_item,tgdb_delete_command,tgdb_append_command, renamed Command to tgdb_command. * driver.c: gdb_input, ditto 09/21/2003 Bob Rossi * a2-tgdb.h: a2_return_client_command, rename type tgdb_command to tgdb_command_type. * a2-tgdb.c: ditto * gdbmi_tgdb.h: ditto for gdbmi_tgdb_return_client_command * gdbmi_tgdb.c: ditto * tgdb.h: ditto for tgdb_run_debugger_command * tgdb.c: ditto and for tgdb_get_client_command * types.h: tgdb_command, changed type name to tgdb_command_type 09/17/2003 Bob Rossi * TODO: Update what I think needs to be done next. 09/15/2003 Bob Rossi * gdbmi_tgdb.c: gdbmi_tgdb_recv, stubbed out function. * types.h: enum INTERFACE_COMMANDS, removed TGDB_QUIT and added TGDB_QUIT_NORMAL and TGDB_QUIT_ABNORMAL * driver.c: gdb_input, changed to handle new TGDB_QUIT commands. * tgdb.c: Added HAVE_SYS_TYPES_H and HAVE_SYS_WAIT_H added tgdb_get_quit_command. tgdb_recv_debugger_data, call tgdb_get_quit_command instead of just adding TGDB_QUIT to the list. * types.c: tgdb_print_item, add case to switch for TGDB_QUIT_* commands. 09/12/2003 Bob Rossi * commands.c: global 'struct commands' add 'field_5_newline_hit' member commands_initialize, initialize new member field_5_newline_hit parse_breakpoint, add check to not try to parse watchpoint variable names. commands_set_field_num, set new member to 0 commands_process, set new member if need be. 09/10/2003 Bob Rossi * tgdb.h: add tgdb_set_verbose_gui_command_output prototype * tgdb.c: global struct tgdb, add show_gui_commands member. tgdb_initialize, initialize show_gui_commands tgdb_recv_debugger_data, modfiy to return gui command tgdb_set_verbose_gui_command_output, implement new config option. 09/09/2003 Bob Rossi * tgdb.h: tgdb_run_debugger_command, tgdb_modify_breakpoint, both of the return values of these 2 functions are changed front char* to an int. * driver.c: change testing routine. * tgdb.c: global tgdb structure, add last_gui_command initialize_tgdb_context, initialize new component last_gui_command tgdb_send, update comments and return value. Change third parameter from 'int out_type' to 'enum buffer_command_type bct'. Removed internals of function related to char* return value. tgdb_deliver_command, set last_gui_command if command is a GUI command tgdb_command_callback, update call to tgdb_send to new prototype tgdb_recv_debugger_data, add code for last_gui_command. tgdb_run_debugger_command, tgdb_modify_breakpoint, update to match new prototype. * TODO: Finished a job, moving it to finished. 09/08/2003 Bob Rossi * TODO: Update what I think needs to be done next. 09/04/2003 Bob Rossi * a2-tgdb.h: a2_initialize, a2_user_ran_command, a2_parse_io, a2_get_source_absolute_filename, a2_get_inferior_sources a2_change_prompt, a2_command_callback, a2_completion_callback, a2_open_new_tty, adding new param command_container and comment * annotate_two.h: struct annotate_two, add command_container * commands.h: commands_parse_source, commands_issue_command, commands_user_ran_command, adding new param command_container and comment * a2-tgdb.c: a2_set_inferior_tty, a2_open_new_tty, a2_initialize, a2_parse_io, a2_get_source_absolute_filename, a2_get_inferior_sources, a2_change_prompt, a2_command_callback, a2_completion_callback, a2_user_ran_command, add and use command_callback parameter * annotate.c: handle_source, pass new parameter to commands_parse_source. * commands.c: commands_parse_source, commands_user_ran_command, commands_issue_command, add and use new command_callback parameter. * data.c: tgdb_initialize_annotation_state, use command_callback parameter. * tgdb.h: adding comments, and removing old interface. tgdb_modify_breakpoint, change return value to char* tgdb_catch_signals, remove prototype tgdb_signal_notification, adding context * tgdb_interface.h:tgdb_dispatch, tgdb_complete_command, remove prototypes command_completed, remove unused typedef. * driver.c: add global tgdb context. signal_handler, set_up_signal new functions tgdb_readline_input, update tgdb_recv_input to new tgdb interface. tgdb_input, update tgdb_recv to new tgdb interface. tty_input, update tgdb_tty_recv to new tgdb interface. stdin_input, update tgdb_send_input to new tgdb interface. main, update tgdb_init,tgdb_shutdown to new tgdb interface. * tgdb.c: add new 'struct tgdb' context. signal_catcher, remove function, tgdb no longer handles signals. unfortunatly, the entire file has changed. A changelog is useless. 08/27/2003 Bob Rossi * annotate_two.h: annotate_two, added first_prompt_reached and source_already_received. * a2-tgdb.c: initialize_annotate_two, initialized above new variables. a2_initialize, don't probe for initial gdb file. Do that in data_set_state * annotate.c: handle_source, set source_already_recieved to 1 * commands.c: Add comment about stupid source code. * data.c: added function tgdb_initialize_annotation_state data_set_state, added call to new function above. 08/27/2003 Bob Rossi * types.c: tgdb_print_item, knows how to print TGDB_UPDATE_FILE_POSITION 08/20/2003 Bob Rossi * types.c: tgdb_print_item, knows how to print TGDB_SOURCES_DENIED. * commands.c: commands_send_gui_sources, don't send TGDB_UPDATE_SOURCE_FILES if there are no files in the list. 08/19/2003 Bob Rossi * a2-tgdb.h: a2_parse_io, change comment of return value. a2_initialize, removed command_finished parameter. It is no longer called by the a2 subsystem. * annotate_two.h: 'struct annotate_two' removed callback function, changed it to an 'int' field. Instead of calling a callback, a2 returns a value. * state_machine.h: a2_handle_data, changed prototype to take a pointer for the gui size. That way the gui_size can get set on the way out. * state_machine.c: a2_handle_data changed prototype ( above ). a2_handle_data, assigned changed parameter the correct value. * a2-tgdb.c: a2_initialize, removed command_finished parameter. a2_initialize, removed initialization of 'struct annotate_two' callback. a2_parse_io, implemented to return the proper value of the subsystem. * annotate.c: changed call from data_set_state to setting command_finished variable. * data.c: ditto * tgdb.c: tgdb_recv, looks at return value of parse_io, and determines if a lower level subsystem has finished a command. 08/19/2003 Bob Rossi * commands.c: parse_breakpoint, this now can handle spaces in the function name and still parse the filename correctly. * types.h: adding new struct tgdb_breakpoint. * types.c: tgdb_print_item, can now print TGDB_UPDATE_SOURCE_FILES. 08/18/2003 Bob Rossi * annotate_two.h: adding 'struct annotate_two' context 08/17/2003 Bob Rossi * Doxyfile: Adding doxygen config file. * a2-tgdb.h: modified comments to work with doxygen. 08/16/2003 Bob Rossi * a2-tgdb.h: added interface for a2_user_ran_command, a2_prepare_for_command, a2_is_misc_prompt, a2_open_new_tty, a2_get_tty_name. Removed old interface. * annotate.h: tgdb_parse_annotation, added struct context added #include "annotate_two.h" * commands.h: added struct commands context. added commands_initialize,commands_shutdown, adding context to all prototypes. * data.h: added struct data context. Added data_initialize, data_shutdown. adding context to data_set_state, data_get_state, data_process. * globals.h: added struct globals context. added globals_initialize, globals_shutdown. removed functions global_signal_recieved, global_set_signal_recieved, global_set_start_info_source, global_has_info_source_started, global_reset_info_source_started. Added context to all prototypes. * state_machine.h: added struct state_machine context. Added state_machine_initialize, state_machine_shutdown. Added context to all prototypes. * a2-tgdb.c: implements changes to headers. * annotate.c: ditto * commands.c: ditto * data.c: ditto * globals.c: ditto * state_machine.c: ditto * tgdb.h: tgdb_get_sources, tgdb_get_source_absolute_filename and tgdb_err_msg are changed from function pointer to prototype. * tgdb.c: implement annotate_two's new context driven interface. version 0.3.4 (08/14/2003): 08/12/2003 Bob Rossi * data.c: data_set_state, add call to commands_set_state ( VOID, NULL ) 08/11/2003 Bob Rossi The basic purpose of this commit is to handle the control_c signal. * annotate.c: handle_error_begin, added call to set data state to VOID. * commands.c: commands_prepare_for_command, call global_list_finished. commands_issue_command, initialize global variable * tgdb.c: moving control_c from bottom of file to top. introduce new function tgdb_handle_signals. tgdb_recv, call to tgdb_handle_signals tgdb_run_command, removed signal handling code from function. 08/01/2003 Bob Rossi * a2-tgdb.c: remove global tgdb_partially_run_command. * tgdb.c: tgdb_partially_run_command, changed 'externed' global to static global. tgdb_send_input, make sure tgdb_partially_run_command is set correctly. 08/01/2003 Bob Rossi * a2-tgdb.h: removed a2_command_typed_at_prompt interace function. added parameter ready_for_next_command to function a2_tgdb_init. * a2-tgdb.c: a2_tgdb_is_debugger_ready no longer depends on extern variable from the data unit. a2_tgdb_init, sets up function callback for when finishing a command. a2_command_typed_at_prompt, remove implementation. * annotate.c: extern's global command_completed_callback from data unit. handle_misc_prompt, calls callback function now to say that the subsystem has finished a command. * commands.c: commands_prepare_for_command, no longer sets a externed varible COMMAND_ALREADY_GIVEN to 1. * data.c: remove global variables COMMAND_TYPED_AT_PROMPT and COMMAND_ALREADY_GIVEN. Instead, a callback to libtgdb is run when the subsystem finishes a command. * tgdb_interface.h: add typedef for callback function type. * tgdb.c: add 2 global variabls IS_SUBSYSTEMJ_READY_FOR_NEXT_COMMAND and HAS_USER_SENT_COMMAND. Added command_completion_callback. Modified the way libtgdb determines if a command can be sent to the lower subsystem or a char can be sent to the readline context. 07/27/2003 Bob Rossi * a2-tgdb.h: Removed unused interface function. a2_is_ready. 07/22/2003 Bob Rossi * a2-tgdb.h: Updating interface for .4.0 ( comments only ) 07/18/2003 Bob Rossi * a2-tgdb.h: Updating interface for .4.0 ( comments only ) version 0.3.3a (07/16/2003): version 0.3.3 (07/15/2003): 07/15/2003 Bob Rossi * a2-tgdb.h: Updating interface for .4.0 ( comments only ) 07/14/2003 Bob Rossi * tgdb.h: Updating interface for .4.0 ( comments only ) 07/03/2003 Bob Rossi * tgdb.h: Updating interface for .4.0 ( comments only ) 07/02/2003 Bob Rossi * tgdb.h: Prototyped interface for .4.0 ( comments only ) 07/02/2003 Bob Rossi * tgdb.h: Adding commands tgdb_run_client_command tgdb_set_breakpoint_file_line. Remove tgdb_send command. It is now a static command internal to libtgdb. In place of it, all functions will be exported. * types.h: Added enum tgdb_command,enum tgdb_breakpoint_action * tgdb.c: Implent functions above. * gdbmi_tgdb.h: Add gdbmi_tgdb_return_client_command, gdbmi_tgdb_client_modify_breakpoint * gdbmi_tgdb.c: Implement above. * a2-tgdb.h: Add a2_tgdb_client_modify_breakpoint, a2_tgdb_return_client_command * a2-tgdb.c: Implemented above. 07/02/2003 Bob Rossi * Added testsuite directory: No more regression! 06/28/2003 Bob Rossi * TODO: Changed requirements for .4.0 and .5.0 06/27/2003 Bob Rossi * TODO: Changed requirements for .4.0 version 0.3.2 (06/25/2003): 06/12/2003 Bob Rossi * types.h: Removed comment 06/04/2003 Bob Rossi * changed interface for tgdb: It now returns atomic commands. These commands are self contained. The gui can now act on one command from tgdb instead of waiting for several. 06/01/2003 Bob Rossi * tgdb.c: tgdb_initialize now uses fs_util in a more usefull way. calling fs_util_create_dir_in_base instead of fs_util_create_dir. 06/01/2003 Bob Rossi * First big step at generalizing the protocol used to communicate with gdb and the main loop used to send commands to it. This is a first step at getting multiple types of communication to work with gdb ( annotate 2, gdbmi, possibly even annotate 1). However, since the changes are overwhelming, I will not comment on them. 04/30/2003 Bob Rossi * Removed terminal.h & terminal.c: They now live in the libutil 04/27/2003 Bob Rossi * Reorganized the cvs tree 04/13/2003 Bob Rossi * Removed data_get_prompt() function. version 0.3.0 (04/11/2003): 04/09/2003 Bob Rossi * Adding support for reading/writing of command history * if tgdb_start fails, the driver cleans up before dying. * Set data state to USER_COMMAND before running TAB_COMPLETION * Fixed reverse-search-histroy bug where readline would not run command searched for. 04/08/2003 Bob Rossi * Adding Tab completion * Allowing feature to force redisplay of readline * Adding Change of prompt support 04/03/2003 Bob Rossi * Made tgdb return CURRENT_FILE_UPDATE: This tells the gui the absolute and relative path to the current file. It also tells it the line number. This is enough info for the gui to understand the breakpoint files without a large overhead. 04/02/2003 Bob Rossi * Changed tgdb to parse annotations in a new way: tgdb now accepts annotations from gdb in this form '\r+\n\032\032annotation\r+\n' This also removes all '\r' from the output that commands parses. * Fixed commands.c where it was removing a \r that no longer exists. 04/02/2003 Bob Rossi * Changed rlctx_prog rl_callback_read_char to respect EOF * Changed rlctx_prog to respect the exception set in select loop: In cygwin, EOF is detected in the exception set. So this needs to be read. 04/01/2003 Bob Rossi * Automatically building getch_driver and input_driver: This is done because 'make' seems to be failing to build the programs correctly when they are extra's. Its probably a configure problem that needs to be solved. * tgdb now works on windows XP in cygwin: Fixed creation of home directory. 03/29/2003 Bob Rossi * Fixed all of tgdb's to work with autoconf: All of the files that make up tgdb now test to see if a header is available before it is included. 03/28/2003 Bob Rossi * Reversed decision to change BUFFER_USER_COMMAND -> BUFFER_GUI_COMMAND: All commands were being outputted back to the user. 03/27/2003 Bob Rossi * Stop adding the enter command to readline's history. * A better solution for the misc_prompt commands are under way: This allows the user to enter a command during a misc prompt. Tgdb also traverses all of the buffered commands, running all commands that the user typed and skipping internal commands ( tgdb and gui ). 03/26/2003 Bob Rossi * tgdb now supports the commands feature of gdb: This was broken at some point but is now implemented to work correctly. It is treated like a regular prompt. 03/23/2003 Bob Rossi * tgdb now fully supports readline: tgdb now can support commands by using readline. It is transparent to the front end. 03/11/2003 Bob Rossi * tgdb now allows a user to enter a command at a misc prompt: This fixes the problem where tgdb does not know that it is ok for the user to enter a command at the misc prompt. 03/06/2003 Bob Rossi * Changed the command interface to be a queue 03/04/2003 Bob Rossi * Perfected the queue unit :) * Moved all of the command running into commands: This makes one nice entry point to running a command. * Wrote an infinate string unit: This replaced all the constant size buffers 03/03/2003 Bob Rossi * Added a queue unit to the project: It will contain all of the commands ready to go to gdb. 03/02/2003 Bob Rossi * readline buffer commands working * Made readline not install any signal handler's 02/27/2003 Bob Rossi * Fix parse bug, looking for 'Located in': when tgdb switch to starting gdb from a tty to a regular pipe, gdb now sometimes outputs the command that was typed, and sometimes it doesn't ( depending on version ). So, instead of counting lines, tgdb looks for 'Located in' after a the 'info source' command. * Fix bug with 'info sources': tgdb_get_sources was not returning all of the source files because of an allocation bug. 02/26/2003 Bob Rossi * Added extra parameter to tgdb_start: A new fd is returned from tgdb_start, it signals the user when data the user is typing is ready to be returned. * Added function tgdb_send_input: The gui should send to this function every char the user has typed ( from readline ). * Added function tgdb_recv_input: The gui calls this function when the new descriptor is active ( from select ) and gets back data to write to the terminal. * Updated gdbmi branch to compile with new interface * Implemented new interface in annotate-two-src * Getting driver to compile with new interface and moving to lib 02/24/2003 Bob Rossi * Fixing buffer support for line at a time input: Trying to get support for buffered commands to work with line at a time interface. * Removed legacy globals functions: Removed functions that were looking at what char's have been typed and making decisions from that. * Modified buffer package to take commands instead of char's: The buffer package now takes only full commands at a time. * Fixing gdbmi interface to work with new libtgdb interface. * Fixing tgdb_util to use ~/.tgdb/gdb_init as the startup file * Moved config file info into lib/ instead of annotate-two-src: I figured both annotate and gdbmi would need to know this information. 02/23/2003 Bob Rossi * Changed the Makefile's back to not using libtool: The new version of automake support making static libraries from files in multiple dirs. * Major re-write, tgdb takes a command at a time now: libtgdb now takes a command at a time. Instead of a char. * Removing states from data that checked for char's the user typed: This is because libtgdb now only accepts full commands. 02/19/2003 Bob Rossi * Changed commands.c to dynamically allocate memory from 'info sources': When the user wants a list of sources, libtgdb should now be able to handle as many source files as the program is made up of. There used to be a MAXLINE limit to the number of char's that 'info sources' could output. 02/16/2003 Bob Rossi * Reorganized libtgdb completly. Only 1 library is created now 02/12/2003 Bob Rossi * Reorganized tgdb to be able to interface with gdb in multiple ways: This means that annotate-two-src interfaces with older gdb's using annotate level 2. gdb-mi-src interfaces with gdb's that support mi. * Removed macro support from tgdb: It should be done from the application level not the library level. version 0.2.3 (01/30/2003): version 0.2.2 (01/23/2003): 01/22/2003 Bob Rossi * Changed tgdb, not halting when doing multiple line tab completion: Fix tgdb when interfacing with readline, if readline returns a '\r' then tgdb puts the prompt back otherwise, if readline issues a '\n' by doing tab completion that spans multiple lines then tgdb does not put the prompt back. Also, once any implicit '\n' is recieved then libtgdb will be ready to accept annotations. version 0.2.1 (01/19/2003): 01/18/2003 Bob Rossi * Changed control char input: Telling libtgdb which control chars the user can type that make it ok to start looking for an annotation even though the user did not type '\n'. * Changed interface of the io unit: Changed interface of I/O package. I initially made the functions return the char's they read and wrote and made '\0' be the error condition. However, it is of course possible to read the char '\0'. So, now the functions return an int with the error condition and take the char as a parameter. * Changed key input bug: If the user entered ^l, ^j, ^m ..., tgdb would not understand that the '\r' was from the annotation because the user never hit the '\n' key. This is now fixed by having the state_machine automatically say the user hit enter if readline returns a '\n' when the user is in USER_AT_PROMPT mode. 01/16/2003 Bob Rossi * Changed tgdb to not ignore \r's when a signal is caught: tgdb was ignoring carriage returns when a signal was caught while the user was interfacing with gdb. This would make it miss annotations. version 0.2 (01/13/2003): 01/05/2003 Bob Rossi * Changed tgdb to allow the gui to pick the debugger: They user can specify which debugger they want to use. "gdb" is given by default. 12/28/2002 Bob Rossi * Changed tgdb and cgdb to have support for one macro: To test out the macro support I have added the ability to run one macro. * Fixed bug in tgdb in unfilled buffer in buffer.c: When a buffer was not filled and it was returned, it was not null terminated. 12/27/2002 Bob Rossi * Changed tgdb to return an error SOURCES_DENIED when tgdb_get_sources: When the client tries to get a list of sources. The error SOURCES_DENIED is returned to indicate that the debugger (gdb) gave an error. This usually happens when the program was not compiled with debug. * Changed tgdb to return the filename that was denied when ABSOLUTE_SOURCE_DENIED is returned: When the clients requests the absolute filename of a file through tgdb_get_source_absolute_filename and gdb says the file does not exist, then the client gets that notification along with the name of the file. Previously they would just have gotten the notification. 12/23/2002 Bob Rossi * Changed tgdb to return errors through tgdb_err_msg: This function is now responsible for returning errors to the client. If a particular function in libtgdb fails, then this function must be called to get the error. However, the other tgdb functions still need to be modified to return the new error code ( -1 ) to allow the client to know that tgdb_err_msg needs to be called. 12/22/2002 Bob Rossi * Changed tgdb to add tgdb_tty_name: This function gets the name of the pseudo Terminal that tgdb uses to communicate with the debugged program. NO CHANGELOG NOTES HAVE BEEN ADDED BEFORE DATE ABOVE