ref: 85c80a6bafa2943004302bf58ba306f4dc61fb33
parent: 4b90c35a0db270ddf9648794056594513f691d44
author: Sigrid <ftrvxmtrx@gmail.com>
date: Thu Feb 4 05:57:37 EST 2021
libdraw: enter/eenter: fix ^W removing the text on the right side of the tick
--- a/sys/src/libdraw/eenter.c
+++ b/sys/src/libdraw/eenter.c
@@ -152,13 +152,15 @@
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){
--- a/sys/src/libdraw/enter.c
+++ b/sys/src/libdraw/enter.c
@@ -160,13 +160,15 @@
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){
--
⑨