--- rxvt-unicode/src/rxvtperl.xs 2009/05/30 08:51:23 1.127 +++ rxvt-unicode/src/rxvtperl.xs 2009/12/26 09:42:16 1.128 @@ -1552,7 +1552,7 @@ PUSHs (sv_2mortal (newSViv (rc.col))); } - if (items == 3) + if (items >= 3) { rc.row = SvIV (ST (1)); rc.col = SvIV (ST (2)); @@ -1578,17 +1578,21 @@ if (ix) { + THIS->selection.screen = THIS->current_screen; + THIS->want_refresh = 1; THIS->refresh_check (); } } } -char -rxvt_term::cur_charset () +int +rxvt_term::selection_screen (int screen = -1) CODE: - RETVAL = THIS->charsets [THIS->screen.charset]; - OUTPUT: + RETVAL = THIS->selection.screen; + if (screen >= 0) + THIS->selection.screen = screen; + OUTPUT: RETVAL void @@ -1622,6 +1626,13 @@ } } +char +rxvt_term::cur_charset () + CODE: + RETVAL = THIS->charsets [THIS->screen.charset]; + OUTPUT: + RETVAL + void rxvt_term::scr_xor_rect (int beg_row, int beg_col, int end_row, int end_col, U32 rstyle1 = RS_RVid, U32 rstyle2 = RS_RVid | RS_Uline)