Mercurial > vim
annotate src/testdir/test_matchparen.vim @ 34084:90063f44c99a v9.1.0011
patch 9.1.0011: regexp cannot match combining chars in collection
Commit: https://github.com/vim/vim/commit/d2cc51f9a1a5a30ef5d2e732f49d7f495cae24cf
Author: Christian Brabandt <cb@256bit.org>
Date: Thu Jan 4 22:54:08 2024 +0100
patch 9.1.0011: regexp cannot match combining chars in collection
Problem: regexp cannot match combining chars in collection
Solution: Check for combining characters in regex collections for the
NFA and BT Regex Engine
Also, while at it, make debug mode work again.
fixes #10286
closes: #12871
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 04 Jan 2024 23:00:04 +0100 |
parents | 7b26c36e9b3b |
children | 2ee041017eb4 |
rev | line source |
---|---|
33762
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Test for the matchparen plugin |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 if !has('gui_running') && has('unix') |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 set term=ansi |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 endif |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 source view_util.vim |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 source check.vim |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 source screendump.vim |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 " Test for scrolling that modifies buffer during visual block |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 func Test_visual_block_scroll() |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 CheckScreendump |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 let lines =<< trim END |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 source $VIMRUNTIME/plugin/matchparen.vim |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 set scrolloff=1 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 call setline(1, ['a', 'b', 'c', 'd', 'e', '', '{', '}', '{', 'f', 'g', '}']) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 call cursor(5, 1) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 END |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 let filename = 'Xvisualblockmodifiedscroll' |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 call writefile(lines, filename, 'D') |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 let buf = RunVimInTerminal('-S '.filename, #{rows: 7}) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 call term_sendkeys(buf, "V\<C-D>\<C-D>") |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 call VerifyScreenDump(buf, 'Test_display_visual_block_scroll', {}) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 call StopVimInTerminal(buf) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 endfunc |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 " Test for clearing paren highlight when switching buffers |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 func Test_matchparen_clear_highlight() |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 CheckScreendump |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
37 let lines =<< trim END |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
38 source $VIMRUNTIME/plugin/matchparen.vim |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
39 set hidden |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
40 call setline(1, ['()']) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
41 normal 0 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
42 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
43 func OtherBuffer() |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
44 enew |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
45 exe "normal iaa\<Esc>0" |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
46 endfunc |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
47 END |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
48 call writefile(lines, 'XMatchparenClear', 'D') |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
49 let buf = RunVimInTerminal('-S XMatchparenClear', #{rows: 5}) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
50 call VerifyScreenDump(buf, 'Test_matchparen_clear_highlight_1', {}) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
51 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
52 call term_sendkeys(buf, ":call OtherBuffer()\<CR>:\<Esc>") |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
53 call VerifyScreenDump(buf, 'Test_matchparen_clear_highlight_2', {}) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
54 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
55 call term_sendkeys(buf, "\<C-^>:\<Esc>") |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
56 call VerifyScreenDump(buf, 'Test_matchparen_clear_highlight_1', {}) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
57 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
58 call term_sendkeys(buf, "\<C-^>:\<Esc>") |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
59 call VerifyScreenDump(buf, 'Test_matchparen_clear_highlight_2', {}) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
60 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
61 call StopVimInTerminal(buf) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
62 endfunc |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
63 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
64 " Test for scrolling that modifies buffer during visual block |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
65 func Test_matchparen_pum_clear() |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
66 CheckScreendump |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
67 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
68 let lines =<< trim END |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
69 source $VIMRUNTIME/plugin/matchparen.vim |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
70 set completeopt=menuone |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
71 call setline(1, ['aa', 'aaa', 'aaaa', '(a)']) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
72 call cursor(4, 3) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
73 END |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
74 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
75 let filename = 'Xmatchparen' |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
76 call writefile(lines, filename, 'D') |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
77 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
78 let buf = RunVimInTerminal('-S '.filename, #{rows: 10}) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
79 call term_sendkeys(buf, "i\<C-N>\<C-N>") |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
80 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
81 call VerifyScreenDump(buf, 'Test_matchparen_pum_clear_1', {}) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
82 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
83 call StopVimInTerminal(buf) |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
84 endfunc |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
85 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
86 |
7b26c36e9b3b
patch 9.0.2102: matchparen highlight not cleared in completion mode
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
87 " vim: shiftwidth=2 sts=2 expandtab |