Commit graph

113 commits

Author SHA1 Message Date
Stephane Carrez
e3da6fc58a * tui.c (tui_rl_switch_mode): Remove unecessary TUI switch printfs.
(tui_initialize_readline): Allow to use space to leave SingleKey
	to enter one gdb command.
	(tui_enable): Restore the TUI keymap when we are back to TUI.
	(tui_disable): Restore normal keymap when leaving TUI.
	* tuiIO.c (tui_redisplay_readline): Restore the SingleKey mode
	when the buffer becomes empty and we are in tui_one_command_mode.
2002-09-13 20:06:56 +00:00
Stephane Carrez
bd9b0abf4e * tuiIO.c (tui_setup_io): rl_already_prompted must be cleared
when leaving TUI mode so that gdb prompt is displayed.
2002-09-13 19:47:21 +00:00
Stephane Carrez
a42a37b725 * tuiStack.c (tui_make_status_line): Make sure the local buffer
is large enough to hold the complete line.
2002-09-13 19:37:47 +00:00
Stephane Carrez
2b68e2c5b9 * tui-hooks.c (tui_event_loop): New function.
(tui_command_loop): New function to override gdb loop and make sure
	uiout is set according to TUI mode.
	(tui_command_loop): Install the specific TUI command hook.
	* tuiIO.c (tui_initialize_io): Initialize tui_old_uiout.
	(tui_uiout, tui_old_uiout): Make public.
	* tuiIO.h (tui_uiout, tui_old_uiout): Declare.
2002-09-10 19:59:31 +00:00
Stephane Carrez
8cee930b67 * tuiIO.c (tui_putc): New function to print one character.
(printable_part): New function from readline/complete.c.
	(PUTX): New macro, likewise.
	(print_filename): New function, likewise.
	(get_y_or_n): New function, likewise and adapted for TUI.
	(tui_rl_display_match_list): New function from readline/complete.c
	and writes on TUI command window.
	(tui_setup_io): Install or remove the readline hook
	rl_completion_display_matches_hook so that completion is written
	directly in TUI command window instead of in the TUI pipe.
	(tui_initialize_io): Use #ifdef TUI_USE_PIPE_FOR_READLINE for the
	TUI redirection pipe.
	(tui_getc): Likewise for call to tui_readline_output.
	(tui_readline_output): Likewise for function.
	* tui.c (tui_rl_startup_hook): Always take care of gdb prompt.
2002-09-03 20:47:48 +00:00
Stephane Carrez
770c90cdb5 * tuiWin.c (_newHeightOk): Fix compilation warnings. 2002-09-02 19:34:18 +00:00
Stephane Carrez
f020bed670 * tuiWin.c (_tuiAllWindowsInfo): Don't crash if the window
is not displayed.
2002-09-01 17:23:59 +00:00
Stephane Carrez
27229e9991 * tui-out.c (tui_out_new): Clear start_of_line.
* tuiSource.c (tuiVerticalSourceScroll): Use print_source_lines
	to update the current source line.
2002-09-01 16:12:52 +00:00
Stephane Carrez
cda8ab4048 * tui-hooks.c (tui_detach_hook): New hook to know when a process dies.
(tui_install_hooks): Install it.
	(tui_remove_hooks): Remove it.
2002-09-01 12:49:32 +00:00
Stephane Carrez
cb50eddded * tuiData.h (FILE_PREFIX): Don't define.
(blankStr, locationStr, breakStr): Don't declare.
	(breakLocationStr, nullStr, historyLimit, setHistoryLimitTo): Likewise.
	(displayableWinContentOf, displayableWinContentAt): Likewise.
	(winElementHeight, winByName, freeAllWindows): Likewise.

	* tuiData.c (blankStr, locationStr, breakStr): Remove.
	(breakLocationStr, nullStr, historyLimit, setHistoryLimitTo): Remove.
	(displayableWinContentOf, displayableWinContentAt): Remove.
	(winElementHeight, winByName, freeAllWindows): Remove.
2002-09-01 10:49:00 +00:00
Stephane Carrez
5026540224 * tuiStack.c (tui_make_status_line): New function to create the
status line.
	(tuiShowLocatorContent): Use it instead of displayableWinContentAt.
	* tuiData.h (PROC_PREFIX): Use "In:" to reduce length of prefix.
	(PC_PREFIX): Use upper case.
	(SINGLE_KEY, MIN_LINE_WIDTH, MIN_PROC_WIDTH): Define.
	(MAX_TARGET_WIDTH, MAX_PID_WIDTH): Define.
2002-09-01 10:20:48 +00:00
Stephane Carrez
6999695c60 * tuiSourceWin.h (tuiUpdateAllExecInfos): Don't declare.
(tuiClearAllExecInfosContent): Likewise.
	(tuiEraseAllExecInfosContent): Ditto.
	(tuiUpdateSourceWindowsFromLocator): Ditto.
	* tuiSourceWin.c (tuiUpdateAllExecInfos): Remove.
	* tui.h (tui_vCheckDataValues): Don't declare.
	(tui_vStartNewLines, tui_vAllSetHasBreakAt): Likewise.
	(tui_vUpdateLocatorFilename, tui_vUpdateSourceWindowsWithAddr): Ditto.
	(tui_vShowFrameInfo): Ditto.
2002-08-31 12:25:29 +00:00
Stephane Carrez
e09d2eba9e 2002-08-31 Stephane Carrez <stcarrez@nerim.fr>
* tui.c (tui_commands): Table of single key commands.
	(tui_rl_command_key): New function to execute gdb command.
	(tui_rl_command_mode): New function to temporarily leave SingleKey.
	(tui_rl_next_keymap): New function to enter/leave the SingleKey mode.
	(tui_rl_startup_hook): New function to avoid prompt display by
	readline functions.
	(tui_set_key_mode): New function to set the key mode and install
	the readline keymap.
	(tui_initialize_readline): Create TUI SingleKey readline map.
	(tui_enable): Install rl_startup_hook.
	(tui_disable): Remove it.
	* tui.h (enum tui_key_mode): Declare.
	(tui_set_key_mode, tui_current_key_mode): Declare.
	* tuiIO.c (tui_redisplay_readline): Don't display the prompt in
	SingleKey mode.
	* tuiIO.h (tui_redisplay_readline): Declare.
2002-08-31 12:02:14 +00:00
Stephane Carrez
00b90ae2d1 * tuiSourceWin.c (tuiSetIsExecPointAt): Redraw the previous and
current line.
2002-08-30 21:49:49 +00:00
Stephane Carrez
98427f3550 * tuiSource.c (tuiSetSourceContent): Remove old breakpoint code.
(_hasBreak): Remove.
	(tuiShowSource): Fix comment indentation.
	(tuiSourceIsDisplayed): Likewise.
	(tuiVerticalSourceScroll): Likewise.
2002-08-30 20:23:34 +00:00
Stephane Carrez
00b2bad465 * tuiSourceWin.h (tui_update_all_breakpoint_info): Declare.
(tui_update_breakpoint_info): Declare.
	(tuiSetHasBreakAt, tuiAllSetHasBreakAt): Remove.

	* tuiSourceWin.c (tuiUpdateSourceWindowAsIs): Update breakpoint
	information using tui_update_breakpoint_info.
	(tui_update_all_breakpoint_info): New function to refresh all
	execution windows.
	(tui_update_breakpoint_info): New function to recompute the status
	of exec info window from breakpoints.
	(tuiSetHasBreakAt, tuiAllSetHasBreakAt): Remove.
	(tuiSetExecInfoContent): Use the exec info flags computed by
	tui_update_breakpoint_info to display a short status about breakpoints.

	* tuiData.h (TuiExecInfoContent): New for exec info string.
	(TuiWhichElement): Use it.
	(TUI_BP_ENABLED, TUI_BP_DISABLED, TUI_BP_HIT): New defines.
	(TUI_BP_CONDITIONAL, TUI_BP_HARDWARE): New defines.
	(TUI_BP_HIT_POS, TUI_BP_BREAK_POS, TUI_EXEC_POS): Likewise.
	(TUI_EXECINFO_SIZE): Likewise.
	* tuiData.c (initContentElement): Clear exec info string.

	* tui-hooks.c (get_breakpoint): Remove.
	(tui_event_create_breakpoint): Call tui_update_all_breakpoint_info.
	(tui_event_delete_breakpoint): Likewise.
	(tui_event_modify_breakpoint): Likewise.
2002-08-30 20:07:05 +00:00
Stephane Carrez
77cad3ba61 * tui.c (tuiGetLowDisassemblyAddress): Moved from here.
* tuiDisassem.c (tuiGetLowDisassemblyAddress): To here, and use
	tui_find_disassembly_address to find the starting address of
	disassemble window.
2002-08-28 20:33:27 +00:00
Stephane Carrez
aec2f747a8 * tuiDisassem.c (tui_disassemble): New function to disassemble
several lines in a buffer.
	(tui_find_disassembly_address): New function to search backward
	or forward a disassembly line.
	(tuiSetDisassemContent): Use tui_disassemble to obtain the real
	content and format it in the window.
	(tuiShowDisassemAndUpdateSource): Remove unused locals.
	(tuiVerticalDisassemScroll): Use tui_find_disassembly_address to
	obtain the address to disassemble for the scrolling.
	* tuiDisassem.h (tuiGetBeginAsmAddress): Update.
	* tuiSourceWin.c (tuiUpdateSourceWindowAsIs): Don't pass symtab.
2002-08-27 21:59:49 +00:00
Stephane Carrez
ec6f88920b * tuiIO.c (CTRL_CHAR): Redefine and use readline 4.3 definition. 2002-08-27 20:58:27 +00:00
Stephane Carrez
1533ce99dd Fix PR gdb/393:
* tui.c (tui_disable): Update gdb's knowledge of its terminal
	using target_terminal_save_ours.
	(tui_enable): Likewise.
2002-08-26 19:35:37 +00:00
Stephane Carrez
6ba6ffa237 * tui.c (tui_rl_switch_mode): Renames tui_switch_mode.
(tui_rl_change_windows): Renames tui_change_windows.
	(tui_rl_delete_other_windows): Renames tui_delete_other_windows.
	(tui_initialize_readline): Update.
2002-08-25 21:44:41 +00:00
Stephane Carrez
f8b6fe0970 * tuiDisassem.c (tuiSetDisassemContent): Use breakpoint_here_p.
(_hasBreak): Remove.
2002-08-25 19:54:56 +00:00
Stephane Carrez
0510ab860e * tuiDisassem.c (tuiGetBeginAsmAddress): Use lookup_minimal_symbol
to find symbol address.
2002-08-25 19:39:45 +00:00
Stephane Carrez
1f393769d4 * tuiSourceWin.c (tui_display_main): Rename from tuiDisplayMainFunction
and use tuiGetBeginAsmAddress.
	* tuiSourceWin.h (tui_display_main): Declare.
	* tui.h (tuiDisplayMainFunction): Remove.
	* tui-hooks.c (tui_new_objfile_hook): Update.
2002-08-25 19:19:50 +00:00
Stephane Carrez
74e70df6b6 * tuiSource.h (m_tuiShowSourceAsIs): Remove macro.
(tuiShowSourceAsIs): Don't declare.
2002-08-25 18:58:58 +00:00
Stephane Carrez
90949d06a3 * tui-hooks.c (tui_selected_frame_level_changed_hook): Always update
the frame position.
2002-08-25 18:42:32 +00:00
Stephane Carrez
7d6dd1e97d * tuiStack.c (tuiSetLocatorContent): Remove.
(tuiUpdateLocatorInfoFromFrame): Remove.
	(tui_set_locator_info): Allocate the content buffer if necessary.
	(tui_set_locator_filename): Call tui_set_locator_info directly.
	(tuiShowFrameInfo): Likewise and use find_pc_line instead of
	find_pc_symtab.
2002-08-25 17:13:29 +00:00
Stephane Carrez
2e17b76385 * tuiSourceWin.c (tuiDisplayMainFunction): Update to use
tuiUpdateLocatorFilename.
	* tuiStack.c (tuiSetLocatorInfo): Make it static.
	(tuiSetLocatorContent): Likewise.
	(tuiUpdateLocatorInfoFromFrame): Likewise.
	(tuiSwitchFilename): Remove.
	(tui_set_locator_filename): New function
	(tui_set_locator_info): Rename from tuiSetLocatorInfo to GNU-ify;
	use tui_set_locator_filename to record the filename.
	(tuiUpdateLocatorFilename): Likewise.
	(tuiUpdateLocatorInfoFromFrame): Update.
	(tuiSetLocatorContent): Likewise.
	* tuiStack.h (tuiClearLocatorContent): Don't declare.
	(tuiSetLocatorInfo, tuiSetLocatorContent): Likewise.
	(tuiUpdateLocatorInfoFromFrame, tuiSwitchFilename): Likewise.
2002-08-25 13:13:20 +00:00
Stephane Carrez
bc6b7f04ca * tuiSourceWin.c (tuiSetHasBreakAt): Use filename for breakpoint
comparison; cleanup.
	* tuiSource.c (tuiSetSourceContent): Set window title and filename.
	* tuiGeneralWin.c (boxWin): Print optional title on top of window.
	* tuiData.h (TuiSourceInfo): Add filename member.
	(TuiGenWinInfo): Add title member.
	* tuiData.c (initGenericPart): Clear title.
	(freeWindow): Free title and filename; remove unused locals.
	(initWinInfo): Clear filename.
	(tuiDelWindow): Free it; remove unused locals.
2002-08-25 11:00:46 +00:00
Stephane Carrez
d059f789de * tuiStack.h (tuiGetLocatorFilename): Don't declare.
(tuiUpdateLocatorDisplay): Likewise.
	* tuiStack.c (tuiGetLocatorFilename): Remove.
	(tuiShowFrameInfo): Use tuiSetLocatorContent and tuiShowLocatorContent
	instead of tuiUpdateLocatorDisplay.
	(tuiUpdateLocatorDisplay): Remove.
2002-08-25 10:04:08 +00:00
Stephane Carrez
3a42771a8e * tuiStack.h (tuiClearLocatorDisplay): Don't declare.
* tuiStack.c (tuiClearLocatorDisplay): Remove.
	(tuiShowLocatorContent): Use wclrtoeol to clear end of status line.
	(tuiUpdateLocatorDisplay): Don't call tuiClearLocatorDisplay.
2002-08-25 09:53:27 +00:00
Stephane Carrez
5564c76952 * tuiStack.c (tui_get_function_from_frame): Rename from
_getFuncNameFromFrame; use print_address_symbolic to get symbolic
	name of address.
	(tuiUpdateLocatorInfoFromFrame): Update.
2002-08-25 09:40:32 +00:00
Stephane Carrez
bc77de56b6 * tuiRegs.c (tuiDisplayRegistersFrom): Remove unused locals.
(_tuiRegisterFormat, _tuiSetSpecialRegsContent): Likewise.
	(_tuiSetGeneralAndSpecialRegsContent): Likewise.
	(_tuiSetFloatRegsContent): Likewise.
	(_tuiRegisterName): Return a const char*.
	* tuiData.h (_TuiDataElement): Use const char* for name.
2002-08-25 09:12:36 +00:00
Stephane Carrez
335fc5a319 * tuiSourceWin.h (tuiEraseAllSourceContent): Don't declare.
(tuiShowAllExecInfosContent): Likewise.
	* tuiSourceWin.c (tuiEraseAllSourceContent): Remove.
	(tuiShowAllExecInfosContent): Remove.
	(tuiAllocSourceBuffer): Remove unused locals.
2002-08-25 08:44:44 +00:00
Stephane Carrez
7563e053c3 * tuiStack.c (tui_update_command): Rename _tuiUpdateLocation_command
to follow other gdb's command names; use execute_command; cleanup.
	(_initialize_tuiStack): Update.
2002-08-25 08:22:58 +00:00
Stephane Carrez
b7a60de68b * tuiWin.h (tui_update_gdb_sizes): Declare. 2002-08-25 07:56:01 +00:00
Stephane Carrez
297d160777 * tui.c (strcat_to_buf): Use const char* for source item.
(tui_enable): Update the windows if there is a selected frame.
	* tui.h (strcat_to_buf): Update prototype.
	(strcat_to_buf_with_fmt): Remove.
2002-08-24 17:04:33 +00:00
Stephane Carrez
3e752b0491 * tuiWin.c (tui_update_gdb_sizes): New function to tell gdb what
is the size of command window.
	(tuiResizeAll): Call it instead of init_page_info.
	* tui.c (tui_enable): Call it to resize to TUI command window.
	(tui_disable): Likewise for plain screen.
2002-08-24 16:43:08 +00:00
Stephane Carrez
c7037be10d * tui.c (tui_enable): Use tuiSetLayout instead of showLayout and
use tuiShowFrameInfo instead of tuiSetLocatorContent.
	* tuiLayout.h (showLayout): Remove.
	* tuiLayout.c (_showSourceOrDisassemAndCommand): Remove unused locals.
	(_showSourceDisassemCommand): Likewise.
	(showLayout): Make it static.
	(lastLayout): Remove.
2002-08-24 15:25:25 +00:00
Stephane Carrez
bc712bbf17 * tuiSourceWin.c (tui_show_source_line): New function.
(tuiShowSourceContent): Call it and avoid clearing the window before
	redrawing it.
	(tuiClearAllSourceWinsContent): Remove.
	* tuiSourceWin.h (tuiClearAllSourceWinsContent): Don't declare.
	* tuiWin.h (tuiClearWinFocus, tuiClearWinFocusFrom): Don't declare.
	* tuiWin.c (tuiClearWinFocus, tuiClearWinFocusFrom): Remove.
	(tuiRefreshAll): Don't clear the window.
	(_makeVisibleWithNewHeight): Don't clear locator line.
	(tuiResizeAll): Remove unused locals.
	(_tuiAdjustWinHeights): Likewise.
	(_makeInvisibleAndSetNewHeight): Likewise.
	(_newHeightOk): Likewise.
	* tuiLayout.c (showLayout): Don't clear source windows.
	(tuiSetLayout): Don't clear the window.
	(_initAndMakeWin): Likewise for status line.
	* tuiGeneralWin.c (makeVisible): Don't clear or refresh the window.
	(makeWindow): Likewise.
	(tuiClearWin): Remove.
	* tuiGeneralWin.h (tuiClearWin): Don't declare.
2002-08-24 12:28:33 +00:00
Stephane Carrez
e9ae5755d3 * tuiSourceWin.c (tuiSrcWinIsDisplayed): Remove.
(tuiAsmWinIsDisplayed): Remove.
	(tuiShowAllSourceWinsContent): Remove.
	(tuiUpdateOnEnd): Remove.
	* tuiGeneralWin.c (scrollWinForward): Remove.
	(scrollWinBackward): Remove.
	(_winResize): Don't declare.
	* tui.h (tuiUpdateOnEnd): Don't declare.
	(vcatch_errors, va_catch_errors): Likewise.
	* tuiSourceWin.h (tuiUpdateOnEnd): Likewise.
	(tuiShowAllSourceWinsContent): Likewise.
	* tuiGeneralWin.h (scrollWinForward): Likewise.
	(scrollWinBackward): Likewise.
2002-08-24 10:15:54 +00:00
Stephane Carrez
ad0fd2c861 * tuiRegs.c (_tuiRegisterFormat): Use gdbarch_print_registers_info. 2002-08-24 09:43:30 +00:00
Daniel Jacobowitz
6d7fbb5a8b Fix PR gdb/655
* tui.c: Disable <termio.h> include.
2002-08-18 23:20:47 +00:00
Andrew Cagney
349c5d5f6c * defs.h (XMALLOC): Define.
* gdb-events.sh (XMALLOC): Delete macro.
* gdb-events.c, gdb-events.h: Regenerate.
* gdbarch.sh (XMALLOC): Delete macro.
* gdbarch.c: Regenerate.
* serial.c (XMALLOC): Delete macro.
* ui-file.c (XMALLOC): Ditto.
* ser-unix.h (XMALLOC): Ditto.
* sh-tdep.c (XMALLOC): Ditto.
* ui-out.c (XMALLOC): Ditto.
* utils.c (XMALLOC): Ditto.
* i386-tdep.c (XMALLOC): Ditto.
* gdb-events.c (XMALLOC): Ditto.
* d10v-tdep.c (XMALLOC): Ditto.
* cli-out.c (XMALLOC): Ditto.

* cli-out.c, d10v-tdep.c, gdb-events.c: Update copyright.
* gdb-events.sh, i386-tdep.c, ser-unix.h, serial.c: Ditto.
* ui-file.c, ui-out.c: Ditto.
2002-03-19 02:51:09 +00:00
Andrew Cagney
f33c6cbfe5 Add FIXME explaining include problem. 2002-03-01 06:19:28 +00:00
Daniel Jacobowitz
4e8f7a8b27 2002-02-08 Daniel Jacobowitz <drow@mvista.com>
* utils.c: Include <curses.h> before "bfd.h".
        * tui/tui-hooks.c: Likewise.
        * tui/tui.c: Likewise.
        * tui/tuiCommand.c: Likewise.
        * tui/tuiData.c: Likewise.
        * tui/tuiDataWin.c: Likewise.
        * tui/tuiDisassem.c: Likewise.
        * tui/tuiGeneralWin.c: Likewise.
        * tui/tuiIO.c: Likewise.
        * tui/tuiLayout.c: Likewise.
        * tui/tuiRegs.c: Likewise.
        * tui/tuiSource.c: Likewise.
        * tui/tuiSourceWin.c: Likewise.
        * tui/tuiStack.c: Likewise.
        * tui/tuiWin.c: Likewise.
2002-02-08 15:54:32 +00:00
Andrew Cagney
e00d1dc8a5 s/NO_FUNCTION/NULL/ 2002-02-02 00:56:37 +00:00
Andrew Cagney
fd0407d670 Add explicit #include of "value.h". 2001-10-21 17:19:38 +00:00
Tom Tromey
7cacb6a3a7 * tuiLayout.h (tui_set_layout): Don't declare.
* tui.h (tui_vAddWinToLayout): Don't declare.
	(tui_vSetLayoutTo): Likewise.
	(tui_set_layout): Declare.
2001-09-28 17:39:09 +00:00
Eli Zaretskii
b5de0fa741 The following changes avoid polluting global namespace with the
`enable' and `disable' identifiers, because some platforms define
	in their system headers symbols with global scope that go by those
	names.

	* breakpoint.h (enum enable_state): Rename from `enum enable'.
	Also rename all the enum members to have the "bp_" prefix.
	(struct breakpoint): Rename the `enable' member to `enable_state'.
	(enum bpdisp): Rename all members to have the "disp_" prefix.

	* breakpoint.c: All users of `enum enable' and `enum bpdisp'
	changed.
	(args_for_catchpoint_enable): Rename the `enable' member to
	`enable_p'.  All users changed.

	* tracepoint.h (enum enable): Remove.
	(struct tracepoint): The member `enabled' is now `int enabled_p'.

	* tracepoint.c: All users of the `enabled' member changed.

	* printcmd.c (struct display): The `status' member is now an int.

	* memattr.h (struct mem_region): Rename the `status' member to
	`enabled_p'.
	(enum enable): Remove.

	* memattr.c: Change all users of the `status' member of struct
	mem_region to use `enabled_p' instead.

	* infcmd.c (run_stack_dummy): Use disp_del instead of del.

	* go32-nat.c: Remove the kludgey work-around for conflicts between
	<dos.h> and "breakpoint.h".
	* tui/tuiSourceWin.c: Use disp_del instead of del.

	* tui/tuiSource.c: Use disp_del instead of del.

	* tui/tuiDisassem.c: Use disp_del instead of del.
2001-08-02 11:58:29 +00:00