}
flushimage(display, 1);
+nodraw:
i = Ekeyboard;
if(m != nil)
i |= Emouse;
if(k == Ketb){
while(tick > 0){
tick--;
- if(tick == 0 || strchr("\t ", buf[tick-1]))
+ if(tick == 0 ||
+ strchr(" !\"#$%&'()*+,-./:;<=>?@`[\\]^{|}~", buf[tick-1]))
break;
}
- if(n > tick)
- memset(buf+tick, 0, n-tick);
- n = tick;
+ buf[n = tick] = 0;
break;
}
if(k == Kbs){
*m = ev.mouse;
if(!ptinrect(m->xy, r)){
down = 0;
- continue;
+ goto nodraw;
}
if(m->buttons & 7){
down = 1;