+ /*
+ * We don't know what a shell command may have left on
+ * the screen, so we move the cursor to the right place
+ * and then put out a newline. But this makes an extra
+ * blank line most of the time so we only do it for :sh
+ * since the prompt gets left on the screen.
+ *
+ * BUG: :!echo longer than current line \\c
+ * will screw it up, but be reasonable!
+ */
+ if (state == CRTOPEN) {
+ termreset();
+ vgoto(WECHO, 0);
+ }
+ if (!ask) {
+ putch('\r');
+ putch('\n');
+ }