diff --git a/lib/readline.c b/lib/readline.c index d026af1..3d16c18 100644 --- a/lib/readline.c +++ b/lib/readline.c @@ -290,10 +290,18 @@ insert = !insert; break; case BB_KEY_ERASE_LINE: - case CTL_CH('u'): BEGINNING_OF_LINE(); ERASE_TO_EOL(); break; + case CTL_CH('u'): + wlen = eol_num - num; + memmove(buf, buf+num, wlen); + BEGINNING_OF_LINE(); + ERASE_TO_EOL(); + eol_num = wlen; + REFRESH_TO_EOL(); + BEGINNING_OF_LINE(); + break; case DEL: case BB_KEY_DEL7: case 8: