Rewrite tui_puts
authorTom Tromey <tom@tromey.com>
Mon, 28 Sep 2020 02:30:30 +0000 (20:30 -0600)
committerTom Tromey <tom@tromey.com>
Mon, 28 Sep 2020 02:30:33 +0000 (20:30 -0600)
commit2c72d5e58a55d3e0f867ffd9421184852f051cb7
tree30777c30b8de39921bc12251304c487961f7cef1
parent35a982372fd63da7dd2811d6150b0c61236bbbb5
Rewrite tui_puts

This rewrites tui_puts.  It now writes as many bytes as possible in a
call to waddnstr, letting curses handle multi-byte sequences properly.

Note that tui_puts_internal remains.  It is needed to handle computing
the start line of the readline prompt, which is difficult to do
properly in the case where redisplaying can also cause the command
window to scroll.  This might be possible to implement by reverting to
single "character" output, by using mbsrtowcs for its side effects to
find character boundaries in the input.  I have not attempted this.

gdb/ChangeLog
2020-09-27  Tom Tromey  <tom@tromey.com>

PR tui/25342:
* tui/tui-io.c (tui_puts): Rewrite.  Move earlier.
gdb/ChangeLog
gdb/tui/tui-io.c