summaryrefslogtreecommitdiff
path: root/Src
diff options
context:
space:
mode:
Diffstat (limited to 'Src')
-rw-r--r--Src/Zle/zle_hist.c10
-rw-r--r--Src/Zle/zle_misc.c6
2 files changed, 13 insertions, 3 deletions
diff --git a/Src/Zle/zle_hist.c b/Src/Zle/zle_hist.c
index 31fa6ace0..af4529489 100644
--- a/Src/Zle/zle_hist.c
+++ b/Src/Zle/zle_hist.c
@@ -1107,7 +1107,10 @@ doisearch(char **args, int dir)
} else if (cmd == Th(z_selfinsert)) {
#ifdef MULTIBYTE_SUPPORT
if (!lastchar_wide_valid)
- getrestchar(lastchar);
+ if (getrestchar(lastchar) == WEOF) {
+ handlefeep(zlenoargs);
+ continue;
+ }
#else
;
#endif
@@ -1303,7 +1306,10 @@ getvisrchstr(void)
} else {
#ifdef MULTIBYTE_SUPPORT
if (!lastchar_wide_valid)
- getrestchar(lastchar);
+ if (getrestchar(lastchar) == WEOF) {
+ handlefeep(zlenoargs);
+ continue;
+ }
#else
;
#endif
diff --git a/Src/Zle/zle_misc.c b/Src/Zle/zle_misc.c
index 1cb113a2d..aa8d1058d 100644
--- a/Src/Zle/zle_misc.c
+++ b/Src/Zle/zle_misc.c
@@ -64,7 +64,8 @@ selfinsert(UNUSED(char **args))
#ifdef MULTIBYTE_SUPPORT
if (!lastchar_wide_valid)
- getrestchar(lastchar);
+ if (getrestchar(lastchar) == WEOF)
+ return 1;
#endif
tmp = LASTFULLCHAR;
doinsert(&tmp, 1);
@@ -1018,6 +1019,9 @@ executenamedcommand(char *prmt)
#ifdef MULTIBYTE_SUPPORT
if (!lastchar_wide_valid)
getrestchar(lastchar);
+ if (lastchar_wide == WEOF)
+ feep = 1;
+ else
#endif
if (ZC_icntrl(LASTFULLCHAR))
feep = 1;