Move calls to selsnap into selnormalize - st - Personal fork of st
 (HTM) git clone git://git.drkhsh.at/st.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit c490a60b804f467490cd4d8275a181dc37edef9f
 (DIR) parent 83dea7fd7bb5f6e8a11a7ac8a734d8016d1ed0cb
 (HTM) Author: Ivan Delalande <colona@ycc.fr>
       Date:   Wed, 20 Aug 2014 21:14:08 +0200
       
       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>
       
       Diffstat:
         M st.c                                |      14 +++-----------
       
       1 file changed, 3 insertions(+), 11 deletions(-)
       ---
 (DIR) diff --git a/st.c b/st.c
       @@ -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();
        
                        /*