[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#35464: [PATCH] Refactor update_window_begin and update_window_end ho
From: |
Eli Zaretskii |
Subject: |
bug#35464: [PATCH] Refactor update_window_begin and update_window_end hooks |
Date: |
Sun, 28 Apr 2019 19:45:22 +0300 |
> From: Alex Gramiak <agrambot@gmail.com>
> Date: Sat, 27 Apr 2019 15:28:49 -0600
>
> 1) Is it okay to not use reset_mouse_highlight in the generic version
> (ns_update_window_end still uses it)? See commit 60ae3d09932f for why
> reset_mouse_highlight was removed in the x/w32 versions.
Don't know, the problem was specific to X. I think we should leave
the code there, the NS port has enough redisplay problems already.
> 2) Should the #if 0 section be removed in w32_update_window_begin?
Yes, I think we can remove that.
> @@ -13145,8 +13069,8 @@ static struct redisplay_interface
> x_redisplay_interface =
> gui_clear_end_of_line,
> x_scroll_run,
> x_after_update_window_line,
> - x_update_window_begin,
> - x_update_window_end,
> + gui_update_window_begin,
> + gui_update_window_end,
> x_flip_and_flush,
> gui_clear_window_mouse_face,
> gui_get_glyph_overhangs,
This looks like a step in the wrong direction to me: the different
implementations are all almost completely identical, except that w32
has a small quirk there. So I'd say make a single function
window_update_begin, that will be called directly (not via a hook
pointer), and make the w32 part be an optional hook called only if
non-NULL.
Also, please don't add gui_* functions extracted from the *term.c
files in xdisp.c, as that file is already too large. Renaming
existing functions in xdisp.c is OK, as well as adding static utility
functions. But for new gui_* functions that were originally in
xterm.c etc., I'd prefer a new file, let's call it gui_term.c.
Thanks.