diff options
Diffstat (limited to 'Src')
-rw-r--r-- | Src/Zle/complist.c | 4 | ||||
-rw-r--r-- | Src/prompt.c | 3 | ||||
-rw-r--r-- | Src/utils.c | 3 |
3 files changed, 6 insertions, 4 deletions
diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c index 886b4a685..1152dff7c 100644 --- a/Src/Zle/complist.c +++ b/Src/Zle/complist.c @@ -982,7 +982,7 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop) len = MB_METACHARLENCONV(p, &cchar); #ifdef MULTIBYTE_SUPPORT if (cchar == WEOF) { - cchar = (wchar_t)p; + cchar = (wchar_t)(*p == Meta ? p[1] ^ 32 : *p); width = 1; } else @@ -995,7 +995,7 @@ compprintfmt(char *fmt, int n, int dopr, int doesc, int ml, int *stop) len = MB_METACHARLENCONV(p, &cchar); #ifdef MULTIBYTE_SUPPORT if (cchar == WEOF) - cchar = (wchar_t)p; + cchar = (wchar_t)(*p == Meta ? p[1] ^ 32 : *p); #endif p += len; diff --git a/Src/prompt.c b/Src/prompt.c index fc0c7ea47..b4b55a0ea 100644 --- a/Src/prompt.c +++ b/Src/prompt.c @@ -1130,7 +1130,8 @@ prompttrunc(int arg, int truncchar, int doprint, int endchar) * Normal text: build up a multibyte character. */ char inchar; - wchar_t cc, wcw; + wchar_t cc; + int wcw; /* * careful: string is still metafied (we diff --git a/Src/utils.c b/Src/utils.c index 415e86151..e91baf970 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -2019,9 +2019,10 @@ mod_export int noquery(int purge) { int val = 0; - char c; #ifdef FIONREAD + char c; + ioctl(SHTTY, FIONREAD, (char *)&val); if (purge) { for (; val; val--) |