]> git.pld-linux.org Git - packages/vim.git/blame - 7.3.295
- up to 7.3.600
[packages/vim.git] / 7.3.295
CommitLineData
59ab3540
AM
1To: vim_dev@googlegroups.com
2Subject: Patch 7.3.295
3Fcc: outbox
4From: Bram Moolenaar <Bram@moolenaar.net>
5Mime-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8------------
9
10Patch 7.3.295
11Problem: When filtering text with an external command Vim may not read all
12 the output.
13Solution: When select() is interrupted loop and try again. (James Vega)
14Files: src/os_unix.c
15
16
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
19***************
20*** 4819,4825 ****
21
22 /*
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.
28--- 4819,4826 ----
29
30 /*
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.
37***************
38*** 5057,5063 ****
39 /*
40 * Select on ready for reading and exceptional condition (end of file).
41 */
42! FD_ZERO(&rfds); /* calls bzero() on a sun */
43 FD_ZERO(&efds);
44 FD_SET(fd, &rfds);
45 # if !defined(__QNX__) && !defined(__CYGWIN32__)
46--- 5058,5065 ----
47 /*
48 * Select on ready for reading and exceptional condition (end of file).
49 */
50! select_eintr:
51! FD_ZERO(&rfds);
52 FD_ZERO(&efds);
53 FD_SET(fd, &rfds);
54 # if !defined(__QNX__) && !defined(__CYGWIN32__)
55***************
56*** 5117,5122 ****
57--- 5119,5132 ----
58 # else
59 ret = select(maxfd + 1, &rfds, NULL, &efds, tvp);
60 # endif
61+ # ifdef EINTR
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. */
67+ goto select_eintr;
68+ # endif
69 # ifdef __TANDEM
70 if (ret == -1 && errno == ENOTSUP)
71 {
72***************
73*** 5124,5130 ****
74 FD_ZERO(&efds);
75 ret = 0;
76 }
77! #endif
78 # ifdef FEAT_MZSCHEME
79 if (ret == 0 && mzquantum_used)
80 /* loop if MzThreads must be scheduled and timeout occurred */
81--- 5134,5140 ----
82 FD_ZERO(&efds);
83 ret = 0;
84 }
85! # endif
86 # ifdef FEAT_MZSCHEME
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
91***************
92*** 711,712 ****
93--- 711,714 ----
94 { /* Add new patch number below this line */
95+ /**/
96+ 295,
97 /**/
98
99--
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)
105
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 ///
This page took 0.034517 seconds and 4 git commands to generate.