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>
This commit is contained in:
Alexander Sedov 2013-04-18 12:47:23 +04:00 committed by Christoph Lohmann
parent da182612b7
commit e5ff746430

7
st.c
View file

@ -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;