102 lines
3.4 KiB
Plaintext
102 lines
3.4 KiB
Plaintext
To: vim-dev@vim.org
|
|
Subject: Patch 7.2.332
|
|
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.2.332
|
|
Problem: Crash when spell correcting triggers an autocommand that reloads
|
|
the buffer.
|
|
Solution: Make a copy of the line to be modified. (Dominique Pelle)
|
|
Files: src/spell.c
|
|
|
|
|
|
*** ../vim-7.2.331/src/spell.c 2009-07-22 11:03:38.000000000 +0200
|
|
--- src/spell.c 2010-01-19 12:44:42.000000000 +0100
|
|
***************
|
|
*** 10306,10312 ****
|
|
/* Figure out if the word should be capitalised. */
|
|
need_cap = check_need_cap(curwin->w_cursor.lnum, curwin->w_cursor.col);
|
|
|
|
! line = ml_get_curline();
|
|
|
|
/* Get the list of suggestions. Limit to 'lines' - 2 or the number in
|
|
* 'spellsuggest', whatever is smaller. */
|
|
--- 10306,10315 ----
|
|
/* Figure out if the word should be capitalised. */
|
|
need_cap = check_need_cap(curwin->w_cursor.lnum, curwin->w_cursor.col);
|
|
|
|
! /* Make a copy of current line since autocommands may free the line. */
|
|
! line = vim_strsave(ml_get_curline());
|
|
! if (line == NULL)
|
|
! goto skip;
|
|
|
|
/* Get the list of suggestions. Limit to 'lines' - 2 or the number in
|
|
* 'spellsuggest', whatever is smaller. */
|
|
***************
|
|
*** 10470,10475 ****
|
|
--- 10473,10480 ----
|
|
curwin->w_cursor = prev_cursor;
|
|
|
|
spell_find_cleanup(&sug);
|
|
+ skip:
|
|
+ vim_free(line);
|
|
}
|
|
|
|
/*
|
|
***************
|
|
*** 10931,10937 ****
|
|
rescore_suggestions(su);
|
|
|
|
/*
|
|
! * While going throught the soundfold tree "su_maxscore" is the score
|
|
* for the soundfold word, limits the changes that are being tried,
|
|
* and "su_sfmaxscore" the rescored score, which is set by
|
|
* cleanup_suggestions().
|
|
--- 10936,10942 ----
|
|
rescore_suggestions(su);
|
|
|
|
/*
|
|
! * While going through the soundfold tree "su_maxscore" is the score
|
|
* for the soundfold word, limits the changes that are being tried,
|
|
* and "su_sfmaxscore" the rescored score, which is set by
|
|
* cleanup_suggestions().
|
|
***************
|
|
*** 11415,11421 ****
|
|
char_u tword[MAXWLEN]; /* good word collected so far */
|
|
trystate_T stack[MAXWLEN];
|
|
char_u preword[MAXWLEN * 3]; /* word found with proper case;
|
|
! * concatanation of prefix compound
|
|
* words and split word. NUL terminated
|
|
* when going deeper but not when coming
|
|
* back. */
|
|
--- 11420,11426 ----
|
|
char_u tword[MAXWLEN]; /* good word collected so far */
|
|
trystate_T stack[MAXWLEN];
|
|
char_u preword[MAXWLEN * 3]; /* word found with proper case;
|
|
! * concatenation of prefix compound
|
|
* words and split word. NUL terminated
|
|
* when going deeper but not when coming
|
|
* back. */
|
|
*** ../vim-7.2.331/src/version.c 2010-01-19 12:46:51.000000000 +0100
|
|
--- src/version.c 2010-01-19 13:05:32.000000000 +0100
|
|
***************
|
|
*** 683,684 ****
|
|
--- 683,686 ----
|
|
{ /* Add new patch number below this line */
|
|
+ /**/
|
|
+ 332,
|
|
/**/
|
|
|
|
--
|
|
hundred-and-one symptoms of being an internet addict:
|
|
117. You are more comfortable typing in html.
|
|
|
|
/// 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 ///
|