--- rxvt-unicode/src/rxvtperl.xs 2006/01/03 19:10:54 1.18 +++ rxvt-unicode/src/rxvtperl.xs 2006/01/04 00:09:12 1.20 @@ -519,6 +519,7 @@ set_hookname (VIEW_CHANGE); set_hookname (SCROLL_BACK); set_hookname (TTY_ACTIVITY); + set_hookname (OSC_SEQ); set_hookname (REFRESH_BEGIN); set_hookname (REFRESH_END); set_hookname (KEYBOARD_COMMAND); @@ -706,7 +707,7 @@ PPCODE: { if (!IN_RANGE_EXC (row_number, -THIS->nsaved, THIS->nrow)) - croak ("row_number number of out range"); + XSRETURN_EMPTY; line_t &l = ROW(row_number); @@ -753,7 +754,7 @@ PPCODE: { if (!IN_RANGE_EXC (row_number, -THIS->nsaved, THIS->nrow)) - croak ("row_number number of out range"); + XSRETURN_EMPTY; line_t &l = ROW(row_number); @@ -793,16 +794,29 @@ CODE: { if (!IN_RANGE_EXC (row_number, -THIS->nsaved, THIS->nrow)) - croak ("row_number number of out range"); + XSRETURN_EMPTY; line_t &l = ROW(row_number); - RETVAL = l.l; + RETVAL = l.l < 0 ? THIS->ncol : l.l; if (new_length >= -1) l.l = new_length; } OUTPUT: RETVAL + +bool +rxvt_term::ROW_is_longer (int row_number) + CODE: +{ + if (!IN_RANGE_EXC (row_number, -THIS->nsaved, THIS->nrow)) + XSRETURN_EMPTY; + + line_t &l = ROW(row_number); + RETVAL = l.l < 0; +} + OUTPUT: + RETVAL SV * rxvt_term::special_encode (SV *str)