summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <bram@vim.org>2011-10-12 21:04:20 +0200
committerBram Moolenaar <bram@vim.org>2011-10-12 21:04:20 +0200
commitd74506600b46b5dd2b590da3e3e7938ee2412c2f (patch)
treecd83304f29ffb346f8b8c94302d36a2471cedcf0
parent6b6ecf04bfd14ee3327ce0a7aea9a582a0a8bae1 (diff)
downloadvim-7.3.337.tar.gz
updated for version 7.3.337v7.3.337v7-3-337
Problem: Screen doesn't update after resizing the xterm until a character is typed. Solution: When the select call is interrupted check do_resize. (Taylor Hedberg)
-rw-r--r--src/os_unix.c7
-rw-r--r--src/version.c2
2 files changed, 9 insertions, 0 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index 018c49f9..48176e18 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -5146,11 +5146,18 @@ select_eintr:
# endif
# ifdef EINTR
if (ret == -1 && errno == EINTR)
+ {
+ /* Check whether window has been resized, EINTR may be caused by
+ * SIGWINCH. */
+ if (do_resize)
+ handle_resize();
+
/* Interrupted by a signal, need to try again. We ignore msec
* here, because we do want to check even after a timeout if
* characters are available. Needed for reading output of an
* external command after the process has finished. */
goto select_eintr;
+ }
# endif
# ifdef __TANDEM
if (ret == -1 && errno == ENOTSUP)
diff --git a/src/version.c b/src/version.c
index 48d2d396..a77a78d8 100644
--- a/src/version.c
+++ b/src/version.c
@@ -710,6 +710,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 337,
+/**/
336,
/**/
335,