# HG changeset patch # User Bram Moolenaar # Date 1602421203 -7200 # Node ID 8af8aa57dd8a1279e116d6af98d145d37bcbf78c # Parent 14b0cc97f92b0e37308030b4b0ec9d6717f20734 patch 8.2.1833: when reading from stdin dup() is called twice Commit: https://github.com/vim/vim/commit/204ade6bcb85f48f56e52e040d1ebf40548d92be Author: Bram Moolenaar Date: Sun Oct 11 14:58:46 2020 +0200 patch 8.2.1833: when reading from stdin dup() is called twice Problem: When reading from stdin dup() is called twice. Solution: Remove the dup() in main.c. (Ken Takata, closes https://github.com/vim/vim/issues/7110) diff --git a/src/main.c b/src/main.c --- a/src/main.c +++ b/src/main.c @@ -2704,21 +2704,16 @@ read_stdin(void) no_wait_return = TRUE; i = msg_didany; set_buflisted(TRUE); - (void)open_buffer(TRUE, NULL, 0); // create memfile and read file + + // Create memfile and read from stdin. + // This will also dup stdin from stderr to read commands from. + (void)open_buffer(TRUE, NULL, 0); + no_wait_return = FALSE; msg_didany = i; TIME_MSG("reading stdin"); check_swap_exists_action(); -#if !(defined(AMIGA) || defined(MACOS_X)) - /* - * Close stdin and dup it from stderr. Required for GPM to work - * properly, and for running external commands. - * Is there any other system that cannot do this? - */ - close(0); - vim_ignored = dup(2); -#endif } /* diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1833, +/**/ 1832, /**/ 1831,