195 lines
6.0 KiB
Plaintext
195 lines
6.0 KiB
Plaintext
To: vim-dev@vim.org
|
|
Subject: Patch 7.0.068
|
|
Fcc: outbox
|
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
|
Mime-Version: 1.0
|
|
Content-Type: text/plain; charset=ISO-8859-1
|
|
Content-Transfer-Encoding: 8bit
|
|
------------
|
|
|
|
Patch 7.0.068
|
|
Problem: When 'ignorecase' is set and using Insert mode completion,
|
|
typing characters to change the list of matches, case is not
|
|
ignored. (Hugo Ahlenius)
|
|
Solution: Store the 'ignorecase' flag with the matches where needed.
|
|
Files: src/edit.c, src/search.c, src/spell.c
|
|
|
|
|
|
*** ../vim-7.0.067/src/edit.c Tue Aug 29 16:10:54 2006
|
|
--- src/edit.c Tue Aug 29 14:57:46 2006
|
|
***************
|
|
*** 2405,2411 ****
|
|
/* compl_pattern doesn't need to be set */
|
|
compl_orig_text = vim_strnsave(ml_get_curline() + compl_col, compl_length);
|
|
if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
|
|
! -1, FALSE, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
|
|
return;
|
|
|
|
/* Handle like dictionary completion. */
|
|
--- 2405,2411 ----
|
|
/* compl_pattern doesn't need to be set */
|
|
compl_orig_text = vim_strnsave(ml_get_curline() + compl_col, compl_length);
|
|
if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
|
|
! -1, p_ic, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
|
|
return;
|
|
|
|
/* Handle like dictionary completion. */
|
|
***************
|
|
*** 2821,2827 ****
|
|
ptr = find_word_end(ptr);
|
|
add_r = ins_compl_add_infercase(regmatch->startp[0],
|
|
(int)(ptr - regmatch->startp[0]),
|
|
! FALSE, files[i], *dir, 0);
|
|
if (thesaurus)
|
|
{
|
|
char_u *wstart;
|
|
--- 2821,2827 ----
|
|
ptr = find_word_end(ptr);
|
|
add_r = ins_compl_add_infercase(regmatch->startp[0],
|
|
(int)(ptr - regmatch->startp[0]),
|
|
! p_ic, files[i], *dir, 0);
|
|
if (thesaurus)
|
|
{
|
|
char_u *wstart;
|
|
***************
|
|
*** 2857,2863 ****
|
|
ptr = find_word_end(ptr);
|
|
add_r = ins_compl_add_infercase(wstart,
|
|
(int)(ptr - wstart),
|
|
! FALSE, files[i], *dir, 0);
|
|
}
|
|
}
|
|
if (add_r == OK)
|
|
--- 2857,2863 ----
|
|
ptr = find_word_end(ptr);
|
|
add_r = ins_compl_add_infercase(wstart,
|
|
(int)(ptr - wstart),
|
|
! p_ic, files[i], *dir, 0);
|
|
}
|
|
}
|
|
if (add_r == OK)
|
|
***************
|
|
*** 3826,3832 ****
|
|
TAG_INS_COMP | (ctrl_x_mode ? TAG_VERBOSE : 0),
|
|
TAG_MANY, curbuf->b_ffname) == OK && num_matches > 0)
|
|
{
|
|
! ins_compl_add_matches(num_matches, matches, FALSE);
|
|
}
|
|
p_ic = save_p_ic;
|
|
break;
|
|
--- 3826,3832 ----
|
|
TAG_INS_COMP | (ctrl_x_mode ? TAG_VERBOSE : 0),
|
|
TAG_MANY, curbuf->b_ffname) == OK && num_matches > 0)
|
|
{
|
|
! ins_compl_add_matches(num_matches, matches, p_ic);
|
|
}
|
|
p_ic = save_p_ic;
|
|
break;
|
|
***************
|
|
*** 3867,3873 ****
|
|
num_matches = expand_spelling(first_match_pos.lnum,
|
|
first_match_pos.col, compl_pattern, &matches);
|
|
if (num_matches > 0)
|
|
! ins_compl_add_matches(num_matches, matches, FALSE);
|
|
#endif
|
|
break;
|
|
|
|
--- 3867,3873 ----
|
|
num_matches = expand_spelling(first_match_pos.lnum,
|
|
first_match_pos.col, compl_pattern, &matches);
|
|
if (num_matches > 0)
|
|
! ins_compl_add_matches(num_matches, matches, p_ic);
|
|
#endif
|
|
break;
|
|
|
|
***************
|
|
*** 4001,4007 ****
|
|
continue;
|
|
}
|
|
}
|
|
! if (ins_compl_add_infercase(ptr, len, FALSE,
|
|
ins_buf == curbuf ? NULL : ins_buf->b_sfname,
|
|
0, flags) != NOTDONE)
|
|
{
|
|
--- 4001,4007 ----
|
|
continue;
|
|
}
|
|
}
|
|
! if (ins_compl_add_infercase(ptr, len, p_ic,
|
|
ins_buf == curbuf ? NULL : ins_buf->b_sfname,
|
|
0, flags) != NOTDONE)
|
|
{
|
|
***************
|
|
*** 4809,4815 ****
|
|
vim_free(compl_orig_text);
|
|
compl_orig_text = vim_strnsave(line + compl_col, compl_length);
|
|
if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
|
|
! -1, FALSE, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
|
|
{
|
|
vim_free(compl_pattern);
|
|
compl_pattern = NULL;
|
|
--- 4809,4815 ----
|
|
vim_free(compl_orig_text);
|
|
compl_orig_text = vim_strnsave(line + compl_col, compl_length);
|
|
if (compl_orig_text == NULL || ins_compl_add(compl_orig_text,
|
|
! -1, p_ic, NULL, NULL, 0, ORIGINAL_TEXT, FALSE) != OK)
|
|
{
|
|
vim_free(compl_pattern);
|
|
compl_pattern = NULL;
|
|
*** ../vim-7.0.067/src/search.c Fri May 5 23:15:17 2006
|
|
--- src/search.c Tue Aug 29 14:56:15 2006
|
|
***************
|
|
*** 4871,4877 ****
|
|
goto exit_matched;
|
|
}
|
|
|
|
! add_r = ins_compl_add_infercase(aux, i, FALSE,
|
|
curr_fname == curbuf->b_fname ? NULL : curr_fname,
|
|
dir, reuse);
|
|
if (add_r == OK)
|
|
--- 4876,4882 ----
|
|
goto exit_matched;
|
|
}
|
|
|
|
! add_r = ins_compl_add_infercase(aux, i, p_ic,
|
|
curr_fname == curbuf->b_fname ? NULL : curr_fname,
|
|
dir, reuse);
|
|
if (add_r == OK)
|
|
*** ../vim-7.0.067/src/spell.c Sun Jul 23 21:52:16 2006
|
|
--- src/spell.c Tue Aug 29 14:56:26 2006
|
|
***************
|
|
*** 15658,15664 ****
|
|
? MB_STRNICMP(p, pat, STRLEN(pat)) == 0
|
|
: STRNCMP(p, pat, STRLEN(pat)) == 0)
|
|
&& ins_compl_add_infercase(p, (int)STRLEN(p),
|
|
! FALSE, NULL, *dir, 0) == OK)
|
|
/* if dir was BACKWARD then honor it just once */
|
|
*dir = FORWARD;
|
|
}
|
|
--- 15662,15668 ----
|
|
? MB_STRNICMP(p, pat, STRLEN(pat)) == 0
|
|
: STRNCMP(p, pat, STRLEN(pat)) == 0)
|
|
&& ins_compl_add_infercase(p, (int)STRLEN(p),
|
|
! p_ic, NULL, *dir, 0) == OK)
|
|
/* if dir was BACKWARD then honor it just once */
|
|
*dir = FORWARD;
|
|
}
|
|
*** ../vim-7.0.067/src/version.c Tue Aug 29 16:10:54 2006
|
|
--- src/version.c Tue Aug 29 16:13:49 2006
|
|
***************
|
|
*** 668,669 ****
|
|
--- 668,671 ----
|
|
{ /* Add new patch number below this line */
|
|
+ /**/
|
|
+ 68,
|
|
/**/
|
|
|
|
--
|
|
hundred-and-one symptoms of being an internet addict:
|
|
266. You hear most of your jokes via e-mail instead of in person.
|
|
|
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
|
\\\ download, build and distribute -- http://www.A-A-P.org ///
|
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|