startup: delete empty stdin buffer if other files were opened

DWIM: avoid empty buffer 1 when stdin was empty. If other files were
specified at startup, we assume that stdin is only accidentally
not-a-TTY: user did not intend to send text from it.

ref #8560
ref #8561
This commit is contained in:
Justin M. Keyes
2018-06-18 18:48:28 +02:00
parent d44ed79ccc
commit 9625e9da75
2 changed files with 5 additions and 5 deletions

View File

@@ -1412,9 +1412,9 @@ static void read_stdin(void)
(void)open_buffer(true, NULL, 0); // create memfile and read file
if (BUFEMPTY() && curbuf->b_next != NULL) {
// stdin was empty, go to buffer 2 (e.g. "echo file1 | xargs nvim"). #8561
msg_silent++;
do_buffer(DOBUF_GOTO, DOBUF_FIRST, FORWARD, curbuf->b_next->handle, 0);
msg_silent--;
do_cmdline_cmd("silent! bnext");
// Delete the empty stdin buffer.
do_cmdline_cmd("bwipeout 1");
}
no_wait_return = false;
msg_didany = save_msg_didany;