diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Src/Zle/zle_refresh.c | 12 |
2 files changed, 17 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 95487b95e..0c1463978 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-01-05 Peter Stephenson <p.w.stephenson@ntlworld.com> + + * 24362: Src/Zle/zle_refresh.c: redrawing line with multibyte + character first caused later characters not to be redrawn. + 2008-01-04 Clint Adams <clint@zsh.org> * 24360: Completion/Unix/Command/_du: fix misspelling of diff --git a/Src/Zle/zle_refresh.c b/Src/Zle/zle_refresh.c index 7983c7770..a705f67cf 100644 --- a/Src/Zle/zle_refresh.c +++ b/Src/Zle/zle_refresh.c @@ -1055,6 +1055,18 @@ refreshline(int ln) ccs = lpromptw; } +#ifdef MULTIBYTE_SUPPORT + /* + * Realign to a real character after any jiggery pokery at + * the start of the line. + */ + while (*nl == WEOF) { + nl++, ccs++, vcs++; + if (*ol) + ol++; + } +#endif + /* 3: main display loop - write out the buffer using whatever tricks we can */ for (;;) { |