[hackers] [st] Selection now handles empty lines less counter-intuitively. || Alexander Sedov

From: <git_AT_suckless.org>
Date: Thu, 18 Apr 2013 16:54:30 +0200

commit e5ff746430725b05e223c454febbde949df2fde2
Author: Alexander Sedov <alex0player_AT_gmail.com>
Date: Thu Apr 18 12:47:23 2013 +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_AT_r-36.net>

diff --git a/st.c b/st.c
index 8e39ec2..686ed5d 100644
--- a/st.c
+++ b/st.c
_AT_@ -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) {
_AT_@ -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;
 
_AT_@ -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);
_AT_@ -792,7 +789,7 @@ selcopy(void) {
                          * st.
                          * FIXME: Fix the computer world.
                          */
- if(isselected && y < sel.e.y)
+ if(y < sel.e.y)
                                 *ptr++ = '
';
                 }
                 *ptr = 0;
Received on Thu Apr 18 2013 - 16:54:30 CEST

This archive was generated by hypermail 2.3.0 : Thu Apr 18 2013 - 17:00:17 CEST