* tui.c (tui_show_source): Don't access current_source_symtab, use
accessor function instead. Include source.h and symtab.h
* tuiDisassem.c (tuiShowDisassemAndUpdateSource,
tuiVerticalDisassemScroll): Use accessor functions for current
source line and symtab. Include source.h.
* tuiLayout.c (_extractDisplayStartAddr): Use accessor functions
for current source line and symtab. Include source.h.
* tuiWin.c (_makeVisibleWithNewHeight): Ditto.
* tuiSourceWin.c (tuiUpdateSourceWindowAsIs,
tuiHorizontalSourceScroll): Ditto.
* tuiSource.c (tuiVerticalSourceScroll): Ditto.
(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.
(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.
(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.
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.
* 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.
(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.
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.
(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.
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.
* tuiStack.c (tuiClearLocatorDisplay): Remove.
(tuiShowLocatorContent): Use wclrtoeol to clear end of status line.
(tuiUpdateLocatorDisplay): Don't call tuiClearLocatorDisplay.
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.