summaryrefslogtreecommitdiff
path: root/sys/src/libdraw
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2012-09-26 15:31:09 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2012-09-26 15:31:09 +0200
commita77f6553d88b5cda91e5d0054a64b9f1f9d8e304 (patch)
tree5ae4c811ce9a714c065d3cb5b4d5e881c4fde947 /sys/src/libdraw
parent01e3e719ed275ee847e121f6a28e478755b15058 (diff)
libdraw: implement ^W word delete for enter() and eenter()
Diffstat (limited to 'sys/src/libdraw')
-rw-r--r--sys/src/libdraw/eenter.c9
-rw-r--r--sys/src/libdraw/enter.c9
2 files changed, 18 insertions, 0 deletions
diff --git a/sys/src/libdraw/eenter.c b/sys/src/libdraw/eenter.c
index 40148f0aa..a3c60a881 100644
--- a/sys/src/libdraw/eenter.c
+++ b/sys/src/libdraw/eenter.c
@@ -150,6 +150,15 @@ eenter(char *ask, char *buf, int len, Mouse *m)
}
continue;
}
+ if(k == Ketb){
+ while(tick > 0){
+ buf[--tick] = 0;
+ if(tick == 0 || strchr("\t ", buf[tick-1]))
+ break;
+ }
+ n = tick;
+ break;
+ }
if(k == Kbs){
if(tick <= 0)
continue;
diff --git a/sys/src/libdraw/enter.c b/sys/src/libdraw/enter.c
index 6dd61141c..a1a66cf6c 100644
--- a/sys/src/libdraw/enter.c
+++ b/sys/src/libdraw/enter.c
@@ -158,6 +158,15 @@ enter(char *ask, char *buf, int len, Mousectl *mc, Keyboardctl *kc, Screen *scr)
}
continue;
}
+ if(k == Ketb){
+ while(tick > 0){
+ buf[--tick] = 0;
+ if(tick == 0 || strchr("\t ", buf[tick-1]))
+ break;
+ }
+ n = tick;
+ break;
+ }
if(k == Kbs){
if(tick <= 0)
continue;