[dev] [st] [PATCH] Trim trailing whitespaces in every selection case

From: Ivan Delalande <colona_AT_ycc.fr>
Date: Sun, 16 Nov 2014 09:02:57 +0100

Trailing whitespaces are trimmed when copying from normal selection and
rectangular selection on lines that have their last character included
or on the left of the selection. It leads to inconsistent behaviors when
copying the exact same text from the left and right window in
applications with vertical splits.
This patch solves this issue by always trimming the selection.
---
 st.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/st.c b/st.c
index 097775d..452b8aa 100644
--- a/st.c
+++ b/st.c
_AT_@ -943,6 +943,8 @@ getsel(void) {
 			lastx = (sel.ne.y == y) ? sel.ne.x : term.col-1;
 		}
 		last = &term.line[y][MIN(lastx, linelen-1)];
+		while(last >= gp && last->c[0] == ' ')
+			--last;
 
 		for( ; gp <= last; ++gp) {
 			if(gp->mode & ATTR_WDUMMY)
-- 
2.1.2
-- 
Ivan "Colona" Delalande
Received on Sun Nov 16 2014 - 09:02:57 CET

This archive was generated by hypermail 2.3.0 : Sun Nov 16 2014 - 09:12:08 CET