diff --git a/src/memline.c b/src/memline.c index 480e93cf640a9dc53236bf9b9dda5ba50dae87a3..29a6e5cca374bbd393392b1101ce4b2d141b8769 100644 --- a/src/memline.c +++ b/src/memline.c @@ -3087,12 +3087,19 @@ ml_flush_line(buf) int start; int count; int i; + static int entered = FALSE; if (buf->b_ml.ml_line_lnum == 0 || buf->b_ml.ml_mfp == NULL) return; /* nothing to do */ if (buf->b_ml.ml_flags & ML_LINE_DIRTY) { + /* This code doesn't work recursively, but Netbeans may call back here + * when obtaining the cursor position. */ + if (entered) + return; + entered = TRUE; + lnum = buf->b_ml.ml_line_lnum; new_line = buf->b_ml.ml_line_ptr; @@ -3160,6 +3167,8 @@ ml_flush_line(buf) } } vim_free(new_line); + + entered = FALSE; } buf->b_ml.ml_line_lnum = 0; diff --git a/src/version.c b/src/version.c index d71cbbc27358889799c5aa376da518218b7a2bbb..5ffee97d2259e44f19970b8ed82586f2f50098fa 100644 --- a/src/version.c +++ b/src/version.c @@ -681,6 +681,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 359, /**/ 358, /**/