diff options
Diffstat (limited to 'st.c')
| -rw-r--r-- | st.c | 9 |
1 files changed, 9 insertions, 0 deletions
| @@ -681,6 +681,10 @@ void | |||
| 681 | selsnap(int mode, int *x, int *y, int direction) { | 681 | selsnap(int mode, int *x, int *y, int direction) { |
| 682 | switch(mode) { | 682 | switch(mode) { |
| 683 | case SNAP_WORD: | 683 | case SNAP_WORD: |
| 684 | /* | ||
| 685 | * Snap around if the word wraps around at the end or | ||
| 686 | * beginning of a line. | ||
| 687 | */ | ||
| 684 | for(;;) { | 688 | for(;;) { |
| 685 | if(direction < 0 && *x <= 0) { | 689 | if(direction < 0 && *x <= 0) { |
| 686 | if(*y > 0 && term.line[*y - 1][term.col-1].mode | 690 | if(*y > 0 && term.line[*y - 1][term.col-1].mode |
| @@ -708,6 +712,11 @@ selsnap(int mode, int *x, int *y, int direction) { | |||
| 708 | } | 712 | } |
| 709 | break; | 713 | break; |
| 710 | case SNAP_LINE: | 714 | case SNAP_LINE: |
| 715 | /* | ||
| 716 | * Snap around if the the previous line or the current one | ||
| 717 | * has set ATTR_WRAP at its end. Then the whole next or | ||
| 718 | * previous line will be selected. | ||
| 719 | */ | ||
| 711 | *x = (direction < 0) ? 0 : term.col - 1; | 720 | *x = (direction < 0) ? 0 : term.col - 1; |
| 712 | if(direction < 0 && *y > 0) { | 721 | if(direction < 0 && *y > 0) { |
| 713 | for(; *y > 0; *y += direction) { | 722 | for(; *y > 0; *y += direction) { |
