--- rxvt-unicode/src/screen.C 2011/01/04 17:51:05 1.357 +++ rxvt-unicode/src/screen.C 2011/01/04 23:06:10 1.359 @@ -3043,7 +3043,7 @@ if (selection.rect) { col = selection.beg.col; - end_col = ncol + 1; + end_col = selection.end.col; } else #endif @@ -3051,11 +3051,7 @@ col = max (col, 0); - if (row == selection.end.row -#if !ENABLE_MINIMAL - || selection.rect -#endif - ) + if (row == selection.end.row) min_it (end_col, selection.end.col); t = ROW(row).t + col; @@ -3097,7 +3093,8 @@ } else #endif - if (!ROW(row).is_longer () && row != selection.end.row) + if (!ROW(row).is_longer () && row != selection.end.row + && (row != selection.beg.row || selection.beg.col < ncol)) new_selection_text[ofs++] = C0_LF; }