diff --git a/7.3.268 b/7.3.268 new file mode 100644 index 0000000..aa84877 --- /dev/null +++ b/7.3.268 @@ -0,0 +1,69 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.268 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.268 +Problem: Vim freezes when executing an external command with zsh. +Solution: Use O_NOCTTY both in the master and slave. (Bjorn Winckler) +Files: src/os_unix.c + + +*** ../vim-7.3.267/src/os_unix.c 2011-07-07 16:20:45.000000000 +0200 +--- src/os_unix.c 2011-08-04 19:06:14.000000000 +0200 +*************** +*** 3889,3899 **** + if (p_guipty && !(options & (SHELL_READ|SHELL_WRITE))) + { + pty_master_fd = OpenPTY(&tty_name); /* open pty */ +! if (pty_master_fd >= 0 && ((pty_slave_fd = +! open(tty_name, O_RDWR | O_EXTRA, 0)) < 0)) + { +! close(pty_master_fd); +! pty_master_fd = -1; + } + } + /* +--- 3889,3909 ---- + if (p_guipty && !(options & (SHELL_READ|SHELL_WRITE))) + { + pty_master_fd = OpenPTY(&tty_name); /* open pty */ +! if (pty_master_fd >= 0) + { +! /* Leaving out O_NOCTTY may lead to waitpid() always returning +! * 0 on Mac OS X 10.7 thereby causing freezes. Let's assume +! * adding O_NOCTTY always works when defined. */ +! #ifdef O_NOCTTY +! pty_slave_fd = open(tty_name, O_RDWR | O_NOCTTY | O_EXTRA, 0); +! #else +! pty_slave_fd = open(tty_name, O_RDWR | O_EXTRA, 0); +! #endif +! if (pty_slave_fd < 0) +! { +! close(pty_master_fd); +! pty_master_fd = -1; +! } + } + } + /* +*** ../vim-7.3.267/src/version.c 2011-08-04 19:34:55.000000000 +0200 +--- src/version.c 2011-08-04 19:36:00.000000000 +0200 +*************** +*** 711,712 **** +--- 711,714 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 268, + /**/ + +-- +Mental Floss prevents moral decay! + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///