mirror of
https://github.com/openbsd/src.git
synced 2025-01-10 06:47:55 -08:00
Do not highlight characters which will not be copied, reported by
Jaroslaw Rzeszotko.
This commit is contained in:
parent
bb180e11c8
commit
5bf9cff13a
@ -1,4 +1,4 @@
|
||||
/* $OpenBSD: screen.c,v 1.52 2018/07/31 11:49:26 nicm Exp $ */
|
||||
/* $OpenBSD: screen.c,v 1.53 2019/01/15 09:56:31 nicm Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
|
||||
@ -425,7 +425,11 @@ screen_check_selection(struct screen *s, u_int px, u_int py)
|
||||
if (py == sel->sy && px < sel->sx)
|
||||
return (0);
|
||||
|
||||
if (py == sel->ey && px > sel->ex)
|
||||
if (sel->modekeys == MODEKEY_EMACS)
|
||||
xx = (sel->ex == 0 ? 0 : sel->ex - 1);
|
||||
else
|
||||
xx = sel->ex;
|
||||
if (py == sel->ey && px > xx)
|
||||
return (0);
|
||||
} else if (sel->sy > sel->ey) {
|
||||
/* starting line > ending line -- upward selection. */
|
||||
@ -456,7 +460,11 @@ screen_check_selection(struct screen *s, u_int px, u_int py)
|
||||
return (0);
|
||||
} else {
|
||||
/* selection start (sx) is on the left */
|
||||
if (px < sel->sx || px > sel->ex)
|
||||
if (sel->modekeys == MODEKEY_EMACS)
|
||||
xx = (sel->ex == 0 ? 0 : sel->ex - 1);
|
||||
else
|
||||
xx = sel->ex;
|
||||
if (px < sel->sx || px > xx)
|
||||
return (0);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user