# st

Unnamed repository; edit this file 'description' to name the repository.

| Log | Files | Refs | README | LICENSE

    commit a1e3b94b374c269f9d379f40b67b8519a485b8a6
    parent 4b17dddb104bd2ac87dd6e334aafd325197c1407
    Author: Christoph Lohmann <20h@r-36.net>
    Date:   Fri, 29 Mar 2013 18:39:01 +0100

    Removing an undefined case. just do regular selections.

    Diffstat:
    Mst.c | 31+++++++++++++------------------

    1 file changed, 13 insertions(+), 18 deletions(-)
    diff --git a/st.c b/st.c
    @@ -653,16 +653,14 @@ selected(int x, int y) {
     		return BETWEEN(x, bx, ex);
     	}

    -	switch(sel.type) {
    -	case SEL_REGULAR:
    -		return ((sel.b.y < y && y < sel.e.y)
    -			|| (y == sel.e.y && x <= sel.e.x))
    -			|| (y == sel.b.y && x >= sel.b.x
    -				&& (x <= sel.e.x || sel.b.y != sel.e.y));
    -	case SEL_RECTANGULAR:
    +	if(sel.type == SEL_RECTANGULAR) {
     		return ((sel.b.y <= y && y <= sel.e.y)
     			&& (sel.b.x <= x && x <= sel.e.x));
    -	};
    +	}
    +	return ((sel.b.y < y && y < sel.e.y)
    +		|| (y == sel.e.y && x <= sel.e.x))
    +		|| (y == sel.b.y && x >= sel.b.x
    +			&& (x <= sel.e.x || sel.b.y != sel.e.y));
     }

     void
    @@ -1254,8 +1252,12 @@ selscroll(int orig, int n) {
     			sel.bx = -1;
     			return;
     		}
    -		switch(sel.type) {
    -		case SEL_REGULAR:
    +		if(sel.type == SEL_RECTANGULAR) {
    +			if(sel.by < term.top)
    +				sel.by = term.top;
    +			if(sel.ey > term.bot)
    +				sel.ey = term.bot;
    +		} else {
     			if(sel.by < term.top) {
     				sel.by = term.top;
     				sel.bx = 0;
    @@ -1264,14 +1266,7 @@ selscroll(int orig, int n) {
     				sel.ey = term.bot;
     				sel.ex = term.col;
     			}
    -			break;
    -		case SEL_RECTANGULAR:
    -			if(sel.by < term.top)
    -				sel.by = term.top;
    -			if(sel.ey > term.bot)
    -				sel.ey = term.bot;
    -			break;
    -		};
    +		}
     		sel.b.y = sel.by, sel.b.x = sel.bx;
     		sel.e.y = sel.ey, sel.e.x = sel.ex;
     	}