diff options
author | Sigrid <ftrvxmtrx@gmail.com> | 2021-02-04 10:57:37 +0100 |
---|---|---|
committer | Sigrid <ftrvxmtrx@gmail.com> | 2021-02-04 10:57:37 +0100 |
commit | 4ec97f73ee2326209bc56730562e82f2e6fe2c0a (patch) | |
tree | 4d5392f7f6f3e63adc6c4d72721c0a62f011b86e | |
parent | e0bfd148e29346f9fb824ea0c6ac86b5870836ce (diff) | |
download | plan9front-4ec97f73ee2326209bc56730562e82f2e6fe2c0a.tar.xz |
libdraw: enter/eenter: fix ^W removing the text on the right side of the tick
-rw-r--r-- | sys/src/libdraw/eenter.c | 6 | ||||
-rw-r--r-- | sys/src/libdraw/enter.c | 6 |
2 files changed, 8 insertions, 4 deletions
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){ |