From dcc0b3ca1dee27e0f8fecec5497577a2c6faddaf Mon Sep 17 00:00:00 2001 From: rsc Date: Mon, 18 Jul 2005 00:01:56 +0000 Subject: better cr handling --- src/cmd/9term/9term.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/cmd') diff --git a/src/cmd/9term/9term.c b/src/cmd/9term/9term.c index b6658b2f..c18e78c1 100644 --- a/src/cmd/9term/9term.c +++ b/src/cmd/9term/9term.c @@ -1136,6 +1136,7 @@ conswrite(char *p, int n) void runewrite(Rune *r, int n) { + static int havecr; int i; uint initial; uint q0, q1; @@ -1146,8 +1147,13 @@ runewrite(Rune *r, int n) if(n == 0) return; - /* get rid of backspaces */ + /* process trailing \r from previous write */ initial = 0; + if(havecr && *r != '\r' && *r != '\n') + initial = bswidth(0x15, t.qh, 0); + havecr = 0; + + /* get rid of backspaces */ p = q = r; for(i=0; i