ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/screen.C
(Generate patch)

Comparing rxvt-unicode/src/screen.C (file contents):
Revision 1.172 by root, Sun Dec 18 00:59:42 2005 UTC vs.
Revision 1.173 by root, Mon Dec 19 02:16:24 2005 UTC

989 989
990 while (*tp == NOCHAR && tp > line->t) 990 while (*tp == NOCHAR && tp > line->t)
991 tp--, rp--; 991 tp--, rp--;
992 } 992 }
993 else if (screen.cur.row > 0 993 else if (screen.cur.row > 0
994 && save [screen.cur.row - 1 + saveLines].l == -1) 994 && save [screen.cur.row - 1 + saveLines].is_cont ())
995 { 995 {
996 line_t *line = save + (screen.cur.row - 1 + saveLines); 996 line_t *line = save + (screen.cur.row - 1 + saveLines);
997 997
998 tp = line->t + last_col - 1; 998 tp = line->t + last_col - 1;
999 rp = line->r + last_col - 1; 999 rp = line->r + last_col - 1;
1170 { 1170 {
1171 row = screen.cur.row + saveLines; 1171 row = screen.cur.row + saveLines;
1172 1172
1173 if (save[row].l == 0) 1173 if (save[row].l == 0)
1174 return; /* um, yeah? */ 1174 return; /* um, yeah? */
1175 else if (save[row].l == -1) 1175 else if (save[row].is_cont ())
1176 save[row].l = ncol; 1176 save[row].l = ncol;
1177 1177
1178 scr_gotorc (0, 0, R_RELATIVE); 1178 scr_gotorc (0, 0, R_RELATIVE);
1179 scr_insdel_chars (1, DELETE); 1179 scr_insdel_chars (1, DELETE);
1180 scr_gotorc (0, ncol - 1, R_RELATIVE); 1180 scr_gotorc (0, ncol - 1, R_RELATIVE);
1533 line->r[col] = line->r[col + count]; 1533 line->r[col] = line->r[col + count];
1534 } 1534 }
1535 1535
1536 scr_blank_line (*line, ncol - count, count, tr); 1536 scr_blank_line (*line, ncol - count, count, tr);
1537 1537
1538 if (line->l == -1) /* break line continuation */ 1538 if (line->is_cont ()) /* break line continuation */
1539 line->l = ncol; 1539 line->l = ncol;
1540 1540
1541 line->l -= count; 1541 line->l -= count;
1542 MAX_IT (line->l, 0); 1542 MAX_IT (line->l, 0);
1543 1543
2978 int ofs = 0; 2978 int ofs = 0;
2979 int extra = 0; 2979 int extra = 0;
2980 2980
2981 for (; row <= end_row; row++, col = 0) 2981 for (; row <= end_row; row++, col = 0)
2982 { 2982 {
2983 end_col = save[row].l;
2984
2985#if ENABLE_FRILLS 2983#if ENABLE_FRILLS
2986 if (selection.rect) 2984 if (selection.rect)
2987 { 2985 {
2988 col = selection.beg.col; 2986 col = selection.beg.col;
2989 end_col = ncol + 1; 2987 end_col = ncol + 1;
2990 } 2988 }
2989 else
2991#endif 2990#endif
2991 end_col = save[row].is_cont () ? ncol : save[row].l; //TODO//FIXME
2992 2992
2993 MAX_IT (col, 0); 2993 MAX_IT (col, 0);
2994
2995 if (end_col == -1)
2996 end_col = ncol;
2997 2994
2998 if (row == end_row || selection.rect) 2995 if (row == end_row || selection.rect)
2999 MIN_IT (end_col, selection.end.col); 2996 MIN_IT (end_col, selection.end.col);
3000 2997
3001 t = &save[row].t[col]; 2998 t = &save[row].t[col];
3173 break; 3170 break;
3174 } 3171 }
3175 3172
3176 if ((col == bound.col) && (row != bound.row)) 3173 if ((col == bound.col) && (row != bound.row))
3177 { 3174 {
3178 if (save[ (row - (dirn == UP ? 1 : 0))].l == -1) 3175 if (save[ (row - (dirn == UP ? 1 : 0))].is_cont ())
3179 { 3176 {
3180 trow = row + dirnadd; 3177 trow = row + dirnadd;
3181 tcol = dirn == UP ? ncol - 1 : 0; 3178 tcol = dirn == UP ? ncol - 1 : 0;
3182 3179
3183 if (save[trow].t == NULL) 3180 if (save[trow].t == NULL)
3432 selection.beg.col = 0; 3429 selection.beg.col = 0;
3433 selection.end.col = ncol; 3430 selection.end.col = ncol;
3434 3431
3435 // select a complete logical line 3432 // select a complete logical line
3436 while (selection.beg.row > -saveLines 3433 while (selection.beg.row > -saveLines
3437 && save[selection.beg.row - 1 + saveLines].l == -1) 3434 && save[selection.beg.row - 1 + saveLines].is_cont ())
3438 selection.beg.row--; 3435 selection.beg.row--;
3439 3436
3440 while (selection.end.row < nrow 3437 while (selection.end.row < nrow
3441 && save[selection.end.row + saveLines].l == -1) 3438 && save[selection.end.row + saveLines].is_cont ())
3442 selection.end.row++; 3439 selection.end.row++;
3443 } 3440 }
3444 } 3441 }
3445 3442
3446 if (button3 && buttonpress) 3443 if (button3 && buttonpress)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines