vi: restore capability to remember insertion cmds for "."
function old new delta modifying_cmds 17 22 +5 get_one_char 103 98 -5 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 5/-5) Total: 0 bytes text data bss dec hex filename 982121 485 7296 989902 f1ace busybox_old 982094 485 7296 989875 f1ab3 busybox_unstripped Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
11
editors/vi.c
11
editors/vi.c
@@ -244,9 +244,7 @@ enum {
|
|||||||
|
|
||||||
#if ENABLE_FEATURE_VI_DOT_CMD || ENABLE_FEATURE_VI_YANKMARK
|
#if ENABLE_FEATURE_VI_DOT_CMD || ENABLE_FEATURE_VI_YANKMARK
|
||||||
// cmds modifying text[]
|
// cmds modifying text[]
|
||||||
// vda: removed "aAiIs" as they switch us into insert mode
|
static const char modifying_cmds[] ALIGN1 = "aAcCdDiIJoOpPrRs""xX<>~";
|
||||||
// and remembering input for replay after them makes no sense
|
|
||||||
static const char modifying_cmds[] ALIGN1 = "cCdDJoOpPrRxX<>~";
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
@@ -1053,8 +1051,11 @@ static int get_one_char(void)
|
|||||||
}
|
}
|
||||||
// we are adding STDIN chars to q.
|
// we are adding STDIN chars to q.
|
||||||
c = readit();
|
c = readit();
|
||||||
if (lmc_len >= MAX_INPUT_LEN - 1) {
|
if (lmc_len >= ARRAY_SIZE(last_modifying_cmd) - 1) {
|
||||||
status_line_bold("last_modifying_cmd overrun");
|
// last_modifying_cmd[] is too small, can't remeber the cmd
|
||||||
|
// - drop it
|
||||||
|
adding2q = 0;
|
||||||
|
lmc_len = 0;
|
||||||
} else {
|
} else {
|
||||||
last_modifying_cmd[lmc_len++] = c;
|
last_modifying_cmd[lmc_len++] = c;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user