1 To: vim_dev@googlegroups.com
4 From: Bram Moolenaar <Bram@moolenaar.net>
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
11 Problem: When filtering text with an external command Vim may not read all
13 Solution: When select() is interrupted loop and try again. (James Vega)
17 *** ../vim-7.3.294/src/os_unix.c 2011-08-04 20:31:50.000000000 +0200
18 --- src/os_unix.c 2011-09-07 13:34:09.000000000 +0200
23 * Wait "msec" msec until a character is available from file descriptor "fd".
24 ! * Time == -1 will block forever.
25 * When a GUI is being used, this will not be used for input -- webb
26 * Returns also, when a request from Sniff is waiting -- toni.
27 * Or when a Linux GPM mouse event is waiting.
31 * Wait "msec" msec until a character is available from file descriptor "fd".
32 ! * "msec" == 0 will check for characters once.
33 ! * "msec" == -1 will block until a character is available.
34 * When a GUI is being used, this will not be used for input -- webb
35 * Returns also, when a request from Sniff is waiting -- toni.
36 * Or when a Linux GPM mouse event is waiting.
40 * Select on ready for reading and exceptional condition (end of file).
42 ! FD_ZERO(&rfds); /* calls bzero() on a sun */
45 # if !defined(__QNX__) && !defined(__CYGWIN32__)
48 * Select on ready for reading and exceptional condition (end of file).
54 # if !defined(__QNX__) && !defined(__CYGWIN32__)
59 ret = select(maxfd + 1, &rfds, NULL, &efds, tvp);
62 + if (ret == -1 && errno == EINTR)
63 + /* Interrupted by a signal, need to try again. We ignore msec
64 + * here, because we do want to check even after a timeout if
65 + * characters are available. Needed for reading output of an
66 + * external command after the process has finished. */
70 if (ret == -1 && errno == ENOTSUP)
79 if (ret == 0 && mzquantum_used)
80 /* loop if MzThreads must be scheduled and timeout occurred */
87 if (ret == 0 && mzquantum_used)
88 /* loop if MzThreads must be scheduled and timeout occurred */
89 *** ../vim-7.3.294/src/version.c 2011-09-05 20:13:37.000000000 +0200
90 --- src/version.c 2011-09-07 14:05:05.000000000 +0200
94 { /* Add new patch number below this line */
100 "You're fired." (1980)
101 "You're laid off." (1985)
102 "You're downsized." (1990)
103 "You're rightsized." (1992)
104 (Scott Adams - The Dilbert principle)
106 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
107 /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
108 \\\ an exciting new programming language -- http://www.Zimbu.org ///
109 \\\ help me help AIDS victims -- http://ICCF-Holland.org ///