public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 00/61] More TUI refactorings
@ 2019-07-04 17:03 Tom Tromey
  2019-07-04 17:03 ` [PATCH 34/61] Remove TUI data window special case Tom Tromey
                   ` (61 more replies)
  0 siblings, 62 replies; 70+ messages in thread
From: Tom Tromey @ 2019-07-04 17:03 UTC (permalink / raw)
  To: gdb-patches

Here is another series of TUI cleanups.  It covers several things.

I made an attempt to remove most of the uses of the TUI_*_WIN globals,
and to remove explicit checks of window types.  I think this is
important if we want to be able to easily add new types of windows:
the core code should be able to manipulate windows without regard to
their exact contents.

This transformation isn't complete, but this series takes it pretty
far, with many of the remaining uses being in the layout code (mainly
tui-layout.c, but also other files) -- which, if we're going to add
new windows types, is going to need to be rewritten anyhow.  (Also,
even once this is all done, I suspect the command window will always
be a singleton with special code here and there in the TUI anyhow.)

This series also simplifies window creation and management.  By the
end of the series, init_and_make_win is completely gone, replaced with
ordinary uses of "new" at the appropriate spots.  These transforms
make this code much simpler to understand, IMO.

The TUI source code is also rearranged somewhat.  In particular, by
the end of the series, the declaration for a window class is in the
appropriate .h file (that is, most are moved out of tui-data.h), and
all the methods for a given class are grouped into a single .c file.

A couple of small bugs have been fixed in this series.  See the patch
"Fix flushing bug in tui_puts_internal" and also "Remove deleted
breakpoint from TUI display".

Finally, the series contains a fair amount of trivia, just random
little things I noticed while working on the code.

In some cases this series introduces functions, only to remove them
some patches later.  This is a side effect of how I wrote the patches,
but TBH I think it makes each individual patch more clear -- bundling
the two patches together would make the result less obviously correct.

I've tested this as well as I could.  You may want to give it a try,
though.  It is on the "t/tui-rewrite" branch in my github.

Tom


^ permalink raw reply	[flat|nested] 70+ messages in thread

end of thread, other threads:[~2019-07-22 11:57 UTC | newest]

Thread overview: 70+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-04 17:03 [PATCH 00/61] More TUI refactorings Tom Tromey
2019-07-04 17:03 ` [PATCH 34/61] Remove TUI data window special case Tom Tromey
2019-07-04 17:03 ` [PATCH 29/61] Remove UNDEFINED_ITEM define from TUI Tom Tromey
2019-07-04 17:03 ` [PATCH 17/61] Parameterize tui_show_register_group with window Tom Tromey
2019-07-04 17:03 ` [PATCH 32/61] Merge refresh and refresh_window methods Tom Tromey
2019-07-04 17:03 ` [PATCH 21/61] Fix comment typos Tom Tromey
2019-07-04 17:03 ` [PATCH 08/61] Introduce tui_data_window::first_reg_element_no_inline Tom Tromey
2019-07-04 17:03 ` [PATCH 16/61] Introduce tui_data_window::display_reg_element_at_line method Tom Tromey
2019-07-04 17:03 ` [PATCH 18/61] Simplify tui_show_registers Tom Tromey
2019-07-04 17:03 ` [PATCH 36/61] Always create an execution info window for a source window Tom Tromey
2019-07-04 17:03 ` [PATCH 11/61] Introduce tui_data_window::display_all_data method Tom Tromey
2019-07-04 17:03 ` [PATCH 28/61] Remove unused TUI defines Tom Tromey
2019-07-04 17:03 ` [PATCH 25/61] Move content_in_use to tui_source_window class Tom Tromey
2019-07-04 17:03 ` [PATCH 14/61] Introduce tui_data_window::erase_data_content method Tom Tromey
2019-07-04 17:03 ` [PATCH 33/61] Remove tui_set_focus Tom Tromey
2019-07-04 17:03 ` [PATCH 07/61] Introduce tui_data_window::line_from_reg_element_no method Tom Tromey
2019-07-04 17:03 ` [PATCH 13/61] Introduce tui_data_window::delete_data_content_windows method Tom Tromey
2019-07-17 12:36   ` Pedro Alves
2019-07-17 18:26     ` Tom Tromey
2019-07-04 17:03 ` [PATCH 06/61] Introduce tui_data_window::last_regs_line_no method Tom Tromey
2019-07-04 17:03 ` [PATCH 37/61] Introduce reset_locator function in tui-layout.c Tom Tromey
2019-07-04 17:03 ` [PATCH 27/61] Remove unused parameter from two TUI functions Tom Tromey
2019-07-04 17:03 ` [PATCH 22/61] Make source windows be self-updating Tom Tromey
2019-07-04 17:03 ` [PATCH 23/61] Remove tui_set_win_height Tom Tromey
2019-07-04 17:03 ` [PATCH 03/61] Remove some uses of TUI_WIN_SRC Tom Tromey
2019-07-04 17:03 ` [PATCH 40/61] Change tui_set_layout to return void Tom Tromey
2019-07-04 17:03 ` [PATCH 15/61] Introduce two more tui_data_window methods Tom Tromey
2019-07-04 17:03 ` [PATCH 02/61] Check can_highlight in tui_check_and_display_highlight_if_needed Tom Tromey
2019-07-04 17:03 ` [PATCH 24/61] Introduce tui_source_window_base::location_matches_p method Tom Tromey
2019-07-17 12:37   ` Pedro Alves
2019-07-04 17:03 ` [PATCH 12/61] Don't declare unimplemented functions Tom Tromey
2019-07-04 17:03 ` [PATCH 09/61] Remove tui_display_data_from_line Tom Tromey
2019-07-04 17:03 ` [PATCH 20/61] Introduce TUI window iterator Tom Tromey
2019-07-04 17:03 ` [PATCH 01/61] Introduce can_scroll method Tom Tromey
2019-07-04 17:03 ` [PATCH 31/61] Remove tui_source_window::content_in_use Tom Tromey
2019-07-04 17:03 ` [PATCH 04/61] Consolidate "if"s in tui_show_frame_info Tom Tromey
2019-07-04 17:04 ` [PATCH 10/61] Remove tui_display_data_from Tom Tromey
2019-07-04 17:04 ` [PATCH 42/61] Simplify show_source_disasm_command Tom Tromey
2019-07-04 17:04 ` [PATCH 26/61] Add win_info parameter to tui_set_disassem_content Tom Tromey
2019-07-04 17:04 ` [PATCH 55/61] Move TUI data item window to tui-regs.h Tom Tromey
2019-07-04 17:04 ` [PATCH 60/61] Fix an error in parse_scrolling_args Tom Tromey
2019-07-04 17:04 ` [PATCH 54/61] Move TUI command window code Tom Tromey
2019-07-04 17:04 ` [PATCH 57/61] Move tui_source_window to tui-source.h Tom Tromey
2019-07-04 17:04 ` [PATCH 38/61] Remove the win_type parameter from tui_gen_win_info::reset Tom Tromey
2019-07-04 17:04 ` [PATCH 41/61] Clean up tui_layout_command Tom Tromey
2019-07-04 17:04 ` [PATCH 49/61] Remove tui_make_visible and tui_make_invisible Tom Tromey
2019-07-04 17:04 ` [PATCH 05/61] Remove deleted breakpoint from TUI display Tom Tromey
2019-07-04 17:04 ` [PATCH 56/61] Move tui_disasm_window to tui-disasm.h Tom Tromey
2019-07-04 17:04 ` [PATCH 52/61] Rearrange TUI data window code Tom Tromey
2019-07-04 17:04 ` [PATCH 53/61] Move tui_dispatch_ctrl_char to tui-io.c Tom Tromey
2019-07-04 17:04 ` [PATCH 58/61] Change make_invisible_and_set_new_height to be a method Tom Tromey
2019-07-22 11:57   ` clang build-regression [Re: [PATCH 58/61] Change make_invisible_and_set_new_height to be a method] Jan Kratochvil
2019-07-04 17:04 ` [PATCH 61/61] Remove unnecessary "return"s Tom Tromey
2019-07-17 12:37   ` Pedro Alves
2019-07-04 17:04 ` [PATCH 46/61] Remove make_command_window Tom Tromey
2019-07-04 17:04 ` [PATCH 30/61] Simplify source window clearing Tom Tromey
2019-07-04 17:04 ` [PATCH 35/61] Remove some dead code from tui_set_layout Tom Tromey
2019-07-04 17:04 ` [PATCH 39/61] Remove reset_locator Tom Tromey
2019-07-04 17:04 ` [PATCH 45/61] Simplify show_source_or_disasm_and_command Tom Tromey
2019-07-04 17:04 ` [PATCH 43/61] Simplify tui_gen_win_info::make_visible Tom Tromey
2019-07-04 17:04 ` [PATCH 44/61] Change tui_get_register to return void Tom Tromey
2019-07-04 17:04 ` [PATCH 48/61] Remove make_data_window Tom Tromey
2019-07-04 17:04 ` [PATCH 51/61] Fix flushing bug in tui_puts_internal Tom Tromey
2019-07-17 12:37   ` Pedro Alves
2019-07-04 17:04 ` [PATCH 19/61] Minor tui_reg_next / tui_reg_prev cleanup Tom Tromey
2019-07-04 17:04 ` [PATCH 59/61] Move source window common to code to tui-winsource.[ch] Tom Tromey
2019-07-04 17:26 ` [PATCH 47/61] Remove make_source_window and make_disasm_window Tom Tromey
2019-07-04 17:26 ` [PATCH 50/61] Remove has_locator method Tom Tromey
2019-07-17 12:41 ` [PATCH 00/61] More TUI refactorings Pedro Alves
2019-07-17 18:35   ` Tom Tromey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).