Patch 7.3.346
Problem:    It's hard to test netbeans commands.
Solution:   Process netbeans commands after :sleep. (Xavier de Gaye)
Files:      runtime/doc/netbeans.txt, src/ex_docmd.c, src/netbeans.c


*** ../vim-7.3.345/runtime/doc/netbeans.txt     2010-09-29 17:26:57.000000000 
+0200
--- runtime/doc/netbeans.txt    2011-10-20 21:51:41.000000000 +0200
***************
*** 1,4 ****
! *netbeans.txt*  For Vim version 7.3.  Last change: 2010 Aug 20
  
  
                  VIM REFERENCE MANUAL    by Gordon Prieur et al.
--- 1,4 ----
! *netbeans.txt*  For Vim version 7.3.  Last change: 2011 Oct 20
  
  
                  VIM REFERENCE MANUAL    by Gordon Prieur et al.
***************
*** 263,268 ****
--- 263,274 ----
  plain UTF-8 text this protocol could also be used with any other communication
  mechanism.
  
+ Netbeans messages are processed when Vim is idle, waiting for user input.
+ When Vim is run in non-interactive mode, for example when running an automated
+ test case that sources a Vim script, the idle loop may not be called often
+ enough. In that case, insert |sleep| commands in the Vim script. The |sleep|
+ command does invoke Netbeans messages processing.
+ 
  6.1 Kinds of messages         |nb-messages|
  6.2 Terms                     |nb-terms|
  6.3 Commands                  |nb-commands|
***************
*** 820,826 ****
  ==============================================================================
  7. NetBeans commands                                  *netbeans-commands*
  
!                                                       *:nbstart* *E511*
  :nbs[tart] {connection}       Start a new Netbeans session with {connection} 
as the
                        socket connection parameters.  The format of
                        {connection} is described in |netbeans-parameters|.
--- 826,832 ----
  ==============================================================================
  7. NetBeans commands                                  *netbeans-commands*
  
!                                                       *:nbstart* *E511* *E838*
  :nbs[tart] {connection}       Start a new Netbeans session with {connection} 
as the
                        socket connection parameters.  The format of
                        {connection} is described in |netbeans-parameters|.
***************
*** 833,843 ****
                        signs.
  
                                                        *:nbkey*
! :nb[key] {key}                Pass the {key} to the Vim Controller for 
processing
! 
! When a hot-key has been installed with the specialKeys command, this command
! can be used to generate a hotkey messages to the Vim Controller. The events
! newDotAndMark, keyCommand and keyAtPos are generated (in this order).
  
  
  ==============================================================================
--- 839,854 ----
                        signs.
  
                                                        *:nbkey*
! :nb[key] {key}                Pass the {key} to the Vim Controller for 
processing.
!                       When a hot-key has been installed with the specialKeys
!                       command, this command can be used to generate a hotkey
!                       message to the Vim Controller.
!                       This command can also be used to pass any text to the
!                       Vim  Controller. It is used by Pyclewn, for example,
!                       to build the complete set of gdb commands as Vim user
!                       commands.
!                       The events newDotAndMark, keyCommand and keyAtPos are
!                       generated (in this order).
  
  
  ==============================================================================
*** ../vim-7.3.345/src/ex_docmd.c       2011-09-30 18:35:49.000000000 +0200
--- src/ex_docmd.c      2011-10-20 21:50:06.000000000 +0200
***************
*** 8205,8210 ****
--- 8205,8216 ----
      {
        ui_delay(msec - done > 1000L ? 1000L : msec - done, TRUE);
        ui_breakcheck();
+ #ifdef FEAT_NETBEANS_INTG
+       /* Process the netbeans messages that may have been received in the
+        * call to ui_breakcheck() when the GUI is in use. This may occur when
+        * running a test case. */
+       netbeans_parse_messages();
+ #endif
      }
  }
  
*** ../vim-7.3.345/src/netbeans.c       2011-04-11 21:35:03.000000000 +0200
--- src/netbeans.c      2011-10-20 21:47:17.000000000 +0200
***************
*** 14,19 ****
--- 14,26 ----
   * which are *between* characters, whereas vim uses line number
   * and column number which are *on* characters.
   * See ":help netbeans-protocol" for explanation.
+  *
+  * The Netbeans messages are received and queued in the gui event loop, or in
+  * the select loop when Vim runs in a terminal. These messages are processed
+  * by netbeans_parse_messages() which is invoked in the idle loop when Vim is
+  * waiting for user input. The function netbeans_parse_messages() is also
+  * called from the ":sleep" command, to allow the execution of test cases that
+  * may not invoke the idle loop.
   */
  
  #include "vim.h"
*** ../vim-7.3.345/src/version.c        2011-10-20 21:57:43.000000000 +0200
--- src/version.c       2011-10-20 21:50:23.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
  {   /* Add new patch number below this line */
+ /**/
+     346,
  /**/

-- 
>From "know your smileys":
 ...---...   SOS

 /// Bram Moolenaar -- [email protected] -- 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    ///

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui