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