Commit c58ff643 authored by Daniel Thompson's avatar Daniel Thompson

kdb: Tweak escape handling for vi users

Currently if sequences such as "\ehelp\r" are delivered to the console then
the h gets eaten by the escape handling code. Since pressing escape
becomes something of a nervous twitch for vi users (and that escape doesn't
have much effect at a shell prompt) it is more helpful to emit the 'h' than
the '\e'.

We don't simply choose to emit the final character for all escape sequences
since that will do odd things for unsupported escape sequences (in
other words we retain the existing behaviour once we see '\e[').
Signed-off-by: default avatarDaniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20191025073328.643-6-daniel.thompson@linaro.org
parent cdca8d89
...@@ -163,8 +163,8 @@ char kdb_getchar(void) ...@@ -163,8 +163,8 @@ char kdb_getchar(void)
*pbuf++ = key; *pbuf++ = key;
key = kdb_handle_escape(buf, pbuf - buf); key = kdb_handle_escape(buf, pbuf - buf);
if (key < 0) /* no escape sequence; return first character */ if (key < 0) /* no escape sequence; return best character */
return buf[0]; return buf[pbuf - buf == 2 ? 1 : 0];
if (key > 0) if (key > 0)
return key; return key;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment