From 21ede7960fcb7f30ed9bf14e618190529d2f77d1 Mon Sep 17 00:00:00 2001 From: cinap_lenrek Date: Wed, 15 Jun 2011 12:34:30 +0200 Subject: [PATCH] kbdfs: support ^W word killing --- sys/src/cmd/aux/kbdfs/kbdfs.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/sys/src/cmd/aux/kbdfs/kbdfs.c b/sys/src/cmd/aux/kbdfs/kbdfs.c index 4584769b6..36c635dbe 100644 --- a/sys/src/cmd/aux/kbdfs/kbdfs.c +++ b/sys/src/cmd/aux/kbdfs/kbdfs.c @@ -568,16 +568,19 @@ lineproc(void *aux) case '\0': /* flush */ nr = 0; continue; - case '\b': /* backspace */ - case Knack: /* ^U */ + case Kbs: /* ^H: erase character */ + case Knack: /* ^U: erase line */ + case Ketb: /* ^W: erase word */ while(nr > 0){ nr--; fprint(1, "\b"); - if(r == '\b') + if(r == Kbs) + break; + if(r == Ketb && utfrune(" \t", rb[nr])) break; } continue; - case Keof: /* ^D */ + case Keof: /* ^D: eof */ done = 1; break; case '\n':