# st

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

| Log | Files | Refs | README | LICENSE

    commit e5ff746430725b05e223c454febbde949df2fde2
    parent da182612b7c7a6be67b2c7be0c0d85562220f1e4
    Author: Alexander Sedov <alex0player@gmail.com>
    Date:   Thu, 18 Apr 2013 12:47:23 +0400

    Selection now handles empty lines less counter-intuitively.

    Now, when you are selecting a region, you will get all empty lines that happen
    to be in it, including trailing ones. Last line terminator is omitted as it previously
    was, though.

    Signed-off-by: Christoph Lohmann <20h@r-36.net>

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

    1 file changed, 2 insertions(+), 5 deletions(-)
    diff --git a/st.c b/st.c
    @@ -752,7 +752,7 @@ bpress(XEvent *e) {
     void
     selcopy(void) {
     	char *str, *ptr;
    -	int x, y, bufsize, isselected = 0, size;
    +	int x, y, bufsize, size;
     	Glyph *gp, *last;

     	if(sel.bx == -1) {
    @@ -763,7 +763,6 @@ selcopy(void) {

     		/* append every set & selected glyph to the selection */
     		for(y = sel.b.y; y < sel.e.y + 1; y++) {
    -			isselected = 0;
     			gp = &term.line[y][0];
     			last = gp + term.col;

    @@ -774,8 +773,6 @@ selcopy(void) {
     			for(x = 0; gp <= last; x++, ++gp) {
     				if(!selected(x, y)) {
     					continue;
    -				} else {
    -					isselected = 1;
     				}

     				size = utf8size(gp->c);
    @@ -792,7 +789,7 @@ selcopy(void) {
     			 * st.
     			 * FIXME: Fix the computer world.
     			 */
    -			if(isselected && y < sel.e.y)
    +			if(y < sel.e.y)
     				*ptr++ = '\n';
     		}
     		*ptr = 0;