diff --git a/sys/src/libdraw/eenter.c b/sys/src/libdraw/eenter.c index 0e08a5d70..dfe1fe3e9 100644 --- a/sys/src/libdraw/eenter.c +++ b/sys/src/libdraw/eenter.c @@ -152,13 +152,15 @@ nodraw: continue; } if(k == Ketb){ + l = tick; while(tick > 0){ tick--; if(tick == 0 || - strchr(" !\"#$%&'()*+,-./:;<=>?@`[\\]^{|}~", buf[tick-1])) + strchr(" !\"#$%&'()*+,-./:;<=>?@`[\\]^{|}~", buf[tick-1])) break; } - buf[n = tick] = 0; + memmove(buf+tick, buf+l, n-l); + buf[n -= l-tick] = 0; break; } if(k == Kbs){ diff --git a/sys/src/libdraw/enter.c b/sys/src/libdraw/enter.c index cbcc52573..70742e087 100644 --- a/sys/src/libdraw/enter.c +++ b/sys/src/libdraw/enter.c @@ -160,13 +160,15 @@ nodraw: continue; } if(k == Ketb){ + l = tick; while(tick > 0){ tick--; if(tick == 0 || - strchr(" !\"#$%&'()*+,-./:;<=>?@`[\\]^{|}~", buf[tick-1])) + strchr(" !\"#$%&'()*+,-./:;<=>?@`[\\]^{|}~", buf[tick-1])) break; } - buf[n = tick] = 0; + memmove(buf+tick, buf+l, n-l); + buf[n -= l-tick] = 0; break; } if(k == Kbs){