as per subject; the effect is almost the same, they both clear the
echo area, but ewprintf("") sets `epresf' to require an additional
eerase() on the next-next input cycle. avoid extra work! :)
ok?
diff /home/op/w/mg.master
commit - 4912f94d4a7e2b653e74201ac73923335fd298aa
path + /home/op/w/mg.master
blob - 810ea3ae3346112842126acfe47e1a934bd9acc0
file + dired.c
--- dired.c
+++ dired.c
@@ -1185,7 +1185,7 @@ gotofile(char *fpth)
ewprintf("File not found %s", fname);
return (FALSE);
} else {
- ewprintf("");
+ eerase();
return (TRUE);
}
}
blob - ced1a2dc4a9541a34a99f9ae96acf9f4e1237f33
file + echo.c
--- echo.c
+++ echo.c
@@ -67,15 +67,15 @@ eyorn(const char *sp)
for (;;) {
s = getkey(FALSE);
if (s == 'y' || s == 'Y' || s == ' ') {
- ewprintf("");
+ eerase();
return (TRUE);
}
if (s == 'n' || s == 'N' || s == CCHR('M')) {
- ewprintf("");
+ eerase();
return (FALSE);
}
if (s == CCHR('G')) {
- ewprintf("");
+ eerase();
return (ctrlg(FFRAND, 1));
}
ewprintf("Please answer y or n. %s? (y or n) ", sp);
@@ -101,19 +101,19 @@ eynorr(const char *sp)
for (;;) {
s = getkey(FALSE);
if (s == 'y' || s == 'Y' || s == ' ') {
- ewprintf("");
+ eerase();
return (TRUE);
}
if (s == 'n' || s == 'N' || s == CCHR('M')) {
- ewprintf("");
+ eerase();
return (FALSE);
}
if (s == 'r' || s == 'R') {
- ewprintf("");
+ eerase();
return (REVERT);
}
if (s == CCHR('G')) {
- ewprintf("");
+ eerase();
return (ctrlg(FFRAND, 1));
}
ewprintf("Please answer y, n or r.");
@@ -137,7 +137,7 @@ eyesno(const char *sp)
EFNUL | EFNEW | EFCR, sp);
for (;;) {
if (rep == NULL) {
- ewprintf("");
+ eerase();
return (ABORT);
}
if (rep[0] != '\0') {
@@ -149,11 +149,11 @@ eyesno(const char *sp)
free(lp);
}
if (strcasecmp(rep, "yes") == 0) {
- ewprintf("");
+ eerase();
return (TRUE);
}
if (strcasecmp(rep, "no") == 0) {
- ewprintf("");
+ eerase();
return (FALSE);
}
}