> Which means that read-command is still returning something that > matches [[:INCOMPLETE:]]* on that very first call, which ought to > be impossible as I understand it.  And indeed, if I step across > getrestchar() with a debugger, it's failing on any character that > is more than two bytes wide (returning only the first two bytes), > which probably leaves mbrtowc() in an indeterminate state.  (This > is reading from the "zle -U" buffer so key timeout does not matter.) getrestchar()  only changed to the extent of passing back extra info. Itʼs being called at a different point but as long as the first byte  is correct that shouldn't matter. Is that happening with 5.1.1? pws