diff options
Diffstat (limited to 'src/cmdline.cpp')
-rw-r--r-- | src/cmdline.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cmdline.cpp b/src/cmdline.cpp index 02b8b3d..cc6b2b8 100644 --- a/src/cmdline.cpp +++ b/src/cmdline.cpp @@ -282,10 +282,12 @@ Cmdline::process_edit_cmd(gchar key) interface.ssm(SCI_GETWORDCHARS, 0, (sptr_t)wchars); if (modifier_enabled) { + /* reinsert word chars */ while (States::is_string() && rubout_len && strchr(wchars, str[len])) insert(); + /* reinsert non-word chars */ while (States::is_string() && rubout_len && !strchr(wchars, str[len])) insert(); @@ -304,7 +306,7 @@ Cmdline::process_edit_cmd(gchar key) /* reinsert command */ do insert(); - while (States::current != &States::start); + while (States::current != &States::start && rubout_len); } else { /* rubout command */ do |