diff options
| author | Ivan Delalande <colona@ycc.fr> | 2014-08-20 21:14:08 +0200 | 
|---|---|---|
| committer | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2014-08-21 17:50:31 +0200 | 
| commit | c490a60b804f467490cd4d8275a181dc37edef9f (patch) | |
| tree | afe57826d9952cd9335cde781cf1fcb4a6ce3235 | |
| parent | 83dea7fd7bb5f6e8a11a7ac8a734d8016d1ed0cb (diff) | |
| download | st-transparency-c490a60b804f467490cd4d8275a181dc37edef9f.tar.gz st-transparency-c490a60b804f467490cd4d8275a181dc37edef9f.tar.xz st-transparency-c490a60b804f467490cd4d8275a181dc37edef9f.zip  | |
Move calls to selsnap into selnormalize
This simplifies getbuttoninfo() and bpress(), and fixes a bug which made word
snapping behave incorrectly when a delimiter was at the beginning or end of
line.
Signed-off-by: Roberto E. Vargas Caballero <k0ga@shike2.com>
| -rw-r--r-- | st.c | 14 | 
1 files changed, 3 insertions, 11 deletions
@@ -682,6 +682,9 @@ selnormalize(void) {  	sel.nb.y = MIN(sel.ob.y, sel.oe.y);  	sel.ne.y = MAX(sel.ob.y, sel.oe.y); +	selsnap(sel.snap, &sel.nb.x, &sel.nb.y, -1); +	selsnap(sel.snap, &sel.ne.x, &sel.ne.y, +1); +  	/* expand selection over line breaks */  	if (sel.type == SEL_RECTANGULAR)  		return; @@ -777,15 +780,6 @@ getbuttoninfo(XEvent *e) {  	sel.oe.x = x2col(e->xbutton.x);  	sel.oe.y = y2row(e->xbutton.y); - -	if(sel.ob.y < sel.oe.y -			|| (sel.ob.y == sel.oe.y && sel.ob.x < sel.oe.x)) { -		selsnap(sel.snap, &sel.ob.x, &sel.ob.y, -1); -		selsnap(sel.snap, &sel.oe.x, &sel.oe.y, +1); -	} else { -		selsnap(sel.snap, &sel.oe.x, &sel.oe.y, -1); -		selsnap(sel.snap, &sel.ob.x, &sel.ob.y, +1); -	}  	selnormalize();  	sel.type = SEL_REGULAR; @@ -900,8 +894,6 @@ bpress(XEvent *e) {  		} else {  			sel.snap = 0;  		} -		selsnap(sel.snap, &sel.ob.x, &sel.ob.y, -1); -		selsnap(sel.snap, &sel.oe.x, &sel.oe.y, +1);  		selnormalize();  		/*  | 
