Author: Kenta Murata (mrkn) Reviewed-By: Nobuhiro Iwamatsu Description: screen outputs screen "ÿ" after a connected character. This is a character without the need. This happens in UTF-8 environment. Before : screen$ ruby1.9.1 -e 'puts "\u304b\u3099.."' がÿ... patch applied : screen $ ruby1.9.1 -e 'puts "\u304b\u3099.."' が.. Origin: https://mrkn.hatenadiary.org/entry/20101014/fix_screen_utf8_nfd_bug Bugs-Debian: https://bugs.debian.org/600246 Bugs-Debian: https://bugs.debian.org/677512 Index: screen/ansi.c =================================================================== --- screen.orig/ansi.c 2012-03-20 22:15:02.000000000 +0100 +++ screen/ansi.c 2012-03-20 22:41:45.000000000 +0100 @@ -725,6 +725,10 @@ LPutChar(&curr->w_layer, &omc, ox, oy); LGotoPos(&curr->w_layer, curr->w_x, curr->w_y); } + if (curr->w_mbcs) + { + curr->w_rend.mbcs = curr->w_mbcs = 0; + } break; } font = curr->w_rend.font; Index: screen/display.c =================================================================== --- screen.orig/display.c 2012-03-20 22:41:28.000000000 +0100 +++ screen/display.c 2012-03-20 22:41:45.000000000 +0100 @@ -603,7 +603,7 @@ D_x += D_AM ? 1 : -1; D_mbcs = 0; } - else if (utf8_isdouble(c)) + else if (utf8_isdouble(c) || (c >= 0xd800 && c < 0xe000)) { D_mbcs = c; D_x++;