From: Darrick J. Wong <djwong@xxxxxxxxxx> Prior to xfsprogs 5.7.0, we built xfsprogs with libreadline support by default. In its default configuration, that library interpreted various keystrokes in a direct manner (e.g. backspace deletes the character to the left of the cursor), which seems consistent with how emacs behaves. However, libeditline's default keybindings are consistent with vim, which means that suddenly users are presented with not the same line editing interface that they had before. Since libeditline is configurable (put "bind -v" in editrc if you really want vim mode), let's put things back the way they were. At least as much as we can. Fixes: bbe12eb9 ("xfsprogs: remove libreadline support") Signed-off-by: Darrick J. Wong <djwong@xxxxxxxxxx> Reviewed-by: Christoph Hellwig <hch@xxxxxx> --- db/input.c | 1 + libxcmd/input.c | 1 + 2 files changed, 2 insertions(+) diff --git a/db/input.c b/db/input.c index 448e84b0..d8113599 100644 --- a/db/input.c +++ b/db/input.c @@ -227,6 +227,7 @@ fetchline(void) el_set(el, EL_SIGNAL, 1); el_set(el, EL_PROMPT, el_get_prompt); el_set(el, EL_HIST, history, (const char *)hist); + el_set(el, EL_EDITOR, "emacs"); } if (inputstacksize == 1) { diff --git a/libxcmd/input.c b/libxcmd/input.c index e3fa626a..fa80e5ab 100644 --- a/libxcmd/input.c +++ b/libxcmd/input.c @@ -45,6 +45,7 @@ fetchline(void) el_set(el, EL_SIGNAL, 1); el_set(el, EL_PROMPT, el_get_prompt); el_set(el, EL_HIST, history, (const char *)hist); + el_set(el, EL_EDITOR, "emacs"); } cmd = el_gets(el, &count); if (!cmd)