updated for version 7.3.066
Problem: Crash when changing to another window while in a :vimgrep command.
(Christian Brabandt)
Solution: When wiping out the dummy before, remove it from aucmd_win.
diff --git a/src/quickfix.c b/src/quickfix.c
index 0249523..5060675 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -3432,6 +3432,7 @@
char_u *fname;
{
buf_T *newbuf;
+ buf_T *newbuf_to_wipe = NULL;
int failed = TRUE;
aco_save_T aco;
@@ -3468,15 +3469,19 @@
failed = FALSE;
if (curbuf != newbuf)
{
- /* Bloody autocommands changed the buffer! */
- if (buf_valid(newbuf))
- wipe_buffer(newbuf, FALSE);
+ /* Bloody autocommands changed the buffer! Can happen when
+ * using netrw and editing a remote file. Use the current
+ * buffer instead, delete the dummy one after restoring the
+ * window stuff. */
+ newbuf_to_wipe = newbuf;
newbuf = curbuf;
}
}
/* restore curwin/curbuf and a few other things */
aucmd_restbuf(&aco);
+ if (newbuf_to_wipe != NULL && buf_valid(newbuf_to_wipe))
+ wipe_buffer(newbuf_to_wipe, FALSE);
}
if (!buf_valid(newbuf))
diff --git a/src/version.c b/src/version.c
index e334d0a..95c0262 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 66,
+/**/
65,
/**/
64,