[PATCH v3 0/5] kdb: Cleanup code to read user input and handle escape sequences

From: Daniel Thompson
Date: Mon Oct 14 2019 - 11:46:33 EST

I've been meaning to repost this for some time, and inspired by
having someone keen to review it, I dug it out again!

I split this as carefully as I could into small pieces but the original
code was complex so even in small bits it doesn't make for light
reading. Things do make more sense once you realize/remember that
escape_delay is a count down timer that expires the escape sequences!

Most of the patches are simple tidy ups although patches 4 and 5
introduce new behaviours. Patch 4 shouldn't be controversial but
perhaps patch 5 is (although hopefully not ;-) ).

Mostly this is auto tested, see here:

Changes in v3:

- Accepted all review comments from Doug (except the return type
of kdb_getchar() as discussed in the mail threads). In particular
this fixes a bug in the handling of the btaprompt.
- Added Doug's reviewed-by to patches 1 and 2.

Changes in v2:

- Improve comment in patch 4 to better describe what is happening
- Rebase on v5.4-rc2

Daniel Thompson (5):
kdb: Tidy up code to handle escape sequences
kdb: Simplify code to fetch characters from console
kdb: Remove special case logic from kdb_read()
kdb: Improve handling of characters from different input sources
kdb: Tweak escape handling for vi users

kernel/debug/kdb/kdb_bt.c | 22 ++--
kernel/debug/kdb/kdb_io.c | 229 ++++++++++++++++-----------------
kernel/debug/kdb/kdb_private.h | 1 +
3 files changed, 123 insertions(+), 129 deletions(-)