=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/screen.c,v retrieving revision 1.52 retrieving revision 1.53 diff -u -r1.52 -r1.53 --- src/usr.bin/tmux/screen.c 2018/07/31 11:49:26 1.52 +++ src/usr.bin/tmux/screen.c 2019/01/15 09:56:31 1.53 @@ -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 @@ -425,7 +425,11 @@ 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 @@ 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); } }