… | |
… | |
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) |