diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2008-04-13 16:58:42 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2008-04-13 16:58:42 +0000 |
commit | 97dcf155566083a4b6a43040184cb477d3ff2baf (patch) | |
tree | ab1eac3ca67fa36daf9c6fe9fda6be4b0522c4c6 /Src/utils.c | |
parent | c1db47d16b799820491994447514c7e3dbc7316a (diff) | |
download | zsh-97dcf155566083a4b6a43040184cb477d3ff2baf.tar.gz zsh-97dcf155566083a4b6a43040184cb477d3ff2baf.tar.xz zsh-97dcf155566083a4b6a43040184cb477d3ff2baf.zip |
24808: initial support for combining characters in zle
Diffstat (limited to 'Src/utils.c')
-rw-r--r-- | Src/utils.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Src/utils.c b/Src/utils.c index 1d0b5dc67..b4770befe 100644 --- a/Src/utils.c +++ b/Src/utils.c @@ -3081,6 +3081,14 @@ wcsitype(wchar_t c, int itype) case IWORD: if (iswalnum(c)) return 1; + /* + * If we are handling combining characters, anything + * printable with zero width needs to be considered + * part of a word. + */ + if (isset(COMBININGCHARS) && + iswprint(c) && wcwidth(c) == 0) + return 1; return !!wmemchr(wordchars_wide.chars, c, wordchars_wide.len); case ISEP: |