home *** CD-ROM | disk | FTP | other *** search
- To: vim_dev@googlegroups.com
- Subject: Patch 7.3.756
- 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.756
- Problem: A location list can get a wrong count in :lvimgrep.
- Solution: Check if the list was changed by autocommands. (mostly by
- Christian Brabandt)
- Files: src/quickfic.c
-
-
- *** ../vim-7.3.755/src/quickfix.c 2012-12-05 15:16:42.000000000 +0100
- --- src/quickfix.c 2012-12-12 15:50:08.000000000 +0100
- ***************
- *** 3109,3114 ****
- --- 3109,3117 ----
- char_u *p;
- int fi;
- qf_info_T *qi = &ql_info;
- + #ifdef FEAT_AUTOCMD
- + qfline_T *cur_qf_start;
- + #endif
- qfline_T *prevp = NULL;
- long lnum;
- buf_T *buf;
- ***************
- *** 3218,3223 ****
- --- 3221,3232 ----
- * ":lcd %:p:h" changes the meaning of short path names. */
- mch_dirname(dirname_start, MAXPATHL);
-
- + #ifdef FEAT_AUTOCMD
- + /* Remeber the value of qf_start, so that we can check for autocommands
- + * changing the current quickfix list. */
- + cur_qf_start = qi->qf_lists[qi->qf_curlist].qf_start;
- + #endif
- +
- seconds = (time_t)0;
- for (fi = 0; fi < fcount && !got_int && tomatch > 0; ++fi)
- {
- ***************
- *** 3273,3278 ****
- --- 3282,3309 ----
- /* Use existing, loaded buffer. */
- using_dummy = FALSE;
-
- + #ifdef FEAT_AUTOCMD
- + if (cur_qf_start != qi->qf_lists[qi->qf_curlist].qf_start)
- + {
- + int idx;
- +
- + /* Autocommands changed the quickfix list. Find the one we were
- + * using and restore it. */
- + for (idx = 0; idx < LISTCOUNT; ++idx)
- + if (cur_qf_start == qi->qf_lists[idx].qf_start)
- + {
- + qi->qf_curlist = idx;
- + break;
- + }
- + if (idx == LISTCOUNT)
- + {
- + /* List cannot be found, create a new one. */
- + qf_new_list(qi, *eap->cmdlinep);
- + cur_qf_start = qi->qf_lists[qi->qf_curlist].qf_start;
- + }
- + }
- + #endif
- +
- if (buf == NULL)
- {
- if (!got_int)
- ***************
- *** 3324,3329 ****
- --- 3355,3363 ----
- if (got_int)
- break;
- }
- + #ifdef FEAT_AUTOCMD
- + cur_qf_start = qi->qf_lists[qi->qf_curlist].qf_start;
- + #endif
-
- if (using_dummy)
- {
- *** ../vim-7.3.755/src/version.c 2012-12-12 14:25:01.000000000 +0100
- --- src/version.c 2012-12-12 15:35:58.000000000 +0100
- ***************
- *** 727,728 ****
- --- 727,730 ----
- { /* Add new patch number below this line */
- + /**/
- + 756,
- /**/
-
- --
- hundred-and-one symptoms of being an internet addict:
- 146. You experience ACTUAL physical withdrawal symptoms when away
- from your 'puter and the net.
-
- /// 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 ///
-