+ w->ww_unctrl = 0;
+ for (;;) {
+ wwcurtowin(w);
+ while ((c = wwgetc()) < 0)
+ wwiomux();
+#ifdef OLD_TTY
+ if (c == wwoldtty.ww_sgttyb.sg_erase)
+#else
+ if (c == wwoldtty.ww_termios.c_cc[VERASE])
+#endif
+ {
+ if (p > buf)
+ rub(*--p, w);
+ } else
+#ifdef OLD_TTY
+ if (c == wwoldtty.ww_sgttyb.sg_kill)
+#else
+ if (c == wwoldtty.ww_termios.c_cc[VKILL])
+#endif
+ {
+ while (p > buf)
+ rub(*--p, w);
+ } else
+#ifdef OLD_TTY
+ if (c == wwoldtty.ww_ltchars.t_werasc)
+#else
+ if (c == wwoldtty.ww_termios.c_cc[VWERASE])
+#endif
+ {
+ while (--p >= buf && (*p == ' ' || *p == '\t'))
+ rub(*p, w);
+ while (p >= buf && *p != ' ' && *p != '\t')
+ rub(*p--, w);
+ p++;
+ } else if (c == '\r' || c == '\n') {
+ break;