Mercurial > vim
comparison src/netbeans.c @ 18808:7982f65d8f54 v8.1.2392
patch 8.1.2392: using old C style comments
Commit: https://github.com/vim/vim/commit/6e0ce171e19d0118ecd7c2b16e2a1bd50aa76013
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Dec 5 20:12:41 2019 +0100
patch 8.1.2392: using old C style comments
Problem: Using old C style comments.
Solution: Use // comments where appropriate.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 05 Dec 2019 20:15:04 +0100 |
parents | 1848b3e07266 |
children | 435726a03481 |
comparison
equal
deleted
inserted
replaced
18807:7e28c71af59a | 18808:7982f65d8f54 |
---|---|
34 # endif | 34 # endif |
35 #endif | 35 #endif |
36 | 36 |
37 #include "version.h" | 37 #include "version.h" |
38 | 38 |
39 #define GUARDED 10000 /* typenr for "guarded" annotation */ | 39 #define GUARDED 10000 // typenr for "guarded" annotation |
40 #define GUARDEDOFFSET 1000000 /* base for "guarded" sign id's */ | 40 #define GUARDEDOFFSET 1000000 // base for "guarded" sign id's |
41 #define MAX_COLOR_LENGTH 32 /* max length of color name in defineAnnoType */ | 41 #define MAX_COLOR_LENGTH 32 // max length of color name in defineAnnoType |
42 | 42 |
43 /* The first implementation (working only with Netbeans) returned "1.1". The | 43 // The first implementation (working only with Netbeans) returned "1.1". The |
44 * protocol implemented here also supports A-A-P. */ | 44 // protocol implemented here also supports A-A-P. |
45 static char *ExtEdProtocolVersion = "2.5"; | 45 static char *ExtEdProtocolVersion = "2.5"; |
46 | 46 |
47 static long pos2off(buf_T *, pos_T *); | 47 static long pos2off(buf_T *, pos_T *); |
48 static pos_T *off2pos(buf_T *, long); | 48 static pos_T *off2pos(buf_T *, long); |
49 static pos_T *get_off_or_lnum(buf_T *buf, char_u **argp); | 49 static pos_T *get_off_or_lnum(buf_T *buf, char_u **argp); |
62 static void nb_free(void); | 62 static void nb_free(void); |
63 | 63 |
64 #define NETBEANS_OPEN (channel_can_write_to(nb_channel)) | 64 #define NETBEANS_OPEN (channel_can_write_to(nb_channel)) |
65 static channel_T *nb_channel = NULL; | 65 static channel_T *nb_channel = NULL; |
66 | 66 |
67 static int r_cmdno; /* current command number for reply */ | 67 static int r_cmdno; // current command number for reply |
68 static int dosetvisible = FALSE; | 68 static int dosetvisible = FALSE; |
69 | 69 |
70 /* | 70 /* |
71 * Include the debugging code if wanted. | 71 * Include the debugging code if wanted. |
72 */ | 72 */ |
96 if (NETBEANS_OPEN) | 96 if (NETBEANS_OPEN) |
97 { | 97 { |
98 netbeans_send_disconnect(); | 98 netbeans_send_disconnect(); |
99 if (nb_channel != NULL) | 99 if (nb_channel != NULL) |
100 { | 100 { |
101 /* Close the socket and remove the input handlers. */ | 101 // Close the socket and remove the input handlers. |
102 channel_close(nb_channel, TRUE); | 102 channel_close(nb_channel, TRUE); |
103 channel_clear(nb_channel); | 103 channel_clear(nb_channel); |
104 } | 104 } |
105 nb_channel = NULL; | 105 nb_channel = NULL; |
106 } | 106 } |
111 | 111 |
112 needupdate = 0; | 112 needupdate = 0; |
113 inAtomic = 0; | 113 inAtomic = 0; |
114 nb_free(); | 114 nb_free(); |
115 | 115 |
116 /* remove all signs and update the screen after gutter removal */ | 116 // remove all signs and update the screen after gutter removal |
117 coloncmd(":sign unplace *"); | 117 coloncmd(":sign unplace *"); |
118 changed_window_setting(); | 118 changed_window_setting(); |
119 update_screen(CLEAR); | 119 update_screen(CLEAR); |
120 setcursor(); | 120 setcursor(); |
121 cursor_on(); | 121 cursor_on(); |
137 char *fname; | 137 char *fname; |
138 char *arg = NULL; | 138 char *arg = NULL; |
139 | 139 |
140 if (*params == '=') | 140 if (*params == '=') |
141 { | 141 { |
142 /* "=fname": Read info from specified file. */ | 142 // "=fname": Read info from specified file. |
143 if (getConnInfo(params + 1, &hostname, &address, &password) == FAIL) | 143 if (getConnInfo(params + 1, &hostname, &address, &password) == FAIL) |
144 return FAIL; | 144 return FAIL; |
145 } | 145 } |
146 else | 146 else |
147 { | 147 { |
148 if (*params == ':') | 148 if (*params == ':') |
149 /* ":<host>:<addr>:<password>": get info from argument */ | 149 // ":<host>:<addr>:<password>": get info from argument |
150 arg = params + 1; | 150 arg = params + 1; |
151 if (arg == NULL && (fname = getenv("__NETBEANS_CONINFO")) != NULL) | 151 if (arg == NULL && (fname = getenv("__NETBEANS_CONINFO")) != NULL) |
152 { | 152 { |
153 /* "": get info from file specified in environment */ | 153 // "": get info from file specified in environment |
154 if (getConnInfo(fname, &hostname, &address, &password) == FAIL) | 154 if (getConnInfo(fname, &hostname, &address, &password) == FAIL) |
155 return FAIL; | 155 return FAIL; |
156 } | 156 } |
157 else | 157 else |
158 { | 158 { |
159 if (arg != NULL) | 159 if (arg != NULL) |
160 { | 160 { |
161 /* ":<host>:<addr>:<password>": get info from argument */ | 161 // ":<host>:<addr>:<password>": get info from argument |
162 hostname = arg; | 162 hostname = arg; |
163 address = strchr(hostname, ':'); | 163 address = strchr(hostname, ':'); |
164 if (address != NULL) | 164 if (address != NULL) |
165 { | 165 { |
166 *address++ = '\0'; | 166 *address++ = '\0'; |
168 if (password != NULL) | 168 if (password != NULL) |
169 *password++ = '\0'; | 169 *password++ = '\0'; |
170 } | 170 } |
171 } | 171 } |
172 | 172 |
173 /* Get the missing values from the environment. */ | 173 // Get the missing values from the environment. |
174 if (hostname == NULL || *hostname == '\0') | 174 if (hostname == NULL || *hostname == '\0') |
175 hostname = getenv("__NETBEANS_HOST"); | 175 hostname = getenv("__NETBEANS_HOST"); |
176 if (address == NULL) | 176 if (address == NULL) |
177 address = getenv("__NETBEANS_SOCKET"); | 177 address = getenv("__NETBEANS_SOCKET"); |
178 if (password == NULL) | 178 if (password == NULL) |
179 password = getenv("__NETBEANS_VIM_PASSWORD"); | 179 password = getenv("__NETBEANS_VIM_PASSWORD"); |
180 | 180 |
181 /* Move values to allocated memory. */ | 181 // Move values to allocated memory. |
182 if (hostname != NULL) | 182 if (hostname != NULL) |
183 hostname = (char *)vim_strsave((char_u *)hostname); | 183 hostname = (char *)vim_strsave((char_u *)hostname); |
184 if (address != NULL) | 184 if (address != NULL) |
185 address = (char *)vim_strsave((char_u *)address); | 185 address = (char *)vim_strsave((char_u *)address); |
186 if (password != NULL) | 186 if (password != NULL) |
187 password = (char *)vim_strsave((char_u *)password); | 187 password = (char *)vim_strsave((char_u *)password); |
188 } | 188 } |
189 } | 189 } |
190 | 190 |
191 /* Use the default when a value is missing. */ | 191 // Use the default when a value is missing. |
192 if (hostname == NULL || *hostname == '\0') | 192 if (hostname == NULL || *hostname == '\0') |
193 { | 193 { |
194 vim_free(hostname); | 194 vim_free(hostname); |
195 hostname = (char *)vim_strsave((char_u *)NB_DEF_HOST); | 195 hostname = (char *)vim_strsave((char_u *)NB_DEF_HOST); |
196 } | 196 } |
208 { | 208 { |
209 port = atoi(address); | 209 port = atoi(address); |
210 nb_channel = channel_open(hostname, port, 3000, nb_channel_closed); | 210 nb_channel = channel_open(hostname, port, 3000, nb_channel_closed); |
211 if (nb_channel != NULL) | 211 if (nb_channel != NULL) |
212 { | 212 { |
213 /* success */ | 213 // success |
214 # ifdef FEAT_BEVAL_GUI | 214 # ifdef FEAT_BEVAL_GUI |
215 bevalServers |= BEVAL_NETBEANS; | 215 bevalServers |= BEVAL_NETBEANS; |
216 # endif | 216 # endif |
217 | 217 |
218 /* success, login */ | 218 // success, login |
219 vim_snprintf(buf, sizeof(buf), "AUTH %s\n", password); | 219 vim_snprintf(buf, sizeof(buf), "AUTH %s\n", password); |
220 nb_send(buf, "netbeans_connect"); | 220 nb_send(buf, "netbeans_connect"); |
221 | 221 |
222 sprintf(buf, "0:version=0 \"%s\"\n", ExtEdProtocolVersion); | 222 sprintf(buf, "0:version=0 \"%s\"\n", ExtEdProtocolVersion); |
223 nb_send(buf, "externaleditor_version"); | 223 nb_send(buf, "externaleditor_version"); |
269 nbdebug(("Cannot open NetBeans connection info file\n")); | 269 nbdebug(("Cannot open NetBeans connection info file\n")); |
270 PERROR("E660: Cannot open NetBeans connection info file"); | 270 PERROR("E660: Cannot open NetBeans connection info file"); |
271 return FAIL; | 271 return FAIL; |
272 } | 272 } |
273 | 273 |
274 /* Read the file. There should be one of each parameter */ | 274 // Read the file. There should be one of each parameter |
275 while ((lp = (char_u *)fgets((char *)buf, BUFSIZ, fp)) != NULL) | 275 while ((lp = (char_u *)fgets((char *)buf, BUFSIZ, fp)) != NULL) |
276 { | 276 { |
277 if ((nlp = vim_strchr(lp, '\n')) != NULL) | 277 if ((nlp = vim_strchr(lp, '\n')) != NULL) |
278 *nlp = 0; /* strip off the trailing newline */ | 278 *nlp = 0; // strip off the trailing newline |
279 | 279 |
280 if (STRNCMP(lp, "host=", 5) == 0) | 280 if (STRNCMP(lp, "host=", 5) == 0) |
281 { | 281 { |
282 vim_free(*host); | 282 vim_free(*host); |
283 *host = (char *)vim_strsave(&buf[5]); | 283 *host = (char *)vim_strsave(&buf[5]); |
306 struct keyqueue *prev; | 306 struct keyqueue *prev; |
307 }; | 307 }; |
308 | 308 |
309 typedef struct keyqueue keyQ_T; | 309 typedef struct keyqueue keyQ_T; |
310 | 310 |
311 static keyQ_T keyHead; /* dummy node, header for circular queue */ | 311 static keyQ_T keyHead; // dummy node, header for circular queue |
312 | 312 |
313 | 313 |
314 /* | 314 /* |
315 * Queue up key commands sent from netbeans. | 315 * Queue up key commands sent from netbeans. |
316 * We store the string, because it may depend on the global mod_mask and | 316 * We store the string, because it may depend on the global mod_mask and |
321 { | 321 { |
322 keyQ_T *node; | 322 keyQ_T *node; |
323 | 323 |
324 node = ALLOC_ONE(keyQ_T); | 324 node = ALLOC_ONE(keyQ_T); |
325 if (node == NULL) | 325 if (node == NULL) |
326 return; /* out of memory, drop the key */ | 326 return; // out of memory, drop the key |
327 | 327 |
328 if (keyHead.next == NULL) /* initialize circular queue */ | 328 if (keyHead.next == NULL) // initialize circular queue |
329 { | 329 { |
330 keyHead.next = &keyHead; | 330 keyHead.next = &keyHead; |
331 keyHead.prev = &keyHead; | 331 keyHead.prev = &keyHead; |
332 } | 332 } |
333 | 333 |
334 /* insert node at tail of queue */ | 334 // insert node at tail of queue |
335 node->next = &keyHead; | 335 node->next = &keyHead; |
336 node->prev = keyHead.prev; | 336 node->prev = keyHead.prev; |
337 keyHead.prev->next = node; | 337 keyHead.prev->next = node; |
338 keyHead.prev = node; | 338 keyHead.prev = node; |
339 | 339 |
348 { | 348 { |
349 int postponed = FALSE; | 349 int postponed = FALSE; |
350 | 350 |
351 while (!postponed && keyHead.next && keyHead.next != &keyHead) | 351 while (!postponed && keyHead.next && keyHead.next != &keyHead) |
352 { | 352 { |
353 /* first, unlink the node */ | 353 // first, unlink the node |
354 keyQ_T *node = keyHead.next; | 354 keyQ_T *node = keyHead.next; |
355 keyHead.next = node->next; | 355 keyHead.next = node->next; |
356 node->next->prev = node->prev; | 356 node->next->prev = node->prev; |
357 | 357 |
358 /* Now, send the keycommand. This may cause it to be postponed again | 358 // Now, send the keycommand. This may cause it to be postponed again |
359 * and change keyHead. */ | 359 // and change keyHead. |
360 if (node->keystr != NULL) | 360 if (node->keystr != NULL) |
361 postponed = !netbeans_keystring(node->keystr); | 361 postponed = !netbeans_keystring(node->keystr); |
362 vim_free(node->keystr); | 362 vim_free(node->keystr); |
363 | 363 |
364 /* Finally, dispose of the node */ | 364 // Finally, dispose of the node |
365 vim_free(node); | 365 vim_free(node); |
366 } | 366 } |
367 } | 367 } |
368 | 368 |
369 | 369 |
380 | 380 |
381 while (nb_channel != NULL) | 381 while (nb_channel != NULL) |
382 { | 382 { |
383 node = channel_peek(nb_channel, PART_SOCK); | 383 node = channel_peek(nb_channel, PART_SOCK); |
384 if (node == NULL) | 384 if (node == NULL) |
385 break; /* nothing to read */ | 385 break; // nothing to read |
386 | 386 |
387 /* Locate the end of the first line in the first buffer. */ | 387 // Locate the end of the first line in the first buffer. |
388 p = channel_first_nl(node); | 388 p = channel_first_nl(node); |
389 if (p == NULL) | 389 if (p == NULL) |
390 { | 390 { |
391 /* Command isn't complete. If there is no following buffer, | 391 // Command isn't complete. If there is no following buffer, |
392 * return (wait for more). If there is another buffer following, | 392 // return (wait for more). If there is another buffer following, |
393 * prepend the text to that buffer and delete this one. */ | 393 // prepend the text to that buffer and delete this one. |
394 if (channel_collapse(nb_channel, PART_SOCK, TRUE) == FAIL) | 394 if (channel_collapse(nb_channel, PART_SOCK, TRUE) == FAIL) |
395 return; | 395 return; |
396 continue; | 396 continue; |
397 } | 397 } |
398 | 398 |
399 /* There is a complete command at the start of the buffer. | 399 // There is a complete command at the start of the buffer. |
400 * Terminate it with a NUL. When no more text is following unlink | 400 // Terminate it with a NUL. When no more text is following unlink |
401 * the buffer. Do this before executing, because new buffers can | 401 // the buffer. Do this before executing, because new buffers can |
402 * be added while busy handling the command. */ | 402 // be added while busy handling the command. |
403 *p++ = NUL; | 403 *p++ = NUL; |
404 if (*p == NUL) | 404 if (*p == NUL) |
405 { | 405 { |
406 own_node = TRUE; | 406 own_node = TRUE; |
407 buffer = channel_get(nb_channel, PART_SOCK, NULL); | 407 buffer = channel_get(nb_channel, PART_SOCK, NULL); |
408 /* "node" is now invalid! */ | 408 // "node" is now invalid! |
409 } | 409 } |
410 else | 410 else |
411 { | 411 { |
412 own_node = FALSE; | 412 own_node = FALSE; |
413 buffer = node->rq_buffer; | 413 buffer = node->rq_buffer; |
414 } | 414 } |
415 | 415 |
416 /* Now, parse and execute the commands. This may set nb_channel to | 416 // Now, parse and execute the commands. This may set nb_channel to |
417 * NULL if the channel is closed. */ | 417 // NULL if the channel is closed. |
418 nb_parse_cmd(buffer); | 418 nb_parse_cmd(buffer); |
419 | 419 |
420 if (own_node) | 420 if (own_node) |
421 /* buffer finished, dispose of it */ | 421 // buffer finished, dispose of it |
422 vim_free(buffer); | 422 vim_free(buffer); |
423 else if (nb_channel != NULL) | 423 else if (nb_channel != NULL) |
424 /* more follows, move it to the start */ | 424 // more follows, move it to the start |
425 channel_consume(nb_channel, PART_SOCK, (int)(p - buffer)); | 425 channel_consume(nb_channel, PART_SOCK, (int)(p - buffer)); |
426 } | 426 } |
427 } | 427 } |
428 | 428 |
429 /* | 429 /* |
450 int bufno; | 450 int bufno; |
451 int isfunc = -1; | 451 int isfunc = -1; |
452 | 452 |
453 if (STRCMP(cmd, "DISCONNECT") == 0) | 453 if (STRCMP(cmd, "DISCONNECT") == 0) |
454 { | 454 { |
455 /* We assume the server knows that we can safely exit! */ | 455 // We assume the server knows that we can safely exit! |
456 /* Disconnect before exiting, Motif hangs in a Select error | 456 // Disconnect before exiting, Motif hangs in a Select error |
457 * message otherwise. */ | 457 // message otherwise. |
458 netbeans_close(); | 458 netbeans_close(); |
459 getout(0); | 459 getout(0); |
460 /* NOTREACHED */ | 460 // NOTREACHED |
461 } | 461 } |
462 | 462 |
463 if (STRCMP(cmd, "DETACH") == 0) | 463 if (STRCMP(cmd, "DETACH") == 0) |
464 { | 464 { |
465 buf_T *buf; | 465 buf_T *buf; |
466 | 466 |
467 FOR_ALL_BUFFERS(buf) | 467 FOR_ALL_BUFFERS(buf) |
468 buf->b_has_sign_column = FALSE; | 468 buf->b_has_sign_column = FALSE; |
469 | 469 |
470 /* The IDE is breaking the connection. */ | 470 // The IDE is breaking the connection. |
471 netbeans_close(); | 471 netbeans_close(); |
472 return; | 472 return; |
473 } | 473 } |
474 | 474 |
475 bufno = strtol((char *)cmd, &verb, 10); | 475 bufno = strtol((char *)cmd, &verb, 10); |
478 { | 478 { |
479 nbdebug((" missing colon: %s\n", cmd)); | 479 nbdebug((" missing colon: %s\n", cmd)); |
480 semsg("E627: missing colon: %s", cmd); | 480 semsg("E627: missing colon: %s", cmd); |
481 return; | 481 return; |
482 } | 482 } |
483 ++verb; /* skip colon */ | 483 ++verb; // skip colon |
484 | 484 |
485 for (q = verb; *q; q++) | 485 for (q = verb; *q; q++) |
486 { | 486 { |
487 if (*q == '!') | 487 if (*q == '!') |
488 { | 488 { |
538 }; | 538 }; |
539 | 539 |
540 typedef struct nbbuf_struct nbbuf_T; | 540 typedef struct nbbuf_struct nbbuf_T; |
541 | 541 |
542 static nbbuf_T *buf_list = NULL; | 542 static nbbuf_T *buf_list = NULL; |
543 static int buf_list_size = 0; /* size of buf_list */ | 543 static int buf_list_size = 0; // size of buf_list |
544 static int buf_list_used = 0; /* nr of entries in buf_list actually in use */ | 544 static int buf_list_used = 0; // nr of entries in buf_list actually in use |
545 | 545 |
546 static char **globalsignmap = NULL; | 546 static char **globalsignmap = NULL; |
547 static int globalsignmaplen = 0; | 547 static int globalsignmaplen = 0; |
548 static int globalsignmapused = 0; | 548 static int globalsignmapused = 0; |
549 | 549 |
564 { | 564 { |
565 keyQ_T *key_node = keyHead.next; | 565 keyQ_T *key_node = keyHead.next; |
566 nbbuf_T buf; | 566 nbbuf_T buf; |
567 int i; | 567 int i; |
568 | 568 |
569 /* free the netbeans buffer list */ | 569 // free the netbeans buffer list |
570 for (i = 0; i < buf_list_used; i++) | 570 for (i = 0; i < buf_list_used; i++) |
571 { | 571 { |
572 buf = buf_list[i]; | 572 buf = buf_list[i]; |
573 vim_free(buf.displayname); | 573 vim_free(buf.displayname); |
574 vim_free(buf.signmap); | 574 vim_free(buf.signmap); |
580 } | 580 } |
581 VIM_CLEAR(buf_list); | 581 VIM_CLEAR(buf_list); |
582 buf_list_size = 0; | 582 buf_list_size = 0; |
583 buf_list_used = 0; | 583 buf_list_used = 0; |
584 | 584 |
585 /* free the queued key commands */ | 585 // free the queued key commands |
586 while (key_node != NULL && key_node != &keyHead) | 586 while (key_node != NULL && key_node != &keyHead) |
587 { | 587 { |
588 keyQ_T *next = key_node->next; | 588 keyQ_T *next = key_node->next; |
589 vim_free(key_node->keystr); | 589 vim_free(key_node->keystr); |
590 vim_free(key_node); | 590 vim_free(key_node); |
595 break; | 595 break; |
596 } | 596 } |
597 key_node = next; | 597 key_node = next; |
598 } | 598 } |
599 | 599 |
600 /* free the queued netbeans commands */ | 600 // free the queued netbeans commands |
601 if (nb_channel != NULL) | 601 if (nb_channel != NULL) |
602 channel_clear(nb_channel); | 602 channel_clear(nb_channel); |
603 } | 603 } |
604 | 604 |
605 /* | 605 /* |
656 * non-buffer related command has been sent. | 656 * non-buffer related command has been sent. |
657 */ | 657 */ |
658 static nbbuf_T * | 658 static nbbuf_T * |
659 nb_get_buf(int bufno) | 659 nb_get_buf(int bufno) |
660 { | 660 { |
661 /* find or create a buffer with the given number */ | 661 // find or create a buffer with the given number |
662 int incr; | 662 int incr; |
663 | 663 |
664 if (bufno <= 0) | 664 if (bufno <= 0) |
665 return NULL; | 665 return NULL; |
666 | 666 |
667 if (!buf_list) | 667 if (!buf_list) |
668 { | 668 { |
669 /* initialize */ | 669 // initialize |
670 buf_list = alloc_clear(100 * sizeof(nbbuf_T)); | 670 buf_list = alloc_clear(100 * sizeof(nbbuf_T)); |
671 buf_list_size = 100; | 671 buf_list_size = 100; |
672 } | 672 } |
673 if (bufno >= buf_list_used) /* new */ | 673 if (bufno >= buf_list_used) // new |
674 { | 674 { |
675 if (bufno >= buf_list_size) /* grow list */ | 675 if (bufno >= buf_list_size) // grow list |
676 { | 676 { |
677 nbbuf_T *t_buf_list = buf_list; | 677 nbbuf_T *t_buf_list = buf_list; |
678 | 678 |
679 incr = bufno - buf_list_size + 90; | 679 incr = bufno - buf_list_size + 90; |
680 buf_list_size += incr; | 680 buf_list_size += incr; |
689 incr * sizeof(nbbuf_T)); | 689 incr * sizeof(nbbuf_T)); |
690 } | 690 } |
691 | 691 |
692 while (buf_list_used <= bufno) | 692 while (buf_list_used <= bufno) |
693 { | 693 { |
694 /* Default is to fire text changes. */ | 694 // Default is to fire text changes. |
695 buf_list[buf_list_used].fireChanges = 1; | 695 buf_list[buf_list_used].fireChanges = 1; |
696 ++buf_list_used; | 696 ++buf_list_used; |
697 } | 697 } |
698 } | 698 } |
699 | 699 |
732 { | 732 { |
733 if (!buf_list[i].bufp) | 733 if (!buf_list[i].bufp) |
734 continue; | 734 continue; |
735 if (netbeansForcedQuit) | 735 if (netbeansForcedQuit) |
736 { | 736 { |
737 /* mark as unmodified so NetBeans won't put up dialog on "killed" */ | 737 // mark as unmodified so NetBeans won't put up dialog on "killed" |
738 sprintf(buf, "%d:unmodified=%d\n", i, r_cmdno); | 738 sprintf(buf, "%d:unmodified=%d\n", i, r_cmdno); |
739 nbdebug(("EVT: %s", buf)); | 739 nbdebug(("EVT: %s", buf)); |
740 nb_send(buf, "netbeans_end"); | 740 nb_send(buf, "netbeans_end"); |
741 } | 741 } |
742 sprintf(buf, "%d:killed=%d\n", i, r_cmdno); | 742 sprintf(buf, "%d:killed=%d\n", i, r_cmdno); |
743 nbdebug(("EVT: %s", buf)); | 743 nbdebug(("EVT: %s", buf)); |
744 /* nb_send(buf, "netbeans_end"); avoid "write failed" messages */ | 744 // nb_send(buf, "netbeans_end"); avoid "write failed" messages |
745 nb_send(buf, NULL); | 745 nb_send(buf, NULL); |
746 } | 746 } |
747 } | 747 } |
748 | 748 |
749 /* | 749 /* |
767 { | 767 { |
768 char reply[32]; | 768 char reply[32]; |
769 | 769 |
770 nbdebug(("REP %d: <none>\n", cmdno)); | 770 nbdebug(("REP %d: <none>\n", cmdno)); |
771 | 771 |
772 /* Avoid printing an annoying error message. */ | 772 // Avoid printing an annoying error message. |
773 if (!NETBEANS_OPEN) | 773 if (!NETBEANS_OPEN) |
774 return; | 774 return; |
775 | 775 |
776 sprintf(reply, "%d\n", cmdno); | 776 sprintf(reply, "%d\n", cmdno); |
777 nb_send(reply, "nb_reply_nil"); | 777 nb_send(reply, "nb_reply_nil"); |
829 switch (*p) | 829 switch (*p) |
830 { | 830 { |
831 case '\"': | 831 case '\"': |
832 case '\\': | 832 case '\\': |
833 *q++ = '\\'; *q++ = *p; break; | 833 *q++ = '\\'; *q++ = *p; break; |
834 /* case '\t': */ | 834 // case '\t': |
835 /* *q++ = '\\'; *q++ = 't'; break; */ | 835 // *q++ = '\\'; *q++ = 't'; break; |
836 case '\n': | 836 case '\n': |
837 *q++ = '\\'; *q++ = 'n'; break; | 837 *q++ = '\\'; *q++ = 'n'; break; |
838 case '\r': | 838 case '\r': |
839 *q++ = '\\'; *q++ = 'r'; break; | 839 *q++ = '\\'; *q++ = 'r'; break; |
840 default: | 840 default: |
859 { | 859 { |
860 char *result = 0; | 860 char *result = 0; |
861 char *q; | 861 char *q; |
862 int done = 0; | 862 int done = 0; |
863 | 863 |
864 /* result is never longer than input */ | 864 // result is never longer than input |
865 result = alloc_clear(STRLEN(p) + 1); | 865 result = alloc_clear(STRLEN(p) + 1); |
866 if (result == NULL) | 866 if (result == NULL) |
867 return NULL; | 867 return NULL; |
868 | 868 |
869 if (*p++ != '"') | 869 if (*p++ != '"') |
893 case 'n': *q++ = '\n'; break; | 893 case 'n': *q++ = '\n'; break; |
894 case 't': *q++ = '\t'; break; | 894 case 't': *q++ = '\t'; break; |
895 case 'r': *q++ = '\r'; break; | 895 case 'r': *q++ = '\r'; break; |
896 case '"': *q++ = '"'; break; | 896 case '"': *q++ = '"'; break; |
897 case NUL: --p; break; | 897 case NUL: --p; break; |
898 /* default: skip over illegal chars */ | 898 // default: skip over illegal chars |
899 } | 899 } |
900 ++p; | 900 ++p; |
901 break; | 901 break; |
902 | 902 |
903 default: | 903 default: |
922 int oldlen; | 922 int oldlen; |
923 int lastbyte = last; | 923 int lastbyte = last; |
924 | 924 |
925 oldtext = ml_get(lnum); | 925 oldtext = ml_get(lnum); |
926 oldlen = (int)STRLEN(oldtext); | 926 oldlen = (int)STRLEN(oldtext); |
927 if (first >= (colnr_T)oldlen || oldlen == 0) /* just in case */ | 927 if (first >= (colnr_T)oldlen || oldlen == 0) // just in case |
928 return; | 928 return; |
929 if (lastbyte >= oldlen) | 929 if (lastbyte >= oldlen) |
930 lastbyte = oldlen - 1; | 930 lastbyte = oldlen - 1; |
931 newtext = alloc(oldlen - (int)(lastbyte - first)); | 931 newtext = alloc(oldlen - (int)(lastbyte - first)); |
932 if (newtext != NULL) | 932 if (newtext != NULL) |
972 nb_do_cmd( | 972 nb_do_cmd( |
973 int bufno, | 973 int bufno, |
974 char_u *cmd, | 974 char_u *cmd, |
975 int func, | 975 int func, |
976 int cmdno, | 976 int cmdno, |
977 char_u *args) /* points to space before arguments or NUL */ | 977 char_u *args) // points to space before arguments or NUL |
978 { | 978 { |
979 int do_update = 0; | 979 int do_update = 0; |
980 long off = 0; | 980 long off = 0; |
981 nbbuf_T *buf = nb_get_buf(bufno); | 981 nbbuf_T *buf = nb_get_buf(bufno); |
982 static int skip = 0; | 982 static int skip = 0; |
983 int retval = OK; | 983 int retval = OK; |
984 char *cp; /* for when a char pointer is needed */ | 984 char *cp; // for when a char pointer is needed |
985 | 985 |
986 nbdebug(("%s %d: (%d) %s %s\n", (func) ? "FUN" : "CMD", cmdno, bufno, cmd, | 986 nbdebug(("%s %d: (%d) %s %s\n", (func) ? "FUN" : "CMD", cmdno, bufno, cmd, |
987 STRCMP(cmd, "insert") == 0 ? "<text>" : (char *)args)); | 987 STRCMP(cmd, "insert") == 0 ? "<text>" : (char *)args)); |
988 | 988 |
989 if (func) | 989 if (func) |
990 { | 990 { |
991 /* =====================================================================*/ | 991 // ===================================================================== |
992 if (streq((char *)cmd, "getModified")) | 992 if (streq((char *)cmd, "getModified")) |
993 { | 993 { |
994 if (buf == NULL || buf->bufp == NULL) | 994 if (buf == NULL || buf->bufp == NULL) |
995 /* Return the number of buffers that are modified. */ | 995 // Return the number of buffers that are modified. |
996 nb_reply_nr(cmdno, (long)count_changed_buffers()); | 996 nb_reply_nr(cmdno, (long)count_changed_buffers()); |
997 else | 997 else |
998 /* Return whether the buffer is modified. */ | 998 // Return whether the buffer is modified. |
999 nb_reply_nr(cmdno, (long)(buf->bufp->b_changed | 999 nb_reply_nr(cmdno, (long)(buf->bufp->b_changed |
1000 || isNetbeansModified(buf->bufp))); | 1000 || isNetbeansModified(buf->bufp))); |
1001 /* =====================================================================*/ | 1001 // ===================================================================== |
1002 } | 1002 } |
1003 else if (streq((char *)cmd, "saveAndExit")) | 1003 else if (streq((char *)cmd, "saveAndExit")) |
1004 { | 1004 { |
1005 /* Note: this will exit Vim if successful. */ | 1005 // Note: this will exit Vim if successful. |
1006 coloncmd(":confirm qall"); | 1006 coloncmd(":confirm qall"); |
1007 | 1007 |
1008 /* We didn't exit: return the number of changed buffers. */ | 1008 // We didn't exit: return the number of changed buffers. |
1009 nb_reply_nr(cmdno, (long)count_changed_buffers()); | 1009 nb_reply_nr(cmdno, (long)count_changed_buffers()); |
1010 /* =====================================================================*/ | 1010 // ===================================================================== |
1011 } | 1011 } |
1012 else if (streq((char *)cmd, "getCursor")) | 1012 else if (streq((char *)cmd, "getCursor")) |
1013 { | 1013 { |
1014 char_u text[200]; | 1014 char_u text[200]; |
1015 | 1015 |
1016 /* Note: nb_getbufno() may return -1. This indicates the IDE | 1016 // Note: nb_getbufno() may return -1. This indicates the IDE |
1017 * didn't assign a number to the current buffer in response to a | 1017 // didn't assign a number to the current buffer in response to a |
1018 * fileOpened event. */ | 1018 // fileOpened event. |
1019 sprintf((char *)text, "%d %ld %d %ld", | 1019 sprintf((char *)text, "%d %ld %d %ld", |
1020 nb_getbufno(curbuf), | 1020 nb_getbufno(curbuf), |
1021 (long)curwin->w_cursor.lnum, | 1021 (long)curwin->w_cursor.lnum, |
1022 (int)curwin->w_cursor.col, | 1022 (int)curwin->w_cursor.col, |
1023 pos2off(curbuf, &curwin->w_cursor)); | 1023 pos2off(curbuf, &curwin->w_cursor)); |
1024 nb_reply_text(cmdno, text); | 1024 nb_reply_text(cmdno, text); |
1025 /* =====================================================================*/ | 1025 // ===================================================================== |
1026 } | 1026 } |
1027 else if (streq((char *)cmd, "getAnno")) | 1027 else if (streq((char *)cmd, "getAnno")) |
1028 { | 1028 { |
1029 long linenum = 0; | 1029 long linenum = 0; |
1030 #ifdef FEAT_SIGNS | 1030 #ifdef FEAT_SIGNS |
1038 { | 1038 { |
1039 int serNum; | 1039 int serNum; |
1040 | 1040 |
1041 cp = (char *)args; | 1041 cp = (char *)args; |
1042 serNum = strtol(cp, &cp, 10); | 1042 serNum = strtol(cp, &cp, 10); |
1043 /* If the sign isn't found linenum will be zero. */ | 1043 // If the sign isn't found linenum will be zero. |
1044 linenum = (long)buf_findsign(buf->bufp, serNum, NULL); | 1044 linenum = (long)buf_findsign(buf->bufp, serNum, NULL); |
1045 } | 1045 } |
1046 #endif | 1046 #endif |
1047 nb_reply_nr(cmdno, linenum); | 1047 nb_reply_nr(cmdno, linenum); |
1048 /* =====================================================================*/ | 1048 // ===================================================================== |
1049 } | 1049 } |
1050 else if (streq((char *)cmd, "getLength")) | 1050 else if (streq((char *)cmd, "getLength")) |
1051 { | 1051 { |
1052 long len = 0; | 1052 long len = 0; |
1053 | 1053 |
1060 else | 1060 else |
1061 { | 1061 { |
1062 len = get_buf_size(buf->bufp); | 1062 len = get_buf_size(buf->bufp); |
1063 } | 1063 } |
1064 nb_reply_nr(cmdno, len); | 1064 nb_reply_nr(cmdno, len); |
1065 /* =====================================================================*/ | 1065 // ===================================================================== |
1066 } | 1066 } |
1067 else if (streq((char *)cmd, "getText")) | 1067 else if (streq((char *)cmd, "getText")) |
1068 { | 1068 { |
1069 long len; | 1069 long len; |
1070 linenr_T nlines; | 1070 linenr_T nlines; |
1114 else | 1114 else |
1115 { | 1115 { |
1116 nb_reply_text(cmdno, text); | 1116 nb_reply_text(cmdno, text); |
1117 vim_free(text); | 1117 vim_free(text); |
1118 } | 1118 } |
1119 /* =====================================================================*/ | 1119 // ===================================================================== |
1120 } | 1120 } |
1121 else if (streq((char *)cmd, "remove")) | 1121 else if (streq((char *)cmd, "remove")) |
1122 { | 1122 { |
1123 long count; | 1123 long count; |
1124 pos_T first, last; | 1124 pos_T first, last; |
1125 pos_T *pos; | 1125 pos_T *pos; |
1126 pos_T *next; | 1126 pos_T *next; |
1127 linenr_T del_from_lnum, del_to_lnum; /* lines to be deleted as a whole */ | 1127 linenr_T del_from_lnum, del_to_lnum; // lines to be deleted as a whole |
1128 int oldFire = netbeansFireChanges; | 1128 int oldFire = netbeansFireChanges; |
1129 int oldSuppress = netbeansSuppressNoLines; | 1129 int oldSuppress = netbeansSuppressNoLines; |
1130 int wasChanged; | 1130 int wasChanged; |
1131 | 1131 |
1132 if (skip >= SKIP_STOP) | 1132 if (skip >= SKIP_STOP) |
1151 wasChanged = buf->bufp->b_changed; | 1151 wasChanged = buf->bufp->b_changed; |
1152 cp = (char *)args; | 1152 cp = (char *)args; |
1153 off = strtol(cp, &cp, 10); | 1153 off = strtol(cp, &cp, 10); |
1154 count = strtol(cp, &cp, 10); | 1154 count = strtol(cp, &cp, 10); |
1155 args = (char_u *)cp; | 1155 args = (char_u *)cp; |
1156 /* delete "count" chars, starting at "off" */ | 1156 // delete "count" chars, starting at "off" |
1157 pos = off2pos(buf->bufp, off); | 1157 pos = off2pos(buf->bufp, off); |
1158 if (!pos) | 1158 if (!pos) |
1159 { | 1159 { |
1160 nbdebug((" !bad position\n")); | 1160 nbdebug((" !bad position\n")); |
1161 nb_reply_text(cmdno, (char_u *)"!bad position"); | 1161 nb_reply_text(cmdno, (char_u *)"!bad position"); |
1180 last.lnum, last.col)); | 1180 last.lnum, last.col)); |
1181 del_from_lnum = first.lnum; | 1181 del_from_lnum = first.lnum; |
1182 del_to_lnum = last.lnum; | 1182 del_to_lnum = last.lnum; |
1183 do_update = 1; | 1183 do_update = 1; |
1184 | 1184 |
1185 /* Get the position of the first byte after the deleted | 1185 // Get the position of the first byte after the deleted |
1186 * section. "next" is NULL when deleting to the end of the | 1186 // section. "next" is NULL when deleting to the end of the |
1187 * file. */ | 1187 // file. |
1188 next = off2pos(buf->bufp, off + count); | 1188 next = off2pos(buf->bufp, off + count); |
1189 | 1189 |
1190 /* Remove part of the first line. */ | 1190 // Remove part of the first line. |
1191 if (first.col != 0 | 1191 if (first.col != 0 |
1192 || (next != NULL && first.lnum == next->lnum)) | 1192 || (next != NULL && first.lnum == next->lnum)) |
1193 { | 1193 { |
1194 if (first.lnum != last.lnum | 1194 if (first.lnum != last.lnum |
1195 || (next != NULL && first.lnum != next->lnum)) | 1195 || (next != NULL && first.lnum != next->lnum)) |
1196 { | 1196 { |
1197 /* remove to the end of the first line */ | 1197 // remove to the end of the first line |
1198 nb_partialremove(first.lnum, first.col, | 1198 nb_partialremove(first.lnum, first.col, |
1199 (colnr_T)MAXCOL); | 1199 (colnr_T)MAXCOL); |
1200 if (first.lnum == last.lnum) | 1200 if (first.lnum == last.lnum) |
1201 { | 1201 { |
1202 /* Partial line to remove includes the end of | 1202 // Partial line to remove includes the end of |
1203 * line. Join the line with the next one, have | 1203 // line. Join the line with the next one, have |
1204 * the next line deleted below. */ | 1204 // the next line deleted below. |
1205 nb_joinlines(first.lnum, next->lnum); | 1205 nb_joinlines(first.lnum, next->lnum); |
1206 del_to_lnum = next->lnum; | 1206 del_to_lnum = next->lnum; |
1207 } | 1207 } |
1208 } | 1208 } |
1209 else | 1209 else |
1210 { | 1210 { |
1211 /* remove within one line */ | 1211 // remove within one line |
1212 nb_partialremove(first.lnum, first.col, last.col); | 1212 nb_partialremove(first.lnum, first.col, last.col); |
1213 } | 1213 } |
1214 ++del_from_lnum; /* don't delete the first line */ | 1214 ++del_from_lnum; // don't delete the first line |
1215 } | 1215 } |
1216 | 1216 |
1217 /* Remove part of the last line. */ | 1217 // Remove part of the last line. |
1218 if (first.lnum != last.lnum && next != NULL | 1218 if (first.lnum != last.lnum && next != NULL |
1219 && next->col != 0 && last.lnum == next->lnum) | 1219 && next->col != 0 && last.lnum == next->lnum) |
1220 { | 1220 { |
1221 nb_partialremove(last.lnum, 0, last.col); | 1221 nb_partialremove(last.lnum, 0, last.col); |
1222 if (del_from_lnum > first.lnum) | 1222 if (del_from_lnum > first.lnum) |
1223 { | 1223 { |
1224 /* Join end of last line to start of first line; last | 1224 // Join end of last line to start of first line; last |
1225 * line is deleted below. */ | 1225 // line is deleted below. |
1226 nb_joinlines(first.lnum, last.lnum); | 1226 nb_joinlines(first.lnum, last.lnum); |
1227 } | 1227 } |
1228 else | 1228 else |
1229 /* First line is deleted as a whole, keep the last | 1229 // First line is deleted as a whole, keep the last |
1230 * line. */ | 1230 // line. |
1231 --del_to_lnum; | 1231 --del_to_lnum; |
1232 } | 1232 } |
1233 | 1233 |
1234 /* First is partial line; last line to remove includes | 1234 // First is partial line; last line to remove includes |
1235 * the end of line; join first line to line following last | 1235 // the end of line; join first line to line following last |
1236 * line; line following last line is deleted below. */ | 1236 // line; line following last line is deleted below. |
1237 if (first.lnum != last.lnum && del_from_lnum > first.lnum | 1237 if (first.lnum != last.lnum && del_from_lnum > first.lnum |
1238 && next != NULL && last.lnum != next->lnum) | 1238 && next != NULL && last.lnum != next->lnum) |
1239 { | 1239 { |
1240 nb_joinlines(first.lnum, next->lnum); | 1240 nb_joinlines(first.lnum, next->lnum); |
1241 del_to_lnum = next->lnum; | 1241 del_to_lnum = next->lnum; |
1242 } | 1242 } |
1243 | 1243 |
1244 /* Delete whole lines if there are any. */ | 1244 // Delete whole lines if there are any. |
1245 if (del_to_lnum >= del_from_lnum) | 1245 if (del_to_lnum >= del_from_lnum) |
1246 { | 1246 { |
1247 int i; | 1247 int i; |
1248 | 1248 |
1249 /* delete signs from the lines being deleted */ | 1249 // delete signs from the lines being deleted |
1250 for (i = del_from_lnum; i <= del_to_lnum; i++) | 1250 for (i = del_from_lnum; i <= del_to_lnum; i++) |
1251 { | 1251 { |
1252 int id = buf_findsign_id(buf->bufp, (linenr_T)i, NULL); | 1252 int id = buf_findsign_id(buf->bufp, (linenr_T)i, NULL); |
1253 if (id > 0) | 1253 if (id > 0) |
1254 { | 1254 { |
1267 curwin->w_cursor.lnum = del_from_lnum; | 1267 curwin->w_cursor.lnum = del_from_lnum; |
1268 curwin->w_cursor.col = 0; | 1268 curwin->w_cursor.col = 0; |
1269 del_lines(del_to_lnum - del_from_lnum + 1, FALSE); | 1269 del_lines(del_to_lnum - del_from_lnum + 1, FALSE); |
1270 } | 1270 } |
1271 | 1271 |
1272 /* Leave cursor at first deleted byte. */ | 1272 // Leave cursor at first deleted byte. |
1273 curwin->w_cursor = first; | 1273 curwin->w_cursor = first; |
1274 check_cursor_lnum(); | 1274 check_cursor_lnum(); |
1275 buf->bufp->b_changed = wasChanged; /* logically unchanged */ | 1275 buf->bufp->b_changed = wasChanged; // logically unchanged |
1276 netbeansFireChanges = oldFire; | 1276 netbeansFireChanges = oldFire; |
1277 netbeansSuppressNoLines = oldSuppress; | 1277 netbeansSuppressNoLines = oldSuppress; |
1278 | 1278 |
1279 u_blockfree(buf->bufp); | 1279 u_blockfree(buf->bufp); |
1280 u_clearall(buf->bufp); | 1280 u_clearall(buf->bufp); |
1281 } | 1281 } |
1282 nb_reply_nil(cmdno); | 1282 nb_reply_nil(cmdno); |
1283 /* =====================================================================*/ | 1283 // ===================================================================== |
1284 } | 1284 } |
1285 else if (streq((char *)cmd, "insert")) | 1285 else if (streq((char *)cmd, "insert")) |
1286 { | 1286 { |
1287 char_u *to_free; | 1287 char_u *to_free; |
1288 | 1288 |
1291 nbdebug((" Skipping %s command\n", (char *) cmd)); | 1291 nbdebug((" Skipping %s command\n", (char *) cmd)); |
1292 nb_reply_nil(cmdno); | 1292 nb_reply_nil(cmdno); |
1293 return OK; | 1293 return OK; |
1294 } | 1294 } |
1295 | 1295 |
1296 /* get offset */ | 1296 // get offset |
1297 cp = (char *)args; | 1297 cp = (char *)args; |
1298 off = strtol(cp, &cp, 10); | 1298 off = strtol(cp, &cp, 10); |
1299 args = (char_u *)cp; | 1299 args = (char_u *)cp; |
1300 | 1300 |
1301 /* get text to be inserted */ | 1301 // get text to be inserted |
1302 args = skipwhite(args); | 1302 args = skipwhite(args); |
1303 args = to_free = (char_u *)nb_unquote(args, NULL); | 1303 args = to_free = (char_u *)nb_unquote(args, NULL); |
1304 /* | 1304 /* |
1305 nbdebug((" CHUNK[%d]: %d bytes at offset %d\n", | 1305 nbdebug((" CHUNK[%d]: %d bytes at offset %d\n", |
1306 buf->bufp->b_ml.ml_line_count, STRLEN(args), off)); | 1306 buf->bufp->b_ml.ml_line_count, STRLEN(args), off)); |
1325 linenr_T lnum_start; | 1325 linenr_T lnum_start; |
1326 pos_T *pos; | 1326 pos_T *pos; |
1327 | 1327 |
1328 netbeansFireChanges = 0; | 1328 netbeansFireChanges = 0; |
1329 | 1329 |
1330 /* Jump to the buffer where we insert. After this "curbuf" | 1330 // Jump to the buffer where we insert. After this "curbuf" |
1331 * can be used. */ | 1331 // can be used. |
1332 nb_set_curbuf(buf->bufp); | 1332 nb_set_curbuf(buf->bufp); |
1333 old_b_changed = curbuf->b_changed; | 1333 old_b_changed = curbuf->b_changed; |
1334 | 1334 |
1335 /* Convert the specified character offset into a lnum/col | 1335 // Convert the specified character offset into a lnum/col |
1336 * position. */ | 1336 // position. |
1337 pos = off2pos(curbuf, off); | 1337 pos = off2pos(curbuf, off); |
1338 if (pos != NULL) | 1338 if (pos != NULL) |
1339 { | 1339 { |
1340 if (pos->lnum <= 0) | 1340 if (pos->lnum <= 0) |
1341 lnum_start = 1; | 1341 lnum_start = 1; |
1342 else | 1342 else |
1343 lnum_start = pos->lnum; | 1343 lnum_start = pos->lnum; |
1344 } | 1344 } |
1345 else | 1345 else |
1346 { | 1346 { |
1347 /* If the given position is not found, assume we want | 1347 // If the given position is not found, assume we want |
1348 * the end of the file. See setLocAndSize HACK. */ | 1348 // the end of the file. See setLocAndSize HACK. |
1349 if (buf_was_empty) | 1349 if (buf_was_empty) |
1350 lnum_start = 1; /* above empty line */ | 1350 lnum_start = 1; // above empty line |
1351 else | 1351 else |
1352 lnum_start = curbuf->b_ml.ml_line_count + 1; | 1352 lnum_start = curbuf->b_ml.ml_line_count + 1; |
1353 } | 1353 } |
1354 | 1354 |
1355 /* "lnum" is the line where we insert: either append to it or | 1355 // "lnum" is the line where we insert: either append to it or |
1356 * insert a new line above it. */ | 1356 // insert a new line above it. |
1357 lnum = lnum_start; | 1357 lnum = lnum_start; |
1358 | 1358 |
1359 /* Loop over the "\n" separated lines of the argument. */ | 1359 // Loop over the "\n" separated lines of the argument. |
1360 do_update = 1; | 1360 do_update = 1; |
1361 while (*args != NUL) | 1361 while (*args != NUL) |
1362 { | 1362 { |
1363 nlp = vim_strchr(args, '\n'); | 1363 nlp = vim_strchr(args, '\n'); |
1364 if (nlp == NULL) | 1364 if (nlp == NULL) |
1365 { | 1365 { |
1366 /* Incomplete line, probably truncated. Next "insert" | 1366 // Incomplete line, probably truncated. Next "insert" |
1367 * command should append to this one. */ | 1367 // command should append to this one. |
1368 len = STRLEN(args); | 1368 len = STRLEN(args); |
1369 } | 1369 } |
1370 else | 1370 else |
1371 { | 1371 { |
1372 len = nlp - args; | 1372 len = nlp - args; |
1391 { | 1391 { |
1392 char_u *oldline = ml_get(lnum); | 1392 char_u *oldline = ml_get(lnum); |
1393 char_u *newline; | 1393 char_u *newline; |
1394 int col = pos == NULL ? 0 : pos->col; | 1394 int col = pos == NULL ? 0 : pos->col; |
1395 | 1395 |
1396 /* Insert halfway a line. */ | 1396 // Insert halfway a line. |
1397 newline = alloc(STRLEN(oldline) + len + 1); | 1397 newline = alloc(STRLEN(oldline) + len + 1); |
1398 if (newline != NULL) | 1398 if (newline != NULL) |
1399 { | 1399 { |
1400 mch_memmove(newline, oldline, (size_t)col); | 1400 mch_memmove(newline, oldline, (size_t)col); |
1401 newline[col] = NUL; | 1401 newline[col] = NUL; |
1404 ml_replace(lnum, newline, FALSE); | 1404 ml_replace(lnum, newline, FALSE); |
1405 } | 1405 } |
1406 } | 1406 } |
1407 else | 1407 else |
1408 { | 1408 { |
1409 /* Append a new line. Not that we always do this, | 1409 // Append a new line. Not that we always do this, |
1410 * also when the text doesn't end in a "\n". */ | 1410 // also when the text doesn't end in a "\n". |
1411 ml_append((linenr_T)(lnum - 1), args, | 1411 ml_append((linenr_T)(lnum - 1), args, |
1412 (colnr_T)(len + 1), FALSE); | 1412 (colnr_T)(len + 1), FALSE); |
1413 ++added; | 1413 ++added; |
1414 } | 1414 } |
1415 | 1415 |
1417 break; | 1417 break; |
1418 ++lnum; | 1418 ++lnum; |
1419 args = nlp + 1; | 1419 args = nlp + 1; |
1420 } | 1420 } |
1421 | 1421 |
1422 /* Adjust the marks below the inserted lines. */ | 1422 // Adjust the marks below the inserted lines. |
1423 appended_lines_mark(lnum_start - 1, (long)added); | 1423 appended_lines_mark(lnum_start - 1, (long)added); |
1424 | 1424 |
1425 /* | 1425 /* |
1426 * When starting with an empty buffer set the fileformat. | 1426 * When starting with an empty buffer set the fileformat. |
1427 * This is just guessing... | 1427 * This is just guessing... |
1441 /* | 1441 /* |
1442 * XXX - GRP - Is the next line right? If I've inserted | 1442 * XXX - GRP - Is the next line right? If I've inserted |
1443 * text the buffer has been updated but not written. Will | 1443 * text the buffer has been updated but not written. Will |
1444 * netbeans guarantee to write it? Even if I do a :q! ? | 1444 * netbeans guarantee to write it? Even if I do a :q! ? |
1445 */ | 1445 */ |
1446 curbuf->b_changed = old_b_changed; /* logically unchanged */ | 1446 curbuf->b_changed = old_b_changed; // logically unchanged |
1447 netbeansFireChanges = oldFire; | 1447 netbeansFireChanges = oldFire; |
1448 | 1448 |
1449 /* Undo info is invalid now... */ | 1449 // Undo info is invalid now... |
1450 u_blockfree(curbuf); | 1450 u_blockfree(curbuf); |
1451 u_clearall(curbuf); | 1451 u_clearall(curbuf); |
1452 } | 1452 } |
1453 vim_free(to_free); | 1453 vim_free(to_free); |
1454 nb_reply_nil(cmdno); /* or !error */ | 1454 nb_reply_nil(cmdno); // or !error |
1455 } | 1455 } |
1456 else | 1456 else |
1457 { | 1457 { |
1458 nbdebug(("UNIMPLEMENTED FUNCTION: %s\n", cmd)); | 1458 nbdebug(("UNIMPLEMENTED FUNCTION: %s\n", cmd)); |
1459 nb_reply_nil(cmdno); | 1459 nb_reply_nil(cmdno); |
1460 retval = FAIL; | 1460 retval = FAIL; |
1461 } | 1461 } |
1462 } | 1462 } |
1463 else /* Not a function; no reply required. */ | 1463 else // Not a function; no reply required. |
1464 { | 1464 { |
1465 /* =====================================================================*/ | 1465 // ===================================================================== |
1466 if (streq((char *)cmd, "create")) | 1466 if (streq((char *)cmd, "create")) |
1467 { | 1467 { |
1468 /* Create a buffer without a name. */ | 1468 // Create a buffer without a name. |
1469 if (buf == NULL) | 1469 if (buf == NULL) |
1470 { | 1470 { |
1471 nbdebug((" invalid buffer identifier in create\n")); | 1471 nbdebug((" invalid buffer identifier in create\n")); |
1472 emsg("E636: invalid buffer identifier in create"); | 1472 emsg("E636: invalid buffer identifier in create"); |
1473 return FAIL; | 1473 return FAIL; |
1474 } | 1474 } |
1475 VIM_CLEAR(buf->displayname); | 1475 VIM_CLEAR(buf->displayname); |
1476 | 1476 |
1477 netbeansReadFile = 0; /* don't try to open disk file */ | 1477 netbeansReadFile = 0; // don't try to open disk file |
1478 do_ecmd(0, NULL, 0, 0, ECMD_ONE, ECMD_HIDE + ECMD_OLDBUF, curwin); | 1478 do_ecmd(0, NULL, 0, 0, ECMD_ONE, ECMD_HIDE + ECMD_OLDBUF, curwin); |
1479 netbeansReadFile = 1; | 1479 netbeansReadFile = 1; |
1480 buf->bufp = curbuf; | 1480 buf->bufp = curbuf; |
1481 maketitle(); | 1481 maketitle(); |
1482 buf->insertDone = FALSE; | 1482 buf->insertDone = FALSE; |
1483 #if defined(FEAT_MENU) && defined(FEAT_GUI) | 1483 #if defined(FEAT_MENU) && defined(FEAT_GUI) |
1484 if (gui.in_use) | 1484 if (gui.in_use) |
1485 gui_update_menus(0); | 1485 gui_update_menus(0); |
1486 #endif | 1486 #endif |
1487 /* =====================================================================*/ | 1487 // ===================================================================== |
1488 } | 1488 } |
1489 else if (streq((char *)cmd, "insertDone")) | 1489 else if (streq((char *)cmd, "insertDone")) |
1490 { | 1490 { |
1491 if (buf == NULL || buf->bufp == NULL) | 1491 if (buf == NULL || buf->bufp == NULL) |
1492 { | 1492 { |
1498 buf->insertDone = TRUE; | 1498 buf->insertDone = TRUE; |
1499 args += 2; | 1499 args += 2; |
1500 buf->bufp->b_p_ro = *args == 'T'; | 1500 buf->bufp->b_p_ro = *args == 'T'; |
1501 print_read_msg(buf); | 1501 print_read_msg(buf); |
1502 } | 1502 } |
1503 /* =====================================================================*/ | 1503 // ===================================================================== |
1504 } | 1504 } |
1505 else if (streq((char *)cmd, "saveDone")) | 1505 else if (streq((char *)cmd, "saveDone")) |
1506 { | 1506 { |
1507 long savedChars = atol((char *)args); | 1507 long savedChars = atol((char *)args); |
1508 | 1508 |
1509 if (buf == NULL || buf->bufp == NULL) | 1509 if (buf == NULL || buf->bufp == NULL) |
1510 nbdebug((" invalid buffer identifier in saveDone\n")); | 1510 nbdebug((" invalid buffer identifier in saveDone\n")); |
1511 else | 1511 else |
1512 print_save_msg(buf, savedChars); | 1512 print_save_msg(buf, savedChars); |
1513 /* =====================================================================*/ | 1513 // ===================================================================== |
1514 } | 1514 } |
1515 else if (streq((char *)cmd, "startDocumentListen")) | 1515 else if (streq((char *)cmd, "startDocumentListen")) |
1516 { | 1516 { |
1517 if (buf == NULL) | 1517 if (buf == NULL) |
1518 { | 1518 { |
1519 nbdebug((" invalid buffer identifier in startDocumentListen\n")); | 1519 nbdebug((" invalid buffer identifier in startDocumentListen\n")); |
1520 emsg("E637: invalid buffer identifier in startDocumentListen"); | 1520 emsg("E637: invalid buffer identifier in startDocumentListen"); |
1521 return FAIL; | 1521 return FAIL; |
1522 } | 1522 } |
1523 buf->fireChanges = 1; | 1523 buf->fireChanges = 1; |
1524 /* =====================================================================*/ | 1524 // ===================================================================== |
1525 } | 1525 } |
1526 else if (streq((char *)cmd, "stopDocumentListen")) | 1526 else if (streq((char *)cmd, "stopDocumentListen")) |
1527 { | 1527 { |
1528 if (buf == NULL) | 1528 if (buf == NULL) |
1529 { | 1529 { |
1540 semsg(_("E658: NetBeans connection lost for buffer %d"), | 1540 semsg(_("E658: NetBeans connection lost for buffer %d"), |
1541 buf->bufp->b_fnum); | 1541 buf->bufp->b_fnum); |
1542 } | 1542 } |
1543 else | 1543 else |
1544 { | 1544 { |
1545 /* NetBeans uses stopDocumentListen when it stops editing | 1545 // NetBeans uses stopDocumentListen when it stops editing |
1546 * a file. It then expects the buffer in Vim to | 1546 // a file. It then expects the buffer in Vim to |
1547 * disappear. */ | 1547 // disappear. |
1548 do_bufdel(DOBUF_DEL, (char_u *)"", 1, | 1548 do_bufdel(DOBUF_DEL, (char_u *)"", 1, |
1549 buf->bufp->b_fnum, buf->bufp->b_fnum, TRUE); | 1549 buf->bufp->b_fnum, buf->bufp->b_fnum, TRUE); |
1550 vim_memset(buf, 0, sizeof(nbbuf_T)); | 1550 vim_memset(buf, 0, sizeof(nbbuf_T)); |
1551 } | 1551 } |
1552 } | 1552 } |
1553 /* =====================================================================*/ | 1553 // ===================================================================== |
1554 } | 1554 } |
1555 else if (streq((char *)cmd, "setTitle")) | 1555 else if (streq((char *)cmd, "setTitle")) |
1556 { | 1556 { |
1557 if (buf == NULL) | 1557 if (buf == NULL) |
1558 { | 1558 { |
1560 emsg("E639: invalid buffer identifier in setTitle"); | 1560 emsg("E639: invalid buffer identifier in setTitle"); |
1561 return FAIL; | 1561 return FAIL; |
1562 } | 1562 } |
1563 vim_free(buf->displayname); | 1563 vim_free(buf->displayname); |
1564 buf->displayname = nb_unquote(args, NULL); | 1564 buf->displayname = nb_unquote(args, NULL); |
1565 /* =====================================================================*/ | 1565 // ===================================================================== |
1566 } | 1566 } |
1567 else if (streq((char *)cmd, "initDone")) | 1567 else if (streq((char *)cmd, "initDone")) |
1568 { | 1568 { |
1569 if (buf == NULL || buf->bufp == NULL) | 1569 if (buf == NULL || buf->bufp == NULL) |
1570 { | 1570 { |
1575 do_update = 1; | 1575 do_update = 1; |
1576 buf->initDone = TRUE; | 1576 buf->initDone = TRUE; |
1577 nb_set_curbuf(buf->bufp); | 1577 nb_set_curbuf(buf->bufp); |
1578 apply_autocmds(EVENT_BUFREADPOST, 0, 0, FALSE, buf->bufp); | 1578 apply_autocmds(EVENT_BUFREADPOST, 0, 0, FALSE, buf->bufp); |
1579 | 1579 |
1580 /* handle any postponed key commands */ | 1580 // handle any postponed key commands |
1581 handle_key_queue(); | 1581 handle_key_queue(); |
1582 /* =====================================================================*/ | 1582 // ===================================================================== |
1583 } | 1583 } |
1584 else if (streq((char *)cmd, "setBufferNumber") | 1584 else if (streq((char *)cmd, "setBufferNumber") |
1585 || streq((char *)cmd, "putBufferNumber")) | 1585 || streq((char *)cmd, "putBufferNumber")) |
1586 { | 1586 { |
1587 char_u *path; | 1587 char_u *path; |
1605 return FAIL; | 1605 return FAIL; |
1606 } | 1606 } |
1607 buf->bufp = bufp; | 1607 buf->bufp = bufp; |
1608 buf->nbbuf_number = bufp->b_fnum; | 1608 buf->nbbuf_number = bufp->b_fnum; |
1609 | 1609 |
1610 /* "setBufferNumber" has the side effect of jumping to the buffer | 1610 // "setBufferNumber" has the side effect of jumping to the buffer |
1611 * (don't know why!). Don't do that for "putBufferNumber". */ | 1611 // (don't know why!). Don't do that for "putBufferNumber". |
1612 if (*cmd != 'p') | 1612 if (*cmd != 'p') |
1613 coloncmd(":buffer %d", bufp->b_fnum); | 1613 coloncmd(":buffer %d", bufp->b_fnum); |
1614 else | 1614 else |
1615 { | 1615 { |
1616 buf->initDone = TRUE; | 1616 buf->initDone = TRUE; |
1617 | 1617 |
1618 /* handle any postponed key commands */ | 1618 // handle any postponed key commands |
1619 handle_key_queue(); | 1619 handle_key_queue(); |
1620 } | 1620 } |
1621 | 1621 |
1622 /* =====================================================================*/ | 1622 // ===================================================================== |
1623 } | 1623 } |
1624 else if (streq((char *)cmd, "setFullName")) | 1624 else if (streq((char *)cmd, "setFullName")) |
1625 { | 1625 { |
1626 if (buf == NULL) | 1626 if (buf == NULL) |
1627 { | 1627 { |
1630 return FAIL; | 1630 return FAIL; |
1631 } | 1631 } |
1632 vim_free(buf->displayname); | 1632 vim_free(buf->displayname); |
1633 buf->displayname = nb_unquote(args, NULL); | 1633 buf->displayname = nb_unquote(args, NULL); |
1634 | 1634 |
1635 netbeansReadFile = 0; /* don't try to open disk file */ | 1635 netbeansReadFile = 0; // don't try to open disk file |
1636 do_ecmd(0, (char_u *)buf->displayname, 0, 0, ECMD_ONE, | 1636 do_ecmd(0, (char_u *)buf->displayname, 0, 0, ECMD_ONE, |
1637 ECMD_HIDE + ECMD_OLDBUF, curwin); | 1637 ECMD_HIDE + ECMD_OLDBUF, curwin); |
1638 netbeansReadFile = 1; | 1638 netbeansReadFile = 1; |
1639 buf->bufp = curbuf; | 1639 buf->bufp = curbuf; |
1640 maketitle(); | 1640 maketitle(); |
1641 #if defined(FEAT_MENU) && defined(FEAT_GUI) | 1641 #if defined(FEAT_MENU) && defined(FEAT_GUI) |
1642 if (gui.in_use) | 1642 if (gui.in_use) |
1643 gui_update_menus(0); | 1643 gui_update_menus(0); |
1644 #endif | 1644 #endif |
1645 /* =====================================================================*/ | 1645 // ===================================================================== |
1646 } | 1646 } |
1647 else if (streq((char *)cmd, "editFile")) | 1647 else if (streq((char *)cmd, "editFile")) |
1648 { | 1648 { |
1649 if (buf == NULL) | 1649 if (buf == NULL) |
1650 { | 1650 { |
1651 nbdebug((" invalid buffer identifier in editFile\n")); | 1651 nbdebug((" invalid buffer identifier in editFile\n")); |
1652 emsg("E644: invalid buffer identifier in editFile"); | 1652 emsg("E644: invalid buffer identifier in editFile"); |
1653 return FAIL; | 1653 return FAIL; |
1654 } | 1654 } |
1655 /* Edit a file: like create + setFullName + read the file. */ | 1655 // Edit a file: like create + setFullName + read the file. |
1656 vim_free(buf->displayname); | 1656 vim_free(buf->displayname); |
1657 buf->displayname = nb_unquote(args, NULL); | 1657 buf->displayname = nb_unquote(args, NULL); |
1658 do_ecmd(0, (char_u *)buf->displayname, NULL, NULL, ECMD_ONE, | 1658 do_ecmd(0, (char_u *)buf->displayname, NULL, NULL, ECMD_ONE, |
1659 ECMD_HIDE + ECMD_OLDBUF, curwin); | 1659 ECMD_HIDE + ECMD_OLDBUF, curwin); |
1660 buf->bufp = curbuf; | 1660 buf->bufp = curbuf; |
1665 #endif | 1665 #endif |
1666 #if defined(FEAT_MENU) && defined(FEAT_GUI) | 1666 #if defined(FEAT_MENU) && defined(FEAT_GUI) |
1667 if (gui.in_use) | 1667 if (gui.in_use) |
1668 gui_update_menus(0); | 1668 gui_update_menus(0); |
1669 #endif | 1669 #endif |
1670 /* =====================================================================*/ | 1670 // ===================================================================== |
1671 } | 1671 } |
1672 else if (streq((char *)cmd, "setVisible")) | 1672 else if (streq((char *)cmd, "setVisible")) |
1673 { | 1673 { |
1674 if (buf == NULL || buf->bufp == NULL) | 1674 if (buf == NULL || buf->bufp == NULL) |
1675 { | 1675 { |
1676 nbdebug((" invalid buffer identifier in setVisible\n")); | 1676 nbdebug((" invalid buffer identifier in setVisible\n")); |
1677 /* This message was commented out, probably because it can | 1677 // This message was commented out, probably because it can |
1678 * happen when shutting down. */ | 1678 // happen when shutting down. |
1679 if (p_verbose > 0) | 1679 if (p_verbose > 0) |
1680 emsg("E645: invalid buffer identifier in setVisible"); | 1680 emsg("E645: invalid buffer identifier in setVisible"); |
1681 return FAIL; | 1681 return FAIL; |
1682 } | 1682 } |
1683 if (streq((char *)args, "T") && buf->bufp != curbuf) | 1683 if (streq((char *)args, "T") && buf->bufp != curbuf) |
1689 goto_buffer(&exarg, DOBUF_FIRST, FORWARD, buf->bufp->b_fnum); | 1689 goto_buffer(&exarg, DOBUF_FIRST, FORWARD, buf->bufp->b_fnum); |
1690 do_update = 1; | 1690 do_update = 1; |
1691 dosetvisible = FALSE; | 1691 dosetvisible = FALSE; |
1692 | 1692 |
1693 #ifdef FEAT_GUI | 1693 #ifdef FEAT_GUI |
1694 /* Side effect!!!. */ | 1694 // Side effect!!!. |
1695 if (gui.in_use) | 1695 if (gui.in_use) |
1696 gui_mch_set_foreground(); | 1696 gui_mch_set_foreground(); |
1697 #endif | 1697 #endif |
1698 } | 1698 } |
1699 /* =====================================================================*/ | 1699 // ===================================================================== |
1700 } | 1700 } |
1701 else if (streq((char *)cmd, "raise")) | 1701 else if (streq((char *)cmd, "raise")) |
1702 { | 1702 { |
1703 #ifdef FEAT_GUI | 1703 #ifdef FEAT_GUI |
1704 /* Bring gvim to the foreground. */ | 1704 // Bring gvim to the foreground. |
1705 if (gui.in_use) | 1705 if (gui.in_use) |
1706 gui_mch_set_foreground(); | 1706 gui_mch_set_foreground(); |
1707 #endif | 1707 #endif |
1708 /* =====================================================================*/ | 1708 // ===================================================================== |
1709 } | 1709 } |
1710 else if (streq((char *)cmd, "setModified")) | 1710 else if (streq((char *)cmd, "setModified")) |
1711 { | 1711 { |
1712 int prev_b_changed; | 1712 int prev_b_changed; |
1713 | 1713 |
1714 if (buf == NULL || buf->bufp == NULL) | 1714 if (buf == NULL || buf->bufp == NULL) |
1715 { | 1715 { |
1716 nbdebug((" invalid buffer identifier in setModified\n")); | 1716 nbdebug((" invalid buffer identifier in setModified\n")); |
1717 /* This message was commented out, probably because it can | 1717 // This message was commented out, probably because it can |
1718 * happen when shutting down. */ | 1718 // happen when shutting down. |
1719 if (p_verbose > 0) | 1719 if (p_verbose > 0) |
1720 emsg("E646: invalid buffer identifier in setModified"); | 1720 emsg("E646: invalid buffer identifier in setModified"); |
1721 return FAIL; | 1721 return FAIL; |
1722 } | 1722 } |
1723 prev_b_changed = buf->bufp->b_changed; | 1723 prev_b_changed = buf->bufp->b_changed; |
1725 buf->bufp->b_changed = TRUE; | 1725 buf->bufp->b_changed = TRUE; |
1726 else | 1726 else |
1727 { | 1727 { |
1728 stat_T st; | 1728 stat_T st; |
1729 | 1729 |
1730 /* Assume NetBeans stored the file. Reset the timestamp to | 1730 // Assume NetBeans stored the file. Reset the timestamp to |
1731 * avoid "file changed" warnings. */ | 1731 // avoid "file changed" warnings. |
1732 if (buf->bufp->b_ffname != NULL | 1732 if (buf->bufp->b_ffname != NULL |
1733 && mch_stat((char *)buf->bufp->b_ffname, &st) >= 0) | 1733 && mch_stat((char *)buf->bufp->b_ffname, &st) >= 0) |
1734 buf_store_time(buf->bufp, &st, buf->bufp->b_ffname); | 1734 buf_store_time(buf->bufp, &st, buf->bufp->b_ffname); |
1735 buf->bufp->b_changed = FALSE; | 1735 buf->bufp->b_changed = FALSE; |
1736 } | 1736 } |
1742 #ifdef FEAT_TITLE | 1742 #ifdef FEAT_TITLE |
1743 maketitle(); | 1743 maketitle(); |
1744 #endif | 1744 #endif |
1745 update_screen(0); | 1745 update_screen(0); |
1746 } | 1746 } |
1747 /* =====================================================================*/ | 1747 // ===================================================================== |
1748 } | 1748 } |
1749 else if (streq((char *)cmd, "setModtime")) | 1749 else if (streq((char *)cmd, "setModtime")) |
1750 { | 1750 { |
1751 if (buf == NULL || buf->bufp == NULL) | 1751 if (buf == NULL || buf->bufp == NULL) |
1752 nbdebug((" invalid buffer identifier in setModtime\n")); | 1752 nbdebug((" invalid buffer identifier in setModtime\n")); |
1753 else | 1753 else |
1754 buf->bufp->b_mtime = atoi((char *)args); | 1754 buf->bufp->b_mtime = atoi((char *)args); |
1755 /* =====================================================================*/ | 1755 // ===================================================================== |
1756 } | 1756 } |
1757 else if (streq((char *)cmd, "setReadOnly")) | 1757 else if (streq((char *)cmd, "setReadOnly")) |
1758 { | 1758 { |
1759 if (buf == NULL || buf->bufp == NULL) | 1759 if (buf == NULL || buf->bufp == NULL) |
1760 nbdebug((" invalid buffer identifier in setReadOnly\n")); | 1760 nbdebug((" invalid buffer identifier in setReadOnly\n")); |
1761 else if (streq((char *)args, "T")) | 1761 else if (streq((char *)args, "T")) |
1762 buf->bufp->b_p_ro = TRUE; | 1762 buf->bufp->b_p_ro = TRUE; |
1763 else | 1763 else |
1764 buf->bufp->b_p_ro = FALSE; | 1764 buf->bufp->b_p_ro = FALSE; |
1765 /* =====================================================================*/ | 1765 // ===================================================================== |
1766 } | 1766 } |
1767 else if (streq((char *)cmd, "setMark")) | 1767 else if (streq((char *)cmd, "setMark")) |
1768 { | 1768 { |
1769 /* not yet */ | 1769 // not yet |
1770 /* =====================================================================*/ | 1770 // ===================================================================== |
1771 } | 1771 } |
1772 else if (streq((char *)cmd, "showBalloon")) | 1772 else if (streq((char *)cmd, "showBalloon")) |
1773 { | 1773 { |
1774 #if defined(FEAT_BEVAL_GUI) | 1774 #if defined(FEAT_BEVAL_GUI) |
1775 static char *text = NULL; | 1775 static char *text = NULL; |
1785 text = nb_unquote(args, NULL); | 1785 text = nb_unquote(args, NULL); |
1786 if (text != NULL) | 1786 if (text != NULL) |
1787 gui_mch_post_balloon(balloonEval, (char_u *)text); | 1787 gui_mch_post_balloon(balloonEval, (char_u *)text); |
1788 } | 1788 } |
1789 #endif | 1789 #endif |
1790 /* =====================================================================*/ | 1790 // ===================================================================== |
1791 } | 1791 } |
1792 else if (streq((char *)cmd, "setDot")) | 1792 else if (streq((char *)cmd, "setDot")) |
1793 { | 1793 { |
1794 pos_T *pos; | 1794 pos_T *pos; |
1795 #ifdef NBDEBUG | 1795 #ifdef NBDEBUG |
1803 return FAIL; | 1803 return FAIL; |
1804 } | 1804 } |
1805 | 1805 |
1806 nb_set_curbuf(buf->bufp); | 1806 nb_set_curbuf(buf->bufp); |
1807 | 1807 |
1808 /* Don't want Visual mode now. */ | 1808 // Don't want Visual mode now. |
1809 if (VIsual_active) | 1809 if (VIsual_active) |
1810 end_visual_mode(); | 1810 end_visual_mode(); |
1811 #ifdef NBDEBUG | 1811 #ifdef NBDEBUG |
1812 s = args; | 1812 s = args; |
1813 #endif | 1813 #endif |
1823 else | 1823 else |
1824 { | 1824 { |
1825 nbdebug((" BAD POSITION in setDot: %s\n", s)); | 1825 nbdebug((" BAD POSITION in setDot: %s\n", s)); |
1826 } | 1826 } |
1827 | 1827 |
1828 /* gui_update_cursor(TRUE, FALSE); */ | 1828 // gui_update_cursor(TRUE, FALSE); |
1829 /* update_curbuf(NOT_VALID); */ | 1829 // update_curbuf(NOT_VALID); |
1830 update_topline(); /* scroll to show the line */ | 1830 update_topline(); // scroll to show the line |
1831 update_screen(VALID); | 1831 update_screen(VALID); |
1832 setcursor(); | 1832 setcursor(); |
1833 cursor_on(); | 1833 cursor_on(); |
1834 out_flush_cursor(TRUE, FALSE); | 1834 out_flush_cursor(TRUE, FALSE); |
1835 | 1835 |
1836 /* Quit a hit-return or more prompt. */ | 1836 // Quit a hit-return or more prompt. |
1837 if (State == HITRETURN || State == ASKMORE) | 1837 if (State == HITRETURN || State == ASKMORE) |
1838 { | 1838 { |
1839 #ifdef FEAT_GUI_GTK | 1839 #ifdef FEAT_GUI_GTK |
1840 if (gui.in_use && gtk_main_level() > 0) | 1840 if (gui.in_use && gtk_main_level() > 0) |
1841 gtk_main_quit(); | 1841 gtk_main_quit(); |
1842 #endif | 1842 #endif |
1843 } | 1843 } |
1844 /* =====================================================================*/ | 1844 // ===================================================================== |
1845 } | 1845 } |
1846 else if (streq((char *)cmd, "close")) | 1846 else if (streq((char *)cmd, "close")) |
1847 { | 1847 { |
1848 #ifdef NBDEBUG | 1848 #ifdef NBDEBUG |
1849 char *name = "<NONE>"; | 1849 char *name = "<NONE>"; |
1861 name = buf->displayname; | 1861 name = buf->displayname; |
1862 #endif | 1862 #endif |
1863 if (buf->bufp == NULL) | 1863 if (buf->bufp == NULL) |
1864 { | 1864 { |
1865 nbdebug((" invalid buffer identifier in close\n")); | 1865 nbdebug((" invalid buffer identifier in close\n")); |
1866 /* This message was commented out, probably because it can | 1866 // This message was commented out, probably because it can |
1867 * happen when shutting down. */ | 1867 // happen when shutting down. |
1868 if (p_verbose > 0) | 1868 if (p_verbose > 0) |
1869 emsg("E649: invalid buffer identifier in close"); | 1869 emsg("E649: invalid buffer identifier in close"); |
1870 } | 1870 } |
1871 nbdebug((" CLOSE %d: %s\n", bufno, name)); | 1871 nbdebug((" CLOSE %d: %s\n", bufno, name)); |
1872 #ifdef FEAT_GUI | 1872 #ifdef FEAT_GUI |
1876 do_buffer(DOBUF_WIPE, DOBUF_FIRST, FORWARD, | 1876 do_buffer(DOBUF_WIPE, DOBUF_FIRST, FORWARD, |
1877 buf->bufp->b_fnum, TRUE); | 1877 buf->bufp->b_fnum, TRUE); |
1878 buf->bufp = NULL; | 1878 buf->bufp = NULL; |
1879 buf->initDone = FALSE; | 1879 buf->initDone = FALSE; |
1880 do_update = 1; | 1880 do_update = 1; |
1881 /* =====================================================================*/ | 1881 // ===================================================================== |
1882 } | 1882 } |
1883 else if (streq((char *)cmd, "setStyle")) /* obsolete... */ | 1883 else if (streq((char *)cmd, "setStyle")) // obsolete... |
1884 { | 1884 { |
1885 nbdebug((" setStyle is obsolete!\n")); | 1885 nbdebug((" setStyle is obsolete!\n")); |
1886 /* =====================================================================*/ | 1886 // ===================================================================== |
1887 } | 1887 } |
1888 else if (streq((char *)cmd, "setExitDelay")) | 1888 else if (streq((char *)cmd, "setExitDelay")) |
1889 { | 1889 { |
1890 /* Only used in version 2.1. */ | 1890 // Only used in version 2.1. |
1891 /* =====================================================================*/ | 1891 // ===================================================================== |
1892 } | 1892 } |
1893 else if (streq((char *)cmd, "defineAnnoType")) | 1893 else if (streq((char *)cmd, "defineAnnoType")) |
1894 { | 1894 { |
1895 #ifdef FEAT_SIGNS | 1895 #ifdef FEAT_SIGNS |
1896 int typeNum; | 1896 int typeNum; |
1940 else if (typeName != NULL && tooltip != NULL && glyphFile != NULL) | 1940 else if (typeName != NULL && tooltip != NULL && glyphFile != NULL) |
1941 addsigntype(buf, typeNum, typeName, tooltip, glyphFile, fg, bg); | 1941 addsigntype(buf, typeNum, typeName, tooltip, glyphFile, fg, bg); |
1942 else | 1942 else |
1943 vim_free(typeName); | 1943 vim_free(typeName); |
1944 | 1944 |
1945 /* don't free typeName; it's used directly in addsigntype() */ | 1945 // don't free typeName; it's used directly in addsigntype() |
1946 vim_free(fg); | 1946 vim_free(fg); |
1947 vim_free(bg); | 1947 vim_free(bg); |
1948 vim_free(tooltip); | 1948 vim_free(tooltip); |
1949 vim_free(glyphFile); | 1949 vim_free(glyphFile); |
1950 if (parse_error) | 1950 if (parse_error) |
1951 return FAIL; | 1951 return FAIL; |
1952 | 1952 |
1953 #endif | 1953 #endif |
1954 /* =====================================================================*/ | 1954 // ===================================================================== |
1955 } | 1955 } |
1956 else if (streq((char *)cmd, "addAnno")) | 1956 else if (streq((char *)cmd, "addAnno")) |
1957 { | 1957 { |
1958 #ifdef FEAT_SIGNS | 1958 #ifdef FEAT_SIGNS |
1959 int serNum; | 1959 int serNum; |
1971 do_update = 1; | 1971 do_update = 1; |
1972 | 1972 |
1973 cp = (char *)args; | 1973 cp = (char *)args; |
1974 serNum = strtol(cp, &cp, 10); | 1974 serNum = strtol(cp, &cp, 10); |
1975 | 1975 |
1976 /* Get the typenr specific for this buffer and convert it to | 1976 // Get the typenr specific for this buffer and convert it to |
1977 * the global typenumber, as used for the sign name. */ | 1977 // the global typenumber, as used for the sign name. |
1978 localTypeNum = strtol(cp, &cp, 10); | 1978 localTypeNum = strtol(cp, &cp, 10); |
1979 args = (char_u *)cp; | 1979 args = (char_u *)cp; |
1980 typeNum = mapsigntype(buf, localTypeNum); | 1980 typeNum = mapsigntype(buf, localTypeNum); |
1981 | 1981 |
1982 pos = get_off_or_lnum(buf->bufp, &args); | 1982 pos = get_off_or_lnum(buf->bufp, &args); |
2000 if (typeNum == curPCtype) | 2000 if (typeNum == curPCtype) |
2001 coloncmd(":sign jump %d buffer=%d", serNum, | 2001 coloncmd(":sign jump %d buffer=%d", serNum, |
2002 buf->bufp->b_fnum); | 2002 buf->bufp->b_fnum); |
2003 } | 2003 } |
2004 #endif | 2004 #endif |
2005 /* =====================================================================*/ | 2005 // ===================================================================== |
2006 } | 2006 } |
2007 else if (streq((char *)cmd, "removeAnno")) | 2007 else if (streq((char *)cmd, "removeAnno")) |
2008 { | 2008 { |
2009 #ifdef FEAT_SIGNS | 2009 #ifdef FEAT_SIGNS |
2010 int serNum; | 2010 int serNum; |
2020 args = (char_u *)cp; | 2020 args = (char_u *)cp; |
2021 coloncmd(":sign unplace %d buffer=%d", | 2021 coloncmd(":sign unplace %d buffer=%d", |
2022 serNum, buf->bufp->b_fnum); | 2022 serNum, buf->bufp->b_fnum); |
2023 redraw_buf_later(buf->bufp, NOT_VALID); | 2023 redraw_buf_later(buf->bufp, NOT_VALID); |
2024 #endif | 2024 #endif |
2025 /* =====================================================================*/ | 2025 // ===================================================================== |
2026 } | 2026 } |
2027 else if (streq((char *)cmd, "moveAnnoToFront")) | 2027 else if (streq((char *)cmd, "moveAnnoToFront")) |
2028 { | 2028 { |
2029 #ifdef FEAT_SIGNS | 2029 #ifdef FEAT_SIGNS |
2030 nbdebug((" moveAnnoToFront: Not Yet Implemented!\n")); | 2030 nbdebug((" moveAnnoToFront: Not Yet Implemented!\n")); |
2031 #endif | 2031 #endif |
2032 /* =====================================================================*/ | 2032 // ===================================================================== |
2033 } | 2033 } |
2034 else if (streq((char *)cmd, "guard") || streq((char *)cmd, "unguard")) | 2034 else if (streq((char *)cmd, "guard") || streq((char *)cmd, "unguard")) |
2035 { | 2035 { |
2036 int len; | 2036 int len; |
2037 pos_T first; | 2037 pos_T first; |
2080 cmd, off + len - 1)); | 2080 cmd, off + len - 1)); |
2081 else | 2081 else |
2082 { | 2082 { |
2083 long lnum; | 2083 long lnum; |
2084 last = *pos; | 2084 last = *pos; |
2085 /* set highlight for region */ | 2085 // set highlight for region |
2086 nbdebug((" %sGUARD %ld,%d to %ld,%d\n", (un) ? "UN" : "", | 2086 nbdebug((" %sGUARD %ld,%d to %ld,%d\n", (un) ? "UN" : "", |
2087 first.lnum, first.col, | 2087 first.lnum, first.col, |
2088 last.lnum, last.col)); | 2088 last.lnum, last.col)); |
2089 #ifdef FEAT_SIGNS | 2089 #ifdef FEAT_SIGNS |
2090 for (lnum = first.lnum; lnum <= last.lnum; lnum++) | 2090 for (lnum = first.lnum; lnum <= last.lnum; lnum++) |
2091 { | 2091 { |
2092 if (un) | 2092 if (un) |
2093 { | 2093 { |
2094 /* never used */ | 2094 // never used |
2095 } | 2095 } |
2096 else | 2096 else |
2097 { | 2097 { |
2098 if (buf_findsigntype_id(buf->bufp, lnum, | 2098 if (buf_findsigntype_id(buf->bufp, lnum, |
2099 GUARDED) == 0) | 2099 GUARDED) == 0) |
2107 } | 2107 } |
2108 #endif | 2108 #endif |
2109 redraw_buf_later(buf->bufp, NOT_VALID); | 2109 redraw_buf_later(buf->bufp, NOT_VALID); |
2110 } | 2110 } |
2111 } | 2111 } |
2112 /* =====================================================================*/ | 2112 // ===================================================================== |
2113 } | 2113 } |
2114 else if (streq((char *)cmd, "startAtomic")) | 2114 else if (streq((char *)cmd, "startAtomic")) |
2115 { | 2115 { |
2116 inAtomic = 1; | 2116 inAtomic = 1; |
2117 /* =====================================================================*/ | 2117 // ===================================================================== |
2118 } | 2118 } |
2119 else if (streq((char *)cmd, "endAtomic")) | 2119 else if (streq((char *)cmd, "endAtomic")) |
2120 { | 2120 { |
2121 inAtomic = 0; | 2121 inAtomic = 0; |
2122 if (needupdate) | 2122 if (needupdate) |
2123 { | 2123 { |
2124 do_update = 1; | 2124 do_update = 1; |
2125 needupdate = 0; | 2125 needupdate = 0; |
2126 } | 2126 } |
2127 /* =====================================================================*/ | 2127 // ===================================================================== |
2128 } | 2128 } |
2129 else if (streq((char *)cmd, "save")) | 2129 else if (streq((char *)cmd, "save")) |
2130 { | 2130 { |
2131 /* | 2131 /* |
2132 * NOTE - This command is obsolete wrt NetBeans. It's left in | 2132 * NOTE - This command is obsolete wrt NetBeans. It's left in |
2136 { | 2136 { |
2137 nbdebug((" invalid buffer identifier in %s command\n", cmd)); | 2137 nbdebug((" invalid buffer identifier in %s command\n", cmd)); |
2138 return FAIL; | 2138 return FAIL; |
2139 } | 2139 } |
2140 | 2140 |
2141 /* the following is taken from ex_cmds.c (do_wqall function) */ | 2141 // the following is taken from ex_cmds.c (do_wqall function) |
2142 if (bufIsChanged(buf->bufp)) | 2142 if (bufIsChanged(buf->bufp)) |
2143 { | 2143 { |
2144 /* Only write if the buffer can be written. */ | 2144 // Only write if the buffer can be written. |
2145 if (p_write | 2145 if (p_write |
2146 && !buf->bufp->b_p_ro | 2146 && !buf->bufp->b_p_ro |
2147 && buf->bufp->b_ffname != NULL | 2147 && buf->bufp->b_ffname != NULL |
2148 #ifdef FEAT_QUICKFIX | 2148 #ifdef FEAT_QUICKFIX |
2149 && !bt_dontwrite(buf->bufp) | 2149 && !bt_dontwrite(buf->bufp) |
2152 { | 2152 { |
2153 bufref_T bufref; | 2153 bufref_T bufref; |
2154 | 2154 |
2155 set_bufref(&bufref, buf->bufp); | 2155 set_bufref(&bufref, buf->bufp); |
2156 buf_write_all(buf->bufp, FALSE); | 2156 buf_write_all(buf->bufp, FALSE); |
2157 /* an autocommand may have deleted the buffer */ | 2157 // an autocommand may have deleted the buffer |
2158 if (!bufref_valid(&bufref)) | 2158 if (!bufref_valid(&bufref)) |
2159 buf->bufp = NULL; | 2159 buf->bufp = NULL; |
2160 } | 2160 } |
2161 } | 2161 } |
2162 else | 2162 else |
2163 { | 2163 { |
2164 nbdebug((" Buffer has no changes!\n")); | 2164 nbdebug((" Buffer has no changes!\n")); |
2165 } | 2165 } |
2166 /* =====================================================================*/ | 2166 // ===================================================================== |
2167 } | 2167 } |
2168 else if (streq((char *)cmd, "netbeansBuffer")) | 2168 else if (streq((char *)cmd, "netbeansBuffer")) |
2169 { | 2169 { |
2170 if (buf == NULL || buf->bufp == NULL) | 2170 if (buf == NULL || buf->bufp == NULL) |
2171 { | 2171 { |
2177 buf->bufp->b_netbeans_file = TRUE; | 2177 buf->bufp->b_netbeans_file = TRUE; |
2178 buf->bufp->b_was_netbeans_file = TRUE; | 2178 buf->bufp->b_was_netbeans_file = TRUE; |
2179 } | 2179 } |
2180 else | 2180 else |
2181 buf->bufp->b_netbeans_file = FALSE; | 2181 buf->bufp->b_netbeans_file = FALSE; |
2182 /* =====================================================================*/ | 2182 // ===================================================================== |
2183 } | 2183 } |
2184 else if (streq((char *)cmd, "specialKeys")) | 2184 else if (streq((char *)cmd, "specialKeys")) |
2185 { | 2185 { |
2186 special_keys(args); | 2186 special_keys(args); |
2187 /* =====================================================================*/ | 2187 // ===================================================================== |
2188 } | 2188 } |
2189 else if (streq((char *)cmd, "actionMenuItem")) | 2189 else if (streq((char *)cmd, "actionMenuItem")) |
2190 { | 2190 { |
2191 /* not used yet */ | 2191 // not used yet |
2192 /* =====================================================================*/ | 2192 // ===================================================================== |
2193 } | 2193 } |
2194 else if (streq((char *)cmd, "version")) | 2194 else if (streq((char *)cmd, "version")) |
2195 { | 2195 { |
2196 /* not used yet */ | 2196 // not used yet |
2197 } | 2197 } |
2198 else | 2198 else |
2199 { | 2199 { |
2200 nbdebug(("Unrecognised command: %s\n", cmd)); | 2200 nbdebug(("Unrecognised command: %s\n", cmd)); |
2201 } | 2201 } |
2219 update_screen(NOT_VALID); | 2219 update_screen(NOT_VALID); |
2220 setcursor(); | 2220 setcursor(); |
2221 cursor_on(); | 2221 cursor_on(); |
2222 out_flush_cursor(TRUE, FALSE); | 2222 out_flush_cursor(TRUE, FALSE); |
2223 | 2223 |
2224 /* Quit a hit-return or more prompt. */ | 2224 // Quit a hit-return or more prompt. |
2225 if (State == HITRETURN || State == ASKMORE) | 2225 if (State == HITRETURN || State == ASKMORE) |
2226 { | 2226 { |
2227 #ifdef FEAT_GUI_GTK | 2227 #ifdef FEAT_GUI_GTK |
2228 if (gui.in_use && gtk_main_level() > 0) | 2228 if (gui.in_use && gtk_main_level() > 0) |
2229 gtk_main_quit(); | 2229 gtk_main_quit(); |
2267 | 2267 |
2268 nbdebug((" COLONCMD %s\n", buf)); | 2268 nbdebug((" COLONCMD %s\n", buf)); |
2269 | 2269 |
2270 do_cmdline((char_u *)buf, NULL, NULL, DOCMD_NOWAIT | DOCMD_KEYTYPED); | 2270 do_cmdline((char_u *)buf, NULL, NULL, DOCMD_NOWAIT | DOCMD_KEYTYPED); |
2271 | 2271 |
2272 setcursor(); /* restore the cursor position */ | 2272 setcursor(); // restore the cursor position |
2273 out_flush_cursor(TRUE, FALSE); | 2273 out_flush_cursor(TRUE, FALSE); |
2274 } | 2274 } |
2275 | 2275 |
2276 | 2276 |
2277 /* | 2277 /* |
2417 case K_F12: name = "F12"; break; | 2417 case K_F12: name = "F12"; break; |
2418 case K_S_F12: name = "F12"; shift = 1; break; | 2418 case K_S_F12: name = "F12"; shift = 1; break; |
2419 default: | 2419 default: |
2420 if (key >= ' ' && key <= '~') | 2420 if (key >= ' ' && key <= '~') |
2421 { | 2421 { |
2422 /* Allow ASCII characters. */ | 2422 // Allow ASCII characters. |
2423 name = namebuf; | 2423 name = namebuf; |
2424 namebuf[0] = key; | 2424 namebuf[0] = key; |
2425 namebuf[1] = NUL; | 2425 namebuf[1] = NUL; |
2426 } | 2426 } |
2427 else | 2427 else |
2433 if (ctrl) | 2433 if (ctrl) |
2434 strcat(buf, "C"); | 2434 strcat(buf, "C"); |
2435 if (shift) | 2435 if (shift) |
2436 strcat(buf, "S"); | 2436 strcat(buf, "S"); |
2437 if (alt) | 2437 if (alt) |
2438 strcat(buf, "M"); /* META */ | 2438 strcat(buf, "M"); // META |
2439 if (ctrl || shift || alt) | 2439 if (ctrl || shift || alt) |
2440 strcat(buf, "-"); | 2440 strcat(buf, "-"); |
2441 strcat(buf, name); | 2441 strcat(buf, name); |
2442 } | 2442 } |
2443 | 2443 |
2457 linenr_T lnum; | 2457 linenr_T lnum; |
2458 int col; | 2458 int col; |
2459 char *buf; | 2459 char *buf; |
2460 char_u *p; | 2460 char_u *p; |
2461 | 2461 |
2462 /* Don't do anything when 'ballooneval' is off, messages scrolled the | 2462 // Don't do anything when 'ballooneval' is off, messages scrolled the |
2463 * windows up or we have no connection. */ | 2463 // windows up or we have no connection. |
2464 if (!can_use_beval() || !NETBEANS_OPEN) | 2464 if (!can_use_beval() || !NETBEANS_OPEN) |
2465 return; | 2465 return; |
2466 | 2466 |
2467 if (get_beval_info(beval, TRUE, &wp, &lnum, &text, &col) == OK) | 2467 if (get_beval_info(beval, TRUE, &wp, &lnum, &text, &col) == OK) |
2468 { | 2468 { |
2469 /* Send debugger request. Only when the text is of reasonable | 2469 // Send debugger request. Only when the text is of reasonable |
2470 * length. */ | 2470 // length. |
2471 if (text != NULL && text[0] != NUL && STRLEN(text) < MAXPATHL) | 2471 if (text != NULL && text[0] != NUL && STRLEN(text) < MAXPATHL) |
2472 { | 2472 { |
2473 buf = alloc(MAXPATHL * 2 + 25); | 2473 buf = alloc(MAXPATHL * 2 + 25); |
2474 if (buf != NULL) | 2474 if (buf != NULL) |
2475 { | 2475 { |
2517 return; | 2517 return; |
2518 | 2518 |
2519 nbdebug(("EVT: %s", cmd)); | 2519 nbdebug(("EVT: %s", cmd)); |
2520 nb_send(cmd, "netbeans_startup_done"); | 2520 nb_send(cmd, "netbeans_startup_done"); |
2521 | 2521 |
2522 /* update the screen after having added the gutter */ | 2522 // update the screen after having added the gutter |
2523 changed_window_setting(); | 2523 changed_window_setting(); |
2524 update_screen(CLEAR); | 2524 update_screen(CLEAR); |
2525 setcursor(); | 2525 setcursor(); |
2526 cursor_on(); | 2526 cursor_on(); |
2527 out_flush_cursor(TRUE, FALSE); | 2527 out_flush_cursor(TRUE, FALSE); |
2573 if (!NETBEANS_OPEN) | 2573 if (!NETBEANS_OPEN) |
2574 return; | 2574 return; |
2575 | 2575 |
2576 sprintf(buf, "0:geometry=%d %d %d %d %d\n", | 2576 sprintf(buf, "0:geometry=%d %d %d %d %d\n", |
2577 r_cmdno, (int)Columns, (int)Rows, new_x, new_y); | 2577 r_cmdno, (int)Columns, (int)Rows, new_x, new_y); |
2578 /*nbdebug(("EVT: %s", buf)); happens too many times during a move */ | 2578 // nbdebug(("EVT: %s", buf)); happens too many times during a move |
2579 nb_send(buf, "netbeans_frame_moved"); | 2579 nb_send(buf, "netbeans_frame_moved"); |
2580 } | 2580 } |
2581 #endif | 2581 #endif |
2582 | 2582 |
2583 /* | 2583 /* |
2600 | 2600 |
2601 vim_snprintf(buffer, sizeof(buffer), "%d:fileOpened=%d \"%s\" %s %s\n", | 2601 vim_snprintf(buffer, sizeof(buffer), "%d:fileOpened=%d \"%s\" %s %s\n", |
2602 bufno, | 2602 bufno, |
2603 bufno, | 2603 bufno, |
2604 (char *)q, | 2604 (char *)q, |
2605 "T", /* open in NetBeans */ | 2605 "T", // open in NetBeans |
2606 "F"); /* modified */ | 2606 "F"); // modified |
2607 | 2607 |
2608 vim_free(q); | 2608 vim_free(q); |
2609 nbdebug(("EVT: %s", buffer)); | 2609 nbdebug(("EVT: %s", buffer)); |
2610 | 2610 |
2611 nb_send(buffer, "netbeans_file_opened"); | 2611 nb_send(buffer, "netbeans_file_opened"); |
2636 | 2636 |
2637 vim_snprintf(buffer, sizeof(buffer), "%d:fileOpened=%d \"%s\" %s %s\n", | 2637 vim_snprintf(buffer, sizeof(buffer), "%d:fileOpened=%d \"%s\" %s %s\n", |
2638 bnum, | 2638 bnum, |
2639 0, | 2639 0, |
2640 (char *)q, | 2640 (char *)q, |
2641 "T", /* open in NetBeans */ | 2641 "T", // open in NetBeans |
2642 "F"); /* modified */ | 2642 "F"); // modified |
2643 | 2643 |
2644 vim_free(q); | 2644 vim_free(q); |
2645 nbdebug(("EVT: %s", buffer)); | 2645 nbdebug(("EVT: %s", buffer)); |
2646 | 2646 |
2647 nb_send(buffer, "netbeans_file_opened"); | 2647 nb_send(buffer, "netbeans_file_opened"); |
2685 { | 2685 { |
2686 int bufno; | 2686 int bufno; |
2687 nbbuf_T *nbbuf; | 2687 nbbuf_T *nbbuf; |
2688 | 2688 |
2689 if (!NETBEANS_OPEN || !netbeansFireChanges) | 2689 if (!NETBEANS_OPEN || !netbeansFireChanges) |
2690 return NULL; /* changes are not reported at all */ | 2690 return NULL; // changes are not reported at all |
2691 | 2691 |
2692 bufno = nb_getbufno(bufp); | 2692 bufno = nb_getbufno(bufp); |
2693 if (bufno <= 0) | 2693 if (bufno <= 0) |
2694 return NULL; /* file is not known to NetBeans */ | 2694 return NULL; // file is not known to NetBeans |
2695 | 2695 |
2696 nbbuf = nb_get_buf(bufno); | 2696 nbbuf = nb_get_buf(bufno); |
2697 if (nbbuf != NULL && !nbbuf->fireChanges) | 2697 if (nbbuf != NULL && !nbbuf->fireChanges) |
2698 return NULL; /* changes in this buffer are not reported */ | 2698 return NULL; // changes in this buffer are not reported |
2699 | 2699 |
2700 *bufnop = bufno; | 2700 *bufnop = bufno; |
2701 return nbbuf; | 2701 return nbbuf; |
2702 } | 2702 } |
2703 | 2703 |
2725 | 2725 |
2726 nbbuf = nb_bufp2nbbuf_fire(bufp, &bufno); | 2726 nbbuf = nb_bufp2nbbuf_fire(bufp, &bufno); |
2727 if (nbbuf == NULL) | 2727 if (nbbuf == NULL) |
2728 return; | 2728 return; |
2729 | 2729 |
2730 /* Don't mark as modified for initial read */ | 2730 // Don't mark as modified for initial read |
2731 if (nbbuf->insertDone) | 2731 if (nbbuf->insertDone) |
2732 nbbuf->modified = 1; | 2732 nbbuf->modified = 1; |
2733 | 2733 |
2734 pos.lnum = linenr; | 2734 pos.lnum = linenr; |
2735 pos.col = col; | 2735 pos.col = col; |
2736 off = pos2off(bufp, &pos); | 2736 off = pos2off(bufp, &pos); |
2737 | 2737 |
2738 /* send the "insert" EVT */ | 2738 // send the "insert" EVT |
2739 newtxt = alloc(newlen + 1); | 2739 newtxt = alloc(newlen + 1); |
2740 vim_strncpy(newtxt, txt, newlen); | 2740 vim_strncpy(newtxt, txt, newlen); |
2741 p = nb_quote(newtxt); | 2741 p = nb_quote(newtxt); |
2742 if (p != NULL) | 2742 if (p != NULL) |
2743 { | 2743 { |
2797 * Send netbeans an unmodified command. | 2797 * Send netbeans an unmodified command. |
2798 */ | 2798 */ |
2799 void | 2799 void |
2800 netbeans_unmodified(buf_T *bufp UNUSED) | 2800 netbeans_unmodified(buf_T *bufp UNUSED) |
2801 { | 2801 { |
2802 /* This is a no-op, because NetBeans considers a buffer modified | 2802 // This is a no-op, because NetBeans considers a buffer modified |
2803 * even when all changes have been undone. */ | 2803 // even when all changes have been undone. |
2804 } | 2804 } |
2805 | 2805 |
2806 /* | 2806 /* |
2807 * Send a button release event back to netbeans. It's up to netbeans | 2807 * Send a button release event back to netbeans. It's up to netbeans |
2808 * to decide what to do (if anything) with this event. | 2808 * to decide what to do (if anything) with this event. |
2822 { | 2822 { |
2823 int col = mouse_col - curwin->w_wincol | 2823 int col = mouse_col - curwin->w_wincol |
2824 - ((curwin->w_p_nu || curwin->w_p_rnu) ? 9 : 1); | 2824 - ((curwin->w_p_nu || curwin->w_p_rnu) ? 9 : 1); |
2825 long off = pos2off(curbuf, &curwin->w_cursor); | 2825 long off = pos2off(curbuf, &curwin->w_cursor); |
2826 | 2826 |
2827 /* sync the cursor position */ | 2827 // sync the cursor position |
2828 sprintf(buf, "%d:newDotAndMark=%d %ld %ld\n", bufno, r_cmdno, off, off); | 2828 sprintf(buf, "%d:newDotAndMark=%d %ld %ld\n", bufno, r_cmdno, off, off); |
2829 nbdebug(("EVT: %s", buf)); | 2829 nbdebug(("EVT: %s", buf)); |
2830 nb_send(buf, "netbeans_button_release[newDotAndMark]"); | 2830 nb_send(buf, "netbeans_button_release[newDotAndMark]"); |
2831 | 2831 |
2832 sprintf(buf, "%d:buttonRelease=%d %d %ld %d\n", bufno, r_cmdno, | 2832 sprintf(buf, "%d:buttonRelease=%d %d %ld %d\n", bufno, r_cmdno, |
2877 : nb_quote(curbuf->b_ffname); | 2877 : nb_quote(curbuf->b_ffname); |
2878 if (q == NULL) | 2878 if (q == NULL) |
2879 return TRUE; | 2879 return TRUE; |
2880 vim_snprintf(buf, sizeof(buf), "0:fileOpened=%d \"%s\" %s %s\n", 0, | 2880 vim_snprintf(buf, sizeof(buf), "0:fileOpened=%d \"%s\" %s %s\n", 0, |
2881 q, | 2881 q, |
2882 "T", /* open in NetBeans */ | 2882 "T", // open in NetBeans |
2883 "F"); /* modified */ | 2883 "F"); // modified |
2884 if (curbuf->b_ffname != NULL) | 2884 if (curbuf->b_ffname != NULL) |
2885 vim_free(q); | 2885 vim_free(q); |
2886 nbdebug(("EVT: %s", buf)); | 2886 nbdebug(("EVT: %s", buf)); |
2887 nb_send(buf, "netbeans_keycommand"); | 2887 nb_send(buf, "netbeans_keycommand"); |
2888 | 2888 |
2889 postpone_keycommand(keyName); | 2889 postpone_keycommand(keyName); |
2890 return FALSE; | 2890 return FALSE; |
2891 } | 2891 } |
2892 | 2892 |
2893 /* sync the cursor position */ | 2893 // sync the cursor position |
2894 off = pos2off(curbuf, &curwin->w_cursor); | 2894 off = pos2off(curbuf, &curwin->w_cursor); |
2895 sprintf(buf, "%d:newDotAndMark=%d %ld %ld\n", bufno, r_cmdno, off, off); | 2895 sprintf(buf, "%d:newDotAndMark=%d %ld %ld\n", bufno, r_cmdno, off, off); |
2896 nbdebug(("EVT: %s", buf)); | 2896 nbdebug(("EVT: %s", buf)); |
2897 nb_send(buf, "netbeans_keycommand"); | 2897 nb_send(buf, "netbeans_keycommand"); |
2898 | 2898 |
2899 /* To work on Win32 you must apply patch to ExtEditor module | 2899 // To work on Win32 you must apply patch to ExtEditor module |
2900 * from ExtEdCaret.java.diff - make EVT_newDotAndMark handler | 2900 // from ExtEdCaret.java.diff - make EVT_newDotAndMark handler |
2901 * more synchronous | 2901 // more synchronous |
2902 */ | 2902 |
2903 | 2903 // now send keyCommand event |
2904 /* now send keyCommand event */ | |
2905 vim_snprintf(buf, sizeof(buf), "%d:keyCommand=%d \"%s\"\n", | 2904 vim_snprintf(buf, sizeof(buf), "%d:keyCommand=%d \"%s\"\n", |
2906 bufno, r_cmdno, keyName); | 2905 bufno, r_cmdno, keyName); |
2907 nbdebug(("EVT: %s", buf)); | 2906 nbdebug(("EVT: %s", buf)); |
2908 nb_send(buf, "netbeans_keycommand"); | 2907 nb_send(buf, "netbeans_keycommand"); |
2909 | 2908 |
2910 /* New: do both at once and include the lnum/col. */ | 2909 // New: do both at once and include the lnum/col. |
2911 vim_snprintf(buf, sizeof(buf), "%d:keyAtPos=%d \"%s\" %ld %ld/%ld\n", | 2910 vim_snprintf(buf, sizeof(buf), "%d:keyAtPos=%d \"%s\" %ld %ld/%ld\n", |
2912 bufno, r_cmdno, keyName, | 2911 bufno, r_cmdno, keyName, |
2913 off, (long)curwin->w_cursor.lnum, (long)curwin->w_cursor.col); | 2912 off, (long)curwin->w_cursor.lnum, (long)curwin->w_cursor.col); |
2914 nbdebug(("EVT: %s", buf)); | 2913 nbdebug(("EVT: %s", buf)); |
2915 nb_send(buf, "netbeans_keycommand"); | 2914 nb_send(buf, "netbeans_keycommand"); |
2957 | 2956 |
2958 nbbuf = nb_bufp2nbbuf_fire(bufp, &bufno); | 2957 nbbuf = nb_bufp2nbbuf_fire(bufp, &bufno); |
2959 if (nbbuf == NULL) | 2958 if (nbbuf == NULL) |
2960 return; | 2959 return; |
2961 | 2960 |
2962 /* Don't mark as modified for initial read */ | 2961 // Don't mark as modified for initial read |
2963 if (nbbuf->insertDone) | 2962 if (nbbuf->insertDone) |
2964 nbbuf->modified = 1; | 2963 nbbuf->modified = 1; |
2965 | 2964 |
2966 sprintf((char *)buf, "%d:remove=%d 0 -1\n", bufno, r_cmdno); | 2965 sprintf((char *)buf, "%d:remove=%d 0 -1\n", bufno, r_cmdno); |
2967 nbdebug(("EVT(suppressed): %s", buf)); | 2966 nbdebug(("EVT(suppressed): %s", buf)); |
2968 /* nb_send(buf, "netbeans_deleted_all_lines"); */ | 2967 // nb_send(buf, "netbeans_deleted_all_lines"); |
2969 } | 2968 } |
2970 | 2969 |
2971 | 2970 |
2972 /* | 2971 /* |
2973 * See if the lines are guarded. The top and bot parameters are from | 2972 * See if the lines are guarded. The top and bot parameters are from |
3019 XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+1, y); | 3018 XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+1, y); |
3020 XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+2, y); | 3019 XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+2, y); |
3021 XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+3, y++); | 3020 XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+3, y++); |
3022 XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+2, y); | 3021 XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+2, y); |
3023 } | 3022 } |
3024 #endif /* FEAT_GUI_X11 */ | 3023 #endif // FEAT_GUI_X11 |
3025 | 3024 |
3026 #if defined(FEAT_GUI_GTK) && !defined(PROTO) | 3025 #if defined(FEAT_GUI_GTK) && !defined(PROTO) |
3027 /* | 3026 /* |
3028 * We have multiple signs to draw at the same location. Draw the | 3027 * We have multiple signs to draw at the same location. Draw the |
3029 * multi-sign indicator instead. This is the GTK/Gnome version. | 3028 * multi-sign indicator instead. This is the GTK/Gnome version. |
3080 | 3079 |
3081 #if GTK_CHECK_VERSION(3,0,0) | 3080 #if GTK_CHECK_VERSION(3,0,0) |
3082 cairo_destroy(cr); | 3081 cairo_destroy(cr); |
3083 #endif | 3082 #endif |
3084 } | 3083 } |
3085 #endif /* FEAT_GUI_GTK */ | 3084 #endif // FEAT_GUI_GTK |
3086 | 3085 |
3087 /* | 3086 /* |
3088 * If the mouse is clicked in the gutter of a line with multiple | 3087 * If the mouse is clicked in the gutter of a line with multiple |
3089 * annotations, cycle through the set of signs. | 3088 * annotations, cycle through the set of signs. |
3090 */ | 3089 */ |
3100 { | 3099 { |
3101 if (p->se_lnum == lnum && p->se_next && p->se_next->se_lnum == lnum) | 3100 if (p->se_lnum == lnum && p->se_next && p->se_next->se_lnum == lnum) |
3102 { | 3101 { |
3103 sign_entry_T *tail; | 3102 sign_entry_T *tail; |
3104 | 3103 |
3105 /* remove "p" from list, reinsert it at the tail of the sublist */ | 3104 // remove "p" from list, reinsert it at the tail of the sublist |
3106 if (p->se_prev) | 3105 if (p->se_prev) |
3107 p->se_prev->se_next = p->se_next; | 3106 p->se_prev->se_next = p->se_next; |
3108 else | 3107 else |
3109 curbuf->b_signlist = p->se_next; | 3108 curbuf->b_signlist = p->se_next; |
3110 p->se_next->se_prev = p->se_prev; | 3109 p->se_next->se_prev = p->se_prev; |
3111 /* now find end of sublist and insert p */ | 3110 // now find end of sublist and insert p |
3112 for (tail = p->se_next; | 3111 for (tail = p->se_next; |
3113 tail->se_next && tail->se_next->se_lnum == lnum | 3112 tail->se_next && tail->se_next->se_lnum == lnum |
3114 && tail->se_next->se_id < GUARDEDOFFSET; | 3113 && tail->se_next->se_id < GUARDEDOFFSET; |
3115 tail = tail->se_next) | 3114 tail = tail->se_next) |
3116 ; | 3115 ; |
3117 /* tail now points to last entry with same lnum (except | 3116 // tail now points to last entry with same lnum (except |
3118 * that "guarded" annotations are always last) */ | 3117 // that "guarded" annotations are always last) |
3119 p->se_next = tail->se_next; | 3118 p->se_next = tail->se_next; |
3120 if (tail->se_next) | 3119 if (tail->se_next) |
3121 tail->se_next->se_prev = p; | 3120 tail->se_next->se_prev = p; |
3122 p->se_prev = tail; | 3121 p->se_prev = tail; |
3123 tail->se_next = p; | 3122 tail->se_next = p; |
3158 | 3157 |
3159 for (i = 0; i < globalsignmapused; i++) | 3158 for (i = 0; i < globalsignmapused; i++) |
3160 if (STRCMP(typeName, globalsignmap[i]) == 0) | 3159 if (STRCMP(typeName, globalsignmap[i]) == 0) |
3161 break; | 3160 break; |
3162 | 3161 |
3163 if (i == globalsignmapused) /* not found; add it to global map */ | 3162 if (i == globalsignmapused) // not found; add it to global map |
3164 { | 3163 { |
3165 nbdebug(("DEFINEANNOTYPE(%d,%s,%s,%s,%s,%s)\n", | 3164 nbdebug(("DEFINEANNOTYPE(%d,%s,%s,%s,%s,%s)\n", |
3166 typeNum, typeName, tooltip, glyphFile, fg, bg)); | 3165 typeNum, typeName, tooltip, glyphFile, fg, bg)); |
3167 if (use_fg || use_bg) | 3166 if (use_fg || use_bg) |
3168 { | 3167 { |
3184 sprintf(bgbuf, "guibg=%s ctermbg=%s", bg, bg); | 3183 sprintf(bgbuf, "guibg=%s ctermbg=%s", bg, bg); |
3185 | 3184 |
3186 coloncmd(":highlight NB_%s %s %s", typeName, (use_fg) ? fgbuf : "", | 3185 coloncmd(":highlight NB_%s %s %s", typeName, (use_fg) ? fgbuf : "", |
3187 (use_bg) ? bgbuf : ""); | 3186 (use_bg) ? bgbuf : ""); |
3188 if (*glyphFile == NUL) | 3187 if (*glyphFile == NUL) |
3189 /* no glyph, line highlighting only */ | 3188 // no glyph, line highlighting only |
3190 coloncmd(":sign define %d linehl=NB_%s", i + 1, typeName); | 3189 coloncmd(":sign define %d linehl=NB_%s", i + 1, typeName); |
3191 else if (vim_strsize(glyphFile) <= 2) | 3190 else if (vim_strsize(glyphFile) <= 2) |
3192 /* one- or two-character glyph name, use as text glyph with | 3191 // one- or two-character glyph name, use as text glyph with |
3193 * texthl */ | 3192 // texthl |
3194 coloncmd(":sign define %d text=%s texthl=NB_%s", i + 1, | 3193 coloncmd(":sign define %d text=%s texthl=NB_%s", i + 1, |
3195 glyphFile, typeName); | 3194 glyphFile, typeName); |
3196 else | 3195 else |
3197 /* glyph, line highlighting */ | 3196 // glyph, line highlighting |
3198 coloncmd(":sign define %d icon=%s linehl=NB_%s", i + 1, | 3197 coloncmd(":sign define %d icon=%s linehl=NB_%s", i + 1, |
3199 glyphFile, typeName); | 3198 glyphFile, typeName); |
3200 } | 3199 } |
3201 else | 3200 else |
3202 /* glyph, no line highlighting */ | 3201 // glyph, no line highlighting |
3203 coloncmd(":sign define %d icon=%s", i + 1, glyphFile); | 3202 coloncmd(":sign define %d icon=%s", i + 1, glyphFile); |
3204 | 3203 |
3205 if (STRCMP(typeName,"CurrentPC") == 0) | 3204 if (STRCMP(typeName,"CurrentPC") == 0) |
3206 curPCtype = typeNum; | 3205 curPCtype = typeNum; |
3207 | 3206 |
3208 if (globalsignmapused == globalsignmaplen) | 3207 if (globalsignmapused == globalsignmaplen) |
3209 { | 3208 { |
3210 if (globalsignmaplen == 0) /* first allocation */ | 3209 if (globalsignmaplen == 0) // first allocation |
3211 { | 3210 { |
3212 globalsignmaplen = 20; | 3211 globalsignmaplen = 20; |
3213 globalsignmap = ALLOC_CLEAR_MULT(char *, globalsignmaplen); | 3212 globalsignmap = ALLOC_CLEAR_MULT(char *, globalsignmaplen); |
3214 } | 3213 } |
3215 else /* grow it */ | 3214 else // grow it |
3216 { | 3215 { |
3217 int incr; | 3216 int incr; |
3218 int oldlen = globalsignmaplen; | 3217 int oldlen = globalsignmaplen; |
3219 char **t_globalsignmap = globalsignmap; | 3218 char **t_globalsignmap = globalsignmap; |
3220 | 3219 |
3234 | 3233 |
3235 globalsignmap[i] = (char *)typeName; | 3234 globalsignmap[i] = (char *)typeName; |
3236 globalsignmapused = i + 1; | 3235 globalsignmapused = i + 1; |
3237 } | 3236 } |
3238 | 3237 |
3239 /* check local map; should *not* be found! */ | 3238 // check local map; should *not* be found! |
3240 for (j = 0; j < buf->signmapused; j++) | 3239 for (j = 0; j < buf->signmapused; j++) |
3241 if (buf->signmap[j] == i + 1) | 3240 if (buf->signmap[j] == i + 1) |
3242 return; | 3241 return; |
3243 | 3242 |
3244 /* add to local map */ | 3243 // add to local map |
3245 if (buf->signmapused == buf->signmaplen) | 3244 if (buf->signmapused == buf->signmaplen) |
3246 { | 3245 { |
3247 if (buf->signmaplen == 0) /* first allocation */ | 3246 if (buf->signmaplen == 0) // first allocation |
3248 { | 3247 { |
3249 buf->signmaplen = 5; | 3248 buf->signmaplen = 5; |
3250 buf->signmap = ALLOC_CLEAR_MULT(int, buf->signmaplen); | 3249 buf->signmap = ALLOC_CLEAR_MULT(int, buf->signmaplen); |
3251 } | 3250 } |
3252 else /* grow it */ | 3251 else // grow it |
3253 { | 3252 { |
3254 int incr; | 3253 int incr; |
3255 int oldlen = buf->signmaplen; | 3254 int oldlen = buf->signmaplen; |
3256 int *t_signmap = buf->signmap; | 3255 int *t_signmap = buf->signmap; |
3257 | 3256 |
3308 eol_size = 1; | 3307 eol_size = 1; |
3309 for (lnum = 1; lnum <= bufp->b_ml.ml_line_count; ++lnum) | 3308 for (lnum = 1; lnum <= bufp->b_ml.ml_line_count; ++lnum) |
3310 { | 3309 { |
3311 char_count += (long)STRLEN(ml_get_buf(bufp, lnum, FALSE)) | 3310 char_count += (long)STRLEN(ml_get_buf(bufp, lnum, FALSE)) |
3312 + eol_size; | 3311 + eol_size; |
3313 /* Check for a CTRL-C every 100000 characters */ | 3312 // Check for a CTRL-C every 100000 characters |
3314 if (char_count > last_check) | 3313 if (char_count > last_check) |
3315 { | 3314 { |
3316 ui_breakcheck(); | 3315 ui_breakcheck(); |
3317 if (got_int) | 3316 if (got_int) |
3318 return char_count; | 3317 return char_count; |
3319 last_check = char_count + 100000L; | 3318 last_check = char_count + 100000L; |
3320 } | 3319 } |
3321 } | 3320 } |
3322 /* Correction for when last line doesn't have an EOL. */ | 3321 // Correction for when last line doesn't have an EOL. |
3323 if (!bufp->b_p_eol && (bufp->b_p_bin || !bufp->b_p_fixeol)) | 3322 if (!bufp->b_p_eol && (bufp->b_p_bin || !bufp->b_p_fixeol)) |
3324 char_count -= eol_size; | 3323 char_count -= eol_size; |
3325 } | 3324 } |
3326 | 3325 |
3327 return char_count; | 3326 return char_count; |
3422 : _("[Incomplete last line]")); | 3421 : _("[Incomplete last line]")); |
3423 c = TRUE; | 3422 c = TRUE; |
3424 } | 3423 } |
3425 msg_add_lines(c, (long)lnum, nchars); | 3424 msg_add_lines(c, (long)lnum, nchars); |
3426 | 3425 |
3427 /* Now display it */ | 3426 // Now display it |
3428 VIM_CLEAR(keep_msg); | 3427 VIM_CLEAR(keep_msg); |
3429 msg_scrolled_ign = TRUE; | 3428 msg_scrolled_ign = TRUE; |
3430 msg_trunc_attr((char *)IObuff, FALSE, 0); | 3429 msg_trunc_attr((char *)IObuff, FALSE, 0); |
3431 msg_scrolled_ign = FALSE; | 3430 msg_scrolled_ign = FALSE; |
3432 } | 3431 } |
3443 char_u c; | 3442 char_u c; |
3444 char_u *p; | 3443 char_u *p; |
3445 | 3444 |
3446 if (nchars >= 0) | 3445 if (nchars >= 0) |
3447 { | 3446 { |
3448 /* put fname in IObuff with quotes */ | 3447 // put fname in IObuff with quotes |
3449 msg_add_fname(buf->bufp, buf->bufp->b_ffname); | 3448 msg_add_fname(buf->bufp, buf->bufp->b_ffname); |
3450 c = FALSE; | 3449 c = FALSE; |
3451 | 3450 |
3452 msg_add_lines(c, buf->bufp->b_ml.ml_line_count, | 3451 msg_add_lines(c, buf->bufp->b_ml.ml_line_count, |
3453 buf->bufp->b_orig_size); | 3452 buf->bufp->b_orig_size); |
3455 VIM_CLEAR(keep_msg); | 3454 VIM_CLEAR(keep_msg); |
3456 msg_scrolled_ign = TRUE; | 3455 msg_scrolled_ign = TRUE; |
3457 p = (char_u *)msg_trunc_attr((char *)IObuff, FALSE, 0); | 3456 p = (char_u *)msg_trunc_attr((char *)IObuff, FALSE, 0); |
3458 if ((msg_scrolled && !need_wait_return) || !buf->initDone) | 3457 if ((msg_scrolled && !need_wait_return) || !buf->initDone) |
3459 { | 3458 { |
3460 /* Need to repeat the message after redrawing when: | 3459 // Need to repeat the message after redrawing when: |
3461 * - When reading from stdin (the screen will be cleared next). | 3460 // - When reading from stdin (the screen will be cleared next). |
3462 * - When restart_edit is set (otherwise there will be a delay | 3461 // - When restart_edit is set (otherwise there will be a delay |
3463 * before redrawing). | 3462 // before redrawing). |
3464 * - When the screen was scrolled but there is no wait-return | 3463 // - When the screen was scrolled but there is no wait-return |
3465 * prompt. */ | 3464 // prompt. |
3466 set_keep_msg(p, 0); | 3465 set_keep_msg(p, 0); |
3467 } | 3466 } |
3468 msg_scrolled_ign = FALSE; | 3467 msg_scrolled_ign = FALSE; |
3469 /* add_to_input_buf((char_u *)"\f", 1); */ | 3468 // add_to_input_buf((char_u *)"\f", 1); |
3470 } | 3469 } |
3471 else | 3470 else |
3472 { | 3471 { |
3473 char msgbuf[IOSIZE]; | 3472 char msgbuf[IOSIZE]; |
3474 | 3473 |
3477 nbdebug((" %s\n", msgbuf)); | 3476 nbdebug((" %s\n", msgbuf)); |
3478 emsg(msgbuf); | 3477 emsg(msgbuf); |
3479 } | 3478 } |
3480 } | 3479 } |
3481 | 3480 |
3482 #endif /* defined(FEAT_NETBEANS_INTG) */ | 3481 #endif // defined(FEAT_NETBEANS_INTG) |