To: vim_dev@googlegroups.com Subject: Patch 7.3.346 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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 -- Bram@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 ///