--- rxvt-unicode/src/screen.C 2010/08/28 11:03:04 1.347 +++ rxvt-unicode/src/screen.C 2010/10/14 23:12:11 1.349 @@ -913,10 +913,15 @@ // if the character doesn't fit into the remaining columns... if (expect_false (screen.cur.col > ncol - width && ncol >= width)) { - // ... artificially enlargen the previous one - c = NOCHAR; - // and try the same character next loop iteration - --str; + if (screen.flags & Screen_Autowrap) + { + // ... artificially enlargen the previous one + c = NOCHAR; + // and try the same character next loop iteration + --str; + } + else + screen.cur.col = ncol - width; } line->touch (); @@ -1023,6 +1028,10 @@ #endif } } +#ifdef TERMCAP_HAS_BW + else if (screen.flags & Screen_WrapNext) + screen.flags &= ~Screen_WrapNext; +#endif else scr_gotorc (0, -1, RELATIVE); }