Mercurial > vim
annotate src/testdir/test_spell.vim @ 11394:a2124e9bbb6a v8.0.0582
patch 8.0.0582: illegal memory access with z= command
commit https://github.com/vim/vim/commit/5b276aa80e112ae1993bd43e28f599f257827c54
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Apr 22 23:49:52 2017 +0200
patch 8.0.0582: illegal memory access with z= command
Problem: Illegal memory access with z= command. (Dominique Pelle)
Solution: Avoid case folded text to be longer than the original text. Use
MB_PTR2LEN() instead of MB_BYTE2LEN().
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 23 Apr 2017 00:00:03 +0200 |
parents | 2297aae8e127 |
children | b3815e491811 |
rev | line source |
---|---|
10950
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Test spell checking |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 " TODO: move test58 tests here |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 if !has('spell') |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 finish |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 endif |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 func Test_wrap_search() |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 new |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 call setline(1, ['The', '', 'A plong line with two zpelling mistakes', '', 'End']) |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 set spell wrapscan |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 normal ]s |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 call assert_equal('plong', expand('<cword>')) |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 normal ]s |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 call assert_equal('zpelling', expand('<cword>')) |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 normal ]s |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 call assert_equal('plong', expand('<cword>')) |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 bwipe! |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 set nospell |
2297aae8e127
patch 8.0.0364: ]s does not move cursor with two spell errors in one line
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 endfunc |
11394
a2124e9bbb6a
patch 8.0.0582: illegal memory access with z= command
Christian Brabandt <cb@256bit.org>
parents:
10950
diff
changeset
|
21 |
a2124e9bbb6a
patch 8.0.0582: illegal memory access with z= command
Christian Brabandt <cb@256bit.org>
parents:
10950
diff
changeset
|
22 func Test_z_equal_on_invalid_utf8_word() |
a2124e9bbb6a
patch 8.0.0582: illegal memory access with z= command
Christian Brabandt <cb@256bit.org>
parents:
10950
diff
changeset
|
23 split |
a2124e9bbb6a
patch 8.0.0582: illegal memory access with z= command
Christian Brabandt <cb@256bit.org>
parents:
10950
diff
changeset
|
24 set spell |
a2124e9bbb6a
patch 8.0.0582: illegal memory access with z= command
Christian Brabandt <cb@256bit.org>
parents:
10950
diff
changeset
|
25 call setline(1, "\xff") |
a2124e9bbb6a
patch 8.0.0582: illegal memory access with z= command
Christian Brabandt <cb@256bit.org>
parents:
10950
diff
changeset
|
26 norm z= |
a2124e9bbb6a
patch 8.0.0582: illegal memory access with z= command
Christian Brabandt <cb@256bit.org>
parents:
10950
diff
changeset
|
27 set nospell |
a2124e9bbb6a
patch 8.0.0582: illegal memory access with z= command
Christian Brabandt <cb@256bit.org>
parents:
10950
diff
changeset
|
28 bwipe! |
a2124e9bbb6a
patch 8.0.0582: illegal memory access with z= command
Christian Brabandt <cb@256bit.org>
parents:
10950
diff
changeset
|
29 endfunc |