* YONETANI Tomokazu had this to say on [08 May 2010, 00:32:04 +0900]: > Hello. > > Since this commit (and a few more commits related to it) > e8d36bf10: Refresh cleverly to improve scrolling speed. > > when I typed a multibyte character (which is also twice as wide as an ASCII > one), it's drawn as a blank and won't show up until the screen is redrawn. > With the recent code, this only happens when the screen is split, either > horizontally or vertically. This is consistent across multiple OSes and > a few terminal emulators from which I usually attach to the screen, so I > poked here and there in the source code and found a minimal change which > apparently fix this issue (it's in LPutChar):
Hi! Can you please revert your change and try the attached patch instead and see if that fixes your problem? Thanks. Sadrul > > diff --git a/src/layer.c b/src/layer.c > index 4ae587f..e29313b 100644 > --- a/src/layer.c > +++ b/src/layer.c > @@ -337,7 +337,7 @@ int x, y; > if (l->l_pause.d) > LayPauseUpdateRegion(l, x, x, y, y); > > - FOR_EACH_UNPAUSED_CANVAS(l, > + for (cv = l->l_cvlist; cv; cv = cv->c_lnext) > { > display = cv->c_display; > if (D_blocked) > @@ -354,7 +354,6 @@ int x, y; > break; > } > } > - ); > } > > void > > > Anyone else seeing this? > > > _______________________________________________ > screen-users mailing list > screen-users@gnu.org > http://lists.gnu.org/mailman/listinfo/screen-users
diff --git a/src/layer.c b/src/layer.c index 4ae587f..aeea318 100644 --- a/src/layer.c +++ b/src/layer.c @@ -335,7 +335,13 @@ int x, y; #endif if (l->l_pause.d) - LayPauseUpdateRegion(l, x, x, y, y); + LayPauseUpdateRegion(l, x, +#ifdef DW_CHARS + x + (c->mbcs ? 1 : 0) +#else + x +#endif + , y, y); FOR_EACH_UNPAUSED_CANVAS(l, {
_______________________________________________ screen-users mailing list screen-users@gnu.org http://lists.gnu.org/mailman/listinfo/screen-users