[vim] - patchlevel 595

Karsten Hopp karsten at fedoraproject.org
Wed Jul 18 08:58:19 UTC 2012


commit 9a4b3f454f136dad09b463e79e459116a5d374d5
Author: Karsten Hopp <karsten at redhat.com>
Date:   Wed Jul 18 10:58:05 2012 +0200

    - patchlevel 595

 7.3.595 |  154 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 154 insertions(+), 0 deletions(-)
---
diff --git a/7.3.595 b/7.3.595
new file mode 100644
index 0000000..0fc9b52
--- /dev/null
+++ b/7.3.595
@@ -0,0 +1,154 @@
+To: vim_dev at googlegroups.com
+Subject: Patch 7.3.595
+Fcc: outbox
+From: Bram Moolenaar <Bram at moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.3.595
+Problem:    The X command server responds slowly
+Solution:   Change the loop that waits for replies. (Brian Burns)
+Files:	    src/if_xcmdsrv.c
+
+
+*** ../vim-7.3.594/src/if_xcmdsrv.c	2012-07-10 14:25:00.000000000 +0200
+--- src/if_xcmdsrv.c	2012-07-10 14:44:13.000000000 +0200
+***************
+*** 572,632 ****
+  {
+      time_t	    start;
+      time_t	    now;
+-     time_t	    lastChk = 0;
+      XEvent	    event;
+!     XPropertyEvent *e = (XPropertyEvent *)&event;
+! #   define SEND_MSEC_POLL 50
+  
+      time(&start);
+!     while (endCond(endData) == 0)
+      {
+  	time(&now);
+  	if (seconds >= 0 && (now - start) >= seconds)
+  	    break;
+! 	if (now != lastChk)
+! 	{
+! 	    lastChk = now;
+! 	    if (!WindowValid(dpy, w))
+! 		break;
+! 	    /*
+! 	     * Sometimes the PropertyChange event doesn't come.
+! 	     * This can be seen in eg: vim -c 'echo remote_expr("gvim", "3+2")'
+! 	     */
+! 	    serverEventProc(dpy, NULL);
+! 	}
+  	if (localLoop)
+  	{
+- 	    /* Just look out for the answer without calling back into Vim */
+  #ifndef HAVE_SELECT
+- 	    struct pollfd   fds;
+- 
+- 	    fds.fd = ConnectionNumber(dpy);
+- 	    fds.events = POLLIN;
+  	    if (poll(&fds, 1, SEND_MSEC_POLL) < 0)
+  		break;
+  #else
+! 	    fd_set	    fds;
+! 	    struct timeval  tv;
+! 
+! 	    tv.tv_sec = 0;
+! 	    tv.tv_usec =  SEND_MSEC_POLL * 1000;
+! 	    FD_ZERO(&fds);
+! 	    FD_SET(ConnectionNumber(dpy), &fds);
+! 	    if (select(ConnectionNumber(dpy) + 1, &fds, NULL, NULL, &tv) < 0)
+  		break;
+  #endif
+- 	    while (XEventsQueued(dpy, QueuedAfterReading) > 0)
+- 	    {
+- 		XNextEvent(dpy, &event);
+- 		if (event.type == PropertyNotify && e->window == commWindow)
+- 		    serverEventProc(dpy, &event);
+- 	    }
+  	}
+  	else
+  	{
+  	    if (got_int)
+  		break;
+! 	    ui_delay((long)SEND_MSEC_POLL, TRUE);
+  	    ui_breakcheck();
+  	}
+      }
+--- 572,626 ----
+  {
+      time_t	    start;
+      time_t	    now;
+      XEvent	    event;
+! 
+! #define UI_MSEC_DELAY 50
+! #define SEND_MSEC_POLL 500
+! #ifndef HAVE_SELECT
+!     struct pollfd   fds;
+! 
+!     fds.fd = ConnectionNumber(dpy);
+!     fds.events = POLLIN;
+! #else
+!     fd_set	    fds;
+!     struct timeval  tv;
+! 
+!     tv.tv_sec = 0;
+!     tv.tv_usec =  SEND_MSEC_POLL * 1000;
+!     FD_ZERO(&fds);
+!     FD_SET(ConnectionNumber(dpy), &fds);
+! #endif
+  
+      time(&start);
+!     while (TRUE)
+      {
++ 	while (XCheckWindowEvent(dpy, commWindow, PropertyChangeMask, &event))
++ 	    serverEventProc(dpy, &event);
++ 
++ 	if (endCond(endData) != 0)
++ 	    break;
++ 	if (!WindowValid(dpy, w))
++ 	    break;
+  	time(&now);
+  	if (seconds >= 0 && (now - start) >= seconds)
+  	    break;
+! 
+! 	/* Just look out for the answer without calling back into Vim */
+  	if (localLoop)
+  	{
+  #ifndef HAVE_SELECT
+  	    if (poll(&fds, 1, SEND_MSEC_POLL) < 0)
+  		break;
+  #else
+! 	    if (select(FD_SETSIZE, &fds, NULL, NULL, &tv) < 0)
+  		break;
+  #endif
+  	}
+  	else
+  	{
+  	    if (got_int)
+  		break;
+! 	    ui_delay((long)UI_MSEC_DELAY, TRUE);
+  	    ui_breakcheck();
+  	}
+      }
+*** ../vim-7.3.594/src/version.c	2012-07-10 14:25:00.000000000 +0200
+--- src/version.c	2012-07-10 14:52:16.000000000 +0200
+***************
+*** 716,717 ****
+--- 716,719 ----
+  {   /* Add new patch number below this line */
++ /**/
++     595,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+104. When people ask about the Presidential Election you ask "Which country?"
+
+ /// Bram Moolenaar -- Bram at 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    ///


More information about the scm-commits mailing list