| To: vim-dev@vim.org |
| Subject: Patch 7.2.079 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=ISO-8859-1 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.2.079 |
| Problem: "killed" netbeans events are not handled correctly. |
| Solution: A "killed" netbeans event is sent when the buffer is deleted or |
| wiped out (in this case, the netbeans annotations in this buffer |
| have been removed). A user can still remove a sign with the |
| command ":sign unplace" and this does not trigger a "killed" |
| event. (Xavier de Gaye) |
| Files: runtime/doc/netbeans.txt, src/buffer.c, src/globals.h, |
| src/netbeans.c, src/proto/netbeans.pro |
| |
| |
| |
| |
| |
| *** 1,4 **** |
| ! *netbeans.txt* For Vim version 7.2. Last change: 2008 Jun 28 |
| |
| |
| VIM REFERENCE MANUAL by Gordon Prieur et al. |
| --- 1,4 ---- |
| ! *netbeans.txt* For Vim version 7.2. Last change: 2009 Jan 06 |
| |
| |
| VIM REFERENCE MANUAL by Gordon Prieur et al. |
| |
| *** 722,729 **** |
| of the cursor. |
| New in version 2.1. |
| |
| ! killed A file was closed by the user. Only for files that have been |
| ! assigned a number by the IDE. |
| |
| newDotAndMark off off |
| Reports the position of the cursor being at "off" bytes into |
| --- 722,731 ---- |
| of the cursor. |
| New in version 2.1. |
| |
| ! killed A file was deleted or wiped out by the user and the buffer |
| ! annotations have been removed. The bufID number for this |
| ! buffer has become invalid. Only for files that have been |
| ! assigned a bufID number by the IDE. |
| |
| newDotAndMark off off |
| Reports the position of the cursor being at "off" bytes into |
| |
| |
| |
| *** 437,446 **** |
| return; |
| #endif |
| |
| - #ifdef FEAT_NETBEANS_INTG |
| - if (usingNetbeans) |
| - netbeans_file_closed(buf); |
| - #endif |
| /* Change directories when the 'acd' option is set. */ |
| DO_AUTOCHDIR |
| |
| --- 437,442 ---- |
| |
| *** 639,644 **** |
| --- 635,644 ---- |
| #ifdef FEAT_SIGNS |
| buf_delete_signs(buf); /* delete any signs */ |
| #endif |
| + #ifdef FEAT_NETBEANS_INTG |
| + if (usingNetbeans) |
| + netbeans_file_killed(buf); |
| + #endif |
| #ifdef FEAT_LOCALMAP |
| map_clear_int(buf, MAP_ALL_MODES, TRUE, FALSE); /* clear local mappings */ |
| map_clear_int(buf, MAP_ALL_MODES, TRUE, TRUE); /* clear local abbrevs */ |
| |
| *** 815,823 **** |
| int bnr; /* buffer number */ |
| char_u *p; |
| |
| - #ifdef FEAT_NETBEANS_INTG |
| - netbeansCloseFile = 1; |
| - #endif |
| if (addr_count == 0) |
| { |
| (void)do_buffer(command, DOBUF_CURRENT, FORWARD, 0, forceit); |
| --- 815,820 ---- |
| |
| *** 912,920 **** |
| } |
| } |
| |
| - #ifdef FEAT_NETBEANS_INTG |
| - netbeansCloseFile = 0; |
| - #endif |
| |
| return errormsg; |
| } |
| --- 909,914 ---- |
| |
| |
| |
| *** 1340,1346 **** |
| |
| #ifdef FEAT_NETBEANS_INTG |
| EXTERN char *netbeansArg INIT(= NULL); /* the -nb[:host:port:passwd] arg */ |
| - EXTERN int netbeansCloseFile INIT(= 0); /* send killed if != 0 */ |
| EXTERN int netbeansFireChanges INIT(= 1); /* send buffer changes if != 0 */ |
| EXTERN int netbeansForcedQuit INIT(= 0);/* don't write modified files */ |
| EXTERN int netbeansReadFile INIT(= 1); /* OK to read from disk if != 0 */ |
| --- 1340,1345 ---- |
| |
| |
| |
| *** 2921,2964 **** |
| } |
| |
| /* |
| ! * Tell netbeans a file was closed. |
| */ |
| void |
| ! netbeans_file_closed(buf_T *bufp) |
| { |
| int bufno = nb_getbufno(bufp); |
| nbbuf_T *nbbuf = nb_get_buf(bufno); |
| char buffer[2*MAXPATHL]; |
| |
| ! if (!haveConnection || bufno < 0) |
| return; |
| |
| ! if (!netbeansCloseFile) |
| ! { |
| ! nbdebug(("Ignoring file_closed for %s. File was closed from IDE\n", |
| ! bufp->b_ffname)); |
| ! return; |
| ! } |
| ! |
| ! nbdebug(("netbeans_file_closed:\n")); |
| ! nbdebug((" Closing bufno: %d", bufno)); |
| ! if (curbuf != NULL && curbuf != bufp) |
| ! { |
| ! nbdebug((" Curbuf bufno: %d\n", nb_getbufno(curbuf))); |
| ! } |
| ! else if (curbuf == bufp) |
| ! { |
| ! nbdebug((" curbuf == bufp\n")); |
| ! } |
| ! |
| ! if (bufno <= 0) |
| ! return; |
| |
| sprintf(buffer, "%d:killed=%d\n", bufno, r_cmdno); |
| |
| nbdebug(("EVT: %s", buffer)); |
| |
| ! nb_send(buffer, "netbeans_file_closed"); |
| |
| if (nbbuf != NULL) |
| nbbuf->bufp = NULL; |
| --- 2921,2946 ---- |
| } |
| |
| /* |
| ! * Tell netbeans that a file was deleted or wiped out. |
| */ |
| void |
| ! netbeans_file_killed(buf_T *bufp) |
| { |
| int bufno = nb_getbufno(bufp); |
| nbbuf_T *nbbuf = nb_get_buf(bufno); |
| char buffer[2*MAXPATHL]; |
| |
| ! if (!haveConnection || bufno == -1) |
| return; |
| |
| ! nbdebug(("netbeans_file_killed:\n")); |
| ! nbdebug((" Killing bufno: %d", bufno)); |
| |
| sprintf(buffer, "%d:killed=%d\n", bufno, r_cmdno); |
| |
| nbdebug(("EVT: %s", buffer)); |
| |
| ! nb_send(buffer, "netbeans_file_killed"); |
| |
| if (nbbuf != NULL) |
| nbbuf->bufp = NULL; |
| |
| |
| |
| *** 11,17 **** |
| void netbeans_frame_moved __ARGS((int new_x, int new_y)); |
| void netbeans_file_activated __ARGS((buf_T *bufp)); |
| void netbeans_file_opened __ARGS((buf_T *bufp)); |
| ! void netbeans_file_closed __ARGS((buf_T *bufp)); |
| void netbeans_inserted __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, char_u *txt, int newlen)); |
| void netbeans_removed __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, long len)); |
| void netbeans_unmodified __ARGS((buf_T *bufp)); |
| --- 11,17 ---- |
| void netbeans_frame_moved __ARGS((int new_x, int new_y)); |
| void netbeans_file_activated __ARGS((buf_T *bufp)); |
| void netbeans_file_opened __ARGS((buf_T *bufp)); |
| ! void netbeans_file_killed __ARGS((buf_T *bufp)); |
| void netbeans_inserted __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, char_u *txt, int newlen)); |
| void netbeans_removed __ARGS((buf_T *bufp, linenr_T linenr, colnr_T col, long len)); |
| void netbeans_unmodified __ARGS((buf_T *bufp)); |
| |
| |
| |
| *** 678,679 **** |
| --- 678,681 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 79, |
| /**/ |
| |
| -- |
| Friends? I have lots of friends! In fact, I have every episode ever made. |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ download, build and distribute -- http://www.A-A-P.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |