--- rxvt-unicode/src/screen.C 2009/12/26 10:24:04 1.329 +++ rxvt-unicode/src/screen.C 2010/01/18 10:05:55 1.332 @@ -546,7 +546,7 @@ selection_check (2); /* check for boundary cross */ - int i = current_screen; current_screen = scrn; scrn = i; + current_screen = scrn; #if NSCREENS if (option (Opt_secondaryScreen)) @@ -1935,6 +1935,7 @@ } else XBell (dpy, 0); + HOOK_INVOKE ((this, HOOK_BELL, DT_END)); #endif } @@ -1963,7 +1964,7 @@ wctomb (0, 0); - for (int r1 = 0; r1 < nrows; r1++) + for (int r1 = row_start; r1 < row_start + nrows; r1++) { text_t *tp = ROW(r1).t; int len = ROW(r1).l;