GNU bug report logs -
#35464
[PATCH] Refactor update_window_begin and update_window_end hooks
Previous Next
Reported by: Alex Gramiak <agrambot <at> gmail.com>
Date: Sat, 27 Apr 2019 21:45:03 UTC
Severity: normal
Tags: patch
Merged with 35463
Done: Alex Gramiak <agrambot <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:
> 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.
It seems that it's needed (see commit 96e78d1fb) for both X and W32, so
I wouldn't be surprised if NS needs the change as well, or, at least, if
it doesn't matter for that port.
>> @@ -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.
Done.
> 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.
A gui_term.c might be beneficial in the future, but I'm not sure it
should be the place for RIF procedures like these. I attached an updated
patch that currently puts them in terminal.c (beside update_begin and
update_end), but I think a better place would be to put them beside
update_window in dispnew.c. WDYT?
[0001-Refactor-update_window_begin-and-update_window_end-h.patch (text/x-patch, attachment)]
This bug report was last modified 6 years and 78 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.