diff --git a/7.3.066 b/7.3.066 new file mode 100644 index 0000000..f4a6fd0 --- /dev/null +++ b/7.3.066 @@ -0,0 +1,90 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.066 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 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. +Files: src/quickfix.c + + +*** ../vim-7.3.065/src/quickfix.c 2010-09-21 16:56:29.000000000 +0200 +--- src/quickfix.c 2010-11-24 16:27:40.000000000 +0100 +*************** +*** 3432,3437 **** +--- 3432,3438 ---- + char_u *fname; + { + buf_T *newbuf; ++ buf_T *newbuf_to_wipe = NULL; + int failed = TRUE; + aco_save_T aco; + +*************** +*** 3468,3482 **** + failed = FALSE; + if (curbuf != newbuf) + { +! /* Bloody autocommands changed the buffer! */ +! if (buf_valid(newbuf)) +! wipe_buffer(newbuf, FALSE); + newbuf = curbuf; + } + } + + /* restore curwin/curbuf and a few other things */ + aucmd_restbuf(&aco); + } + + if (!buf_valid(newbuf)) +--- 3469,3487 ---- + failed = FALSE; + if (curbuf != newbuf) + { +! /* 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)) +*** ../vim-7.3.065/src/version.c 2010-11-24 15:50:54.000000000 +0100 +--- src/version.c 2010-11-24 16:30:44.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 66, + /**/ + +-- +CART DRIVER: Bring out your dead! + We follow the cart through a wretched, impoverished plague-ridden village. + A few starved mongrels run about in the mud scavenging. In the open + doorway of one house perhaps we jug glimpse a pair of legs dangling from + the ceiling. In another doorway an OLD WOMAN is beating a cat against a + wall rather like one does with a mat. The cart passes round a dead donkey + or cow in the mud. And a MAN tied to a cart is being hammered to death by + four NUNS with huge mallets. + "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ an exciting new programming language -- http://www.Zimbu.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///