--- rxvt-unicode/src/rxvtperl.xs 2006/08/07 21:38:24 1.103 +++ rxvt-unicode/src/rxvtperl.xs 2006/08/21 15:11:46 1.105 @@ -1124,7 +1124,14 @@ wchar_t *wstr = sv2wcs (str); rxvt_push_locale (THIS->locale); - RETVAL = wcswidth (wstr, wcslen (wstr)); + RETVAL = 0; + for (wchar_t *wc = wstr; *wc; wc++) + { + int w = WCWIDTH (*wc); + + if (w) + RETVAL += min (w, 1); + } rxvt_pop_locale (); free (wstr);