home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / unreleased / patches / 6.0ax.013 < prev    next >
Encoding:
Internet Message Format  |  2001-09-23  |  2.7 KB

  1. To: vim-dev@vim.org
  2. Subject: Patch 6.0ax.013
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. ------------
  6.  
  7. Patch 6.0ax.013
  8. Problem:    remote_foreground() could use an invalid third argument.
  9.         Evaluating an expression with a command line argument could cause
  10.         a hang.  A property change event was lost.
  11. Solution:   Fix remote_foreground().  Check every second if a response has
  12.         been received. (Flemming Madsen)
  13. Files:        src/eval.c, src/if_xcmdsrv.c
  14.  
  15.  
  16. *** ../vim60ax.12/src/eval.c    Thu Sep 13 15:36:05 2001
  17. --- src/eval.c    Mon Sep 24 11:56:31 2001
  18. ***************
  19. *** 5724,5729 ****
  20. --- 5724,5730 ----
  21.       VAR        argvars;
  22.       VAR        retvar;
  23.   {
  24. +     retvar->var_val.var_number = 0;
  25.   #ifdef FEAT_CLIENTSERVER
  26.   # ifdef WIN32
  27.       /* On Win32 it's done in this application. */
  28. ***************
  29. *** 5732,5737 ****
  30. --- 5733,5739 ----
  31.       /* Send a foreground() expression to the server. */
  32.       argvars[1].var_type = VAR_STRING;
  33.       argvars[1].var_val.var_string = vim_strsave((char_u *)"foreground()");
  34. +     argvars[2].var_type = VAR_UNKNOWN;
  35.       remote_common(argvars, retvar, TRUE);
  36.       vim_free(argvars[1].var_val.var_string);
  37.   # endif
  38. *** ../vim60ax.12/src/if_xcmdsrv.c    Sat Sep 15 14:42:14 2001
  39. --- src/if_xcmdsrv.c    Mon Sep 24 12:02:29 2001
  40. ***************
  41. *** 552,557 ****
  42. --- 552,562 ----
  43.           lastChk = now;
  44.           if (!WindowValid(dpy, w))
  45.           break;
  46. +         /*
  47. +          * Sometimes the PropertyChange event doesn't come.
  48. +          * This can be seen in eg: vim -c 'echo remote_expr("gvim", "3+2")'
  49. +          */
  50. +         serverEventProc(dpy, NULL);
  51.       }
  52.       if (localLoop)
  53.       {
  54. ***************
  55. *** 1086,1094 ****
  56.       long_u    numItems, bytesAfter;
  57.       Atom    actualType;
  58.   
  59. !     if (eventPtr->xproperty.atom != commProperty
  60. !         || eventPtr->xproperty.state != PropertyNewValue)
  61. !     return;
  62.   
  63.       /*
  64.        * Read the comm property and delete it.
  65. --- 1091,1102 ----
  66.       long_u    numItems, bytesAfter;
  67.       Atom    actualType;
  68.   
  69. !     if (eventPtr != NULL)
  70. !     {
  71. !     if (eventPtr->xproperty.atom != commProperty
  72. !         || eventPtr->xproperty.state != PropertyNewValue)
  73. !         return;
  74. !     }
  75.   
  76.       /*
  77.        * Read the comm property and delete it.
  78. *** ../vim60ax.12/src/version.c    Sun Sep 23 21:43:41 2001
  79. --- src/version.c    Mon Sep 24 12:09:34 2001
  80. ***************
  81. *** 608,609 ****
  82. --- 608,611 ----
  83.   {   /* Add new patch number below this line */
  84. + /**/
  85. +     13,
  86.   /**/
  87.  
  88. -- 
  89. A M00se once bit my sister ...
  90.                  "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
  91.  
  92.  ///  Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net  \\\
  93. (((   Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim   )))
  94.  \\\  Help me helping AIDS orphans in Uganda - http://iccf-holland.org  ///
  95.