summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.509
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.509')
-rw-r--r--source/ap/vim/patches/7.3.509304
1 files changed, 0 insertions, 304 deletions
diff --git a/source/ap/vim/patches/7.3.509 b/source/ap/vim/patches/7.3.509
deleted file mode 100644
index 8dfe9c09d..000000000
--- a/source/ap/vim/patches/7.3.509
+++ /dev/null
@@ -1,304 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.509
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 7.3.509
-Problem: ":vimgrep" fails when 'autochdir' is set.
-Solution: A more generic solution for changing directory. (Ben Fritz)
-Files: src/quickfix.c
-
-
-*** ../vim-7.3.508/src/quickfix.c 2012-03-07 20:13:44.000000000 +0100
---- src/quickfix.c 2012-04-25 18:52:24.000000000 +0200
-***************
-*** 130,138 ****
- static void qf_fill_buffer __ARGS((qf_info_T *qi));
- #endif
- static char_u *get_mef_name __ARGS((void));
-! static buf_T *load_dummy_buffer __ARGS((char_u *fname));
-! static void wipe_dummy_buffer __ARGS((buf_T *buf));
-! static void unload_dummy_buffer __ARGS((buf_T *buf));
- static qf_info_T *ll_get_or_alloc_list __ARGS((win_T *));
-
- /* Quickfix window check helper macro */
---- 130,139 ----
- static void qf_fill_buffer __ARGS((qf_info_T *qi));
- #endif
- static char_u *get_mef_name __ARGS((void));
-! static void restore_start_dir __ARGS((char_u *dirname_start));
-! static buf_T *load_dummy_buffer __ARGS((char_u *fname, char_u *dirname_start, char_u *resulting_dir));
-! static void wipe_dummy_buffer __ARGS((buf_T *buf, char_u *dirname_start));
-! static void unload_dummy_buffer __ARGS((buf_T *buf, char_u *dirname_start));
- static qf_info_T *ll_get_or_alloc_list __ARGS((win_T *));
-
- /* Quickfix window check helper macro */
-***************
-*** 3237,3255 ****
-
- /* Load file into a buffer, so that 'fileencoding' is detected,
- * autocommands applied, etc. */
-! buf = load_dummy_buffer(fname);
-!
-! /* When autocommands changed directory: go back. We assume it was
-! * ":lcd %:p:h". */
-! mch_dirname(dirname_now, MAXPATHL);
-! if (STRCMP(dirname_start, dirname_now) != 0)
-! {
-! exarg_T ea;
-!
-! ea.arg = dirname_start;
-! ea.cmdidx = CMD_lcd;
-! ex_cd(&ea);
-! }
-
- p_mls = save_mls;
- #if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
---- 3238,3244 ----
-
- /* Load file into a buffer, so that 'fileencoding' is detected,
- * autocommands applied, etc. */
-! buf = load_dummy_buffer(fname, dirname_start, dirname_now);
-
- p_mls = save_mls;
- #if defined(FEAT_AUTOCMD) && defined(FEAT_SYN_HL)
-***************
-*** 3320,3326 ****
- {
- /* Never keep a dummy buffer if there is another buffer
- * with the same name. */
-! wipe_dummy_buffer(buf);
- buf = NULL;
- }
- else if (!cmdmod.hide
---- 3309,3315 ----
- {
- /* Never keep a dummy buffer if there is another buffer
- * with the same name. */
-! wipe_dummy_buffer(buf, dirname_start);
- buf = NULL;
- }
- else if (!cmdmod.hide
-***************
-*** 3336,3347 ****
- * many swap files. */
- if (!found_match)
- {
-! wipe_dummy_buffer(buf);
- buf = NULL;
- }
- else if (buf != first_match_buf || (flags & VGR_NOJUMP))
- {
-! unload_dummy_buffer(buf);
- buf = NULL;
- }
- }
---- 3325,3336 ----
- * many swap files. */
- if (!found_match)
- {
-! wipe_dummy_buffer(buf, dirname_start);
- buf = NULL;
- }
- else if (buf != first_match_buf || (flags & VGR_NOJUMP))
- {
-! unload_dummy_buffer(buf, dirname_start);
- buf = NULL;
- }
- }
-***************
-*** 3487,3499 ****
- }
-
- /*
-! * Load file "fname" into a dummy buffer and return the buffer pointer.
- * Returns NULL if it fails.
-- * Must call unload_dummy_buffer() or wipe_dummy_buffer() later!
- */
- static buf_T *
-! load_dummy_buffer(fname)
- char_u *fname;
- {
- buf_T *newbuf;
- buf_T *newbuf_to_wipe = NULL;
---- 3476,3523 ----
- }
-
- /*
-! * Restore current working directory to "dirname_start" if they differ, taking
-! * into account whether it is set locally or globally.
-! */
-! static void
-! restore_start_dir(dirname_start)
-! char_u *dirname_start;
-! {
-! char_u *dirname_now = alloc(MAXPATHL);
-!
-! if (NULL != dirname_now)
-! {
-! mch_dirname(dirname_now, MAXPATHL);
-! if (STRCMP(dirname_start, dirname_now) != 0)
-! {
-! /* If the directory has changed, change it back by building up an
-! * appropriate ex command and executing it. */
-! exarg_T ea;
-!
-! ea.arg = dirname_start;
-! ea.cmdidx = (curwin->w_localdir == NULL) ? CMD_cd : CMD_lcd;
-! ex_cd(&ea);
-! }
-! }
-! }
-!
-! /*
-! * Load file "fname" into a dummy buffer and return the buffer pointer,
-! * placing the directory resulting from the buffer load into the
-! * "resulting_dir" pointer. "resulting_dir" must be allocated by the caller
-! * prior to calling this function. Restores directory to "dirname_start" prior
-! * to returning, if autocmds or the 'autochdir' option have changed it.
-! *
-! * If creating the dummy buffer does not fail, must call unload_dummy_buffer()
-! * or wipe_dummy_buffer() later!
-! *
- * Returns NULL if it fails.
- */
- static buf_T *
-! load_dummy_buffer(fname, dirname_start, resulting_dir)
- char_u *fname;
-+ char_u *dirname_start; /* in: old directory */
-+ char_u *resulting_dir; /* out: new directory */
- {
- buf_T *newbuf;
- buf_T *newbuf_to_wipe = NULL;
-***************
-*** 3548,3569 ****
- wipe_buffer(newbuf_to_wipe, FALSE);
- }
-
- if (!buf_valid(newbuf))
- return NULL;
- if (failed)
- {
-! wipe_dummy_buffer(newbuf);
- return NULL;
- }
- return newbuf;
- }
-
- /*
-! * Wipe out the dummy buffer that load_dummy_buffer() created.
- */
- static void
-! wipe_dummy_buffer(buf)
- buf_T *buf;
- {
- if (curbuf != buf) /* safety check */
- {
---- 3572,3604 ----
- wipe_buffer(newbuf_to_wipe, FALSE);
- }
-
-+ /*
-+ * When autocommands/'autochdir' option changed directory: go back.
-+ * Let the caller know what the resulting dir was first, in case it is
-+ * important.
-+ */
-+ mch_dirname(resulting_dir, MAXPATHL);
-+ restore_start_dir(dirname_start);
-+
- if (!buf_valid(newbuf))
- return NULL;
- if (failed)
- {
-! wipe_dummy_buffer(newbuf, dirname_start);
- return NULL;
- }
- return newbuf;
- }
-
- /*
-! * Wipe out the dummy buffer that load_dummy_buffer() created. Restores
-! * directory to "dirname_start" prior to returning, if autocmds or the
-! * 'autochdir' option have changed it.
- */
- static void
-! wipe_dummy_buffer(buf, dirname_start)
- buf_T *buf;
-+ char_u *dirname_start;
- {
- if (curbuf != buf) /* safety check */
- {
-***************
-*** 3583,3600 ****
- * new aborting error, interrupt, or uncaught exception. */
- leave_cleanup(&cs);
- #endif
- }
- }
-
- /*
-! * Unload the dummy buffer that load_dummy_buffer() created.
- */
- static void
-! unload_dummy_buffer(buf)
- buf_T *buf;
- {
- if (curbuf != buf) /* safety check */
- close_buffer(NULL, buf, DOBUF_UNLOAD, FALSE);
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
---- 3618,3645 ----
- * new aborting error, interrupt, or uncaught exception. */
- leave_cleanup(&cs);
- #endif
-+ /* When autocommands/'autochdir' option changed directory: go back. */
-+ restore_start_dir(dirname_start);
- }
- }
-
- /*
-! * Unload the dummy buffer that load_dummy_buffer() created. Restores
-! * directory to "dirname_start" prior to returning, if autocmds or the
-! * 'autochdir' option have changed it.
- */
- static void
-! unload_dummy_buffer(buf, dirname_start)
- buf_T *buf;
-+ char_u *dirname_start;
- {
- if (curbuf != buf) /* safety check */
-+ {
- close_buffer(NULL, buf, DOBUF_UNLOAD, FALSE);
-+
-+ /* When autocommands/'autochdir' option changed directory: go back. */
-+ restore_start_dir(dirname_start);
-+ }
- }
-
- #if defined(FEAT_EVAL) || defined(PROTO)
-*** ../vim-7.3.508/src/version.c 2012-04-25 18:24:24.000000000 +0200
---- src/version.c 2012-04-25 18:43:10.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 509,
- /**/
-
---
- Arthur pulls Pin out. The MONK blesses the grenade as ...
-ARTHUR: (quietly) One, two, five ...
-GALAHAD: Three, sir!
-ARTHUR: Three.
- "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 ///