--- rxvt-unicode/src/rxvtperl.xs 2006/01/03 19:10:54 1.18 +++ rxvt-unicode/src/rxvtperl.xs 2006/01/03 20:47:36 1.19 @@ -706,7 +706,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 +753,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 +793,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)