fix Message-ID: <e3fded850705221323w1442f15cr4375a5590acf8088@mail.gmail.com>

(by dramsey again, you're DA MAN) by replicating some of the x_redraw() logic

Note that this is correct, a construct like the full-fledged
| x_e_putc2((xep > xlp) ? ((xbp > xbuf) ? '*' : '>') : (xbp > xbuf) ? '<' : ' ');
is not needed since if (xep > xlp) && (xbp > xbuf) – i.e. in the '*' case –
x_redraw() will be called anyway and because (xx_cols - 2 - x_col) == 0 the
code won't be triggered.
This commit is contained in:
tg 2007-05-22 21:01:38 +00:00
parent 9b86b32dc8
commit fec876cdcf

7
edit.c
View File

@ -5,7 +5,7 @@
#include "sh.h"
__RCSID("$MirOS: src/bin/mksh/edit.c,v 1.95 2007/05/22 19:27:05 tg Exp $");
__RCSID("$MirOS: src/bin/mksh/edit.c,v 1.96 2007/05/22 21:01:38 tg Exp $");
/* tty driver characters we are interested in */
typedef struct {
@ -1697,12 +1697,11 @@ x_delete(int nc, int push)
*/
if ((i = xx_cols - 2 - x_col) > 0 || xep - xlp == 0) {
nw = (nw < i) ? nw : i;
if (xbp == xbuf)
++nw;
i = nw;
while (i--)
x_e_putc2(' ');
i = nw;
x_e_putc2((xep > xlp) ? '>' : (xbp > xbuf) ? '<' : ' ');
i = ++nw;
while (i--)
x_e_putc2('\b');
}