From 96e75396e1b322d354f5418f9947d26be47ef0e0 Mon Sep 17 00:00:00 2001 From: Jilles Tjoelker Date: Fri, 3 Sep 2010 22:24:26 +0000 Subject: [PATCH] libedit: Do not move the cursor for ed-delete-next-char in emacs mode. This makes ed-delete-next-char suitable for mapping to the key. Behaviour in vi mode is unchanged (for 'x'). --- lib/libedit/common.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/lib/libedit/common.c b/lib/libedit/common.c index d4a9fa302bbc..d314eef52286 100644 --- a/lib/libedit/common.c +++ b/lib/libedit/common.c @@ -163,15 +163,12 @@ ed_delete_next_char(EditLine *el, int c) return (CC_ERROR); #endif } - } else { - if (el->el_line.cursor != el->el_line.buffer) - el->el_line.cursor--; - else - return (CC_ERROR); - } + } else + return (CC_ERROR); } c_delafter(el, el->el_state.argument); /* delete after dot */ - if (el->el_line.cursor >= el->el_line.lastchar && + if (el->el_map.type == MAP_VI && + el->el_line.cursor >= el->el_line.lastchar && el->el_line.cursor > el->el_line.buffer) /* bounds check */ el->el_line.cursor = el->el_line.lastchar - 1;