Call nonl before wgetch in TUI
authorTom Tromey <tom@tromey.com>
Mon, 3 Sep 2018 21:23:48 +0000 (15:23 -0600)
committerTom Tromey <tom@tromey.com>
Sat, 6 Oct 2018 21:51:37 +0000 (15:51 -0600)
commit7a9569281a63e472750e3b7b481e2cdf5c931ed8
tree24ee6e5c881e52c52de13a530b0ce65b80447b06
parente04caa70901ed44eb9537ccdbd286fe9b0a46ce2
Call nonl before wgetch in TUI

PR tui/28819 points out that, in the TUI, the C-j and C-m keys cannot
be bound differently in one's ~/.inputrc.  However, this works in
other readline applications.

The bug is that the TUI uses curses' "nl" mode, which causes wgetch to
return the same value for both keys.  There is a "nonl" mode, but it
also affects output.

This patch fixes the bug by arranging to call nonl before reading a
key and then nl afterward.  This avoids any potential problem with
changing the output if gdb was to use nonl globally.

gdb/ChangeLog
2018-10-06  Tom Tromey  <tom@tromey.com>

PR tui/28819:
* tui/tui-io.c (gdb_wgetch): New function.
(tui_mld_getc, tui_getc): Use it.
gdb/ChangeLog
gdb/tui/tui-io.c