Mercurial > vim
annotate src/testdir/test_vim9_fails.vim @ 34569:f41e8218775a v9.1.0183
patch 9.1.0183: Wrong display or screenpos() result when toggling diff mode
Commit: https://github.com/vim/vim/commit/9e7f1fc2f159d58b2a4cd4b7060bead126fead49
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sat Mar 16 09:40:22 2024 +0100
patch 9.1.0183: Wrong display or screenpos() result when toggling diff mode
Problem: Wrong display or screenpos() result when toggling diff mode.
Solution: Reset w_skipcol when disabling 'wrap'. Reset w_leftcol when
enabling 'wrap' (zeertzjq).
fixes: #14210
closes: #14211
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 16 Mar 2024 09:45:05 +0100 |
parents | 54e36d01847b |
children |
rev | line source |
---|---|
22582
a3df1fb28d44
patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Test for Vim9 script with failures, causing memory leaks to be reported. |
a3df1fb28d44
patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 " The leaks happen after a fork() and can be ignored. |
a3df1fb28d44
patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 |
26410
b94ef0b282f1
patch 8.2.3736: test fails without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
26368
diff
changeset
|
4 source check.vim |
b94ef0b282f1
patch 8.2.3736: test fails without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
26368
diff
changeset
|
5 |
22582
a3df1fb28d44
patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 def Test_assignment() |
26410
b94ef0b282f1
patch 8.2.3736: test fails without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
26368
diff
changeset
|
7 if !has('channel') |
b94ef0b282f1
patch 8.2.3736: test fails without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
26368
diff
changeset
|
8 CheckFeature channel |
b94ef0b282f1
patch 8.2.3736: test fails without the channel feature
Bram Moolenaar <Bram@vim.org>
parents:
26368
diff
changeset
|
9 else |
22582
a3df1fb28d44
patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 var chan1: channel |
a3df1fb28d44
patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 var job1: job |
a3df1fb28d44
patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 var job2: job = job_start('willfail') |
a3df1fb28d44
patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 endif |
a3df1fb28d44
patch 8.2.1839: Vim9: memory leaks reported in assign test
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 enddef |
26368
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
15 |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
16 " Unclear why this test causes valgrind to report problems. |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
17 def Test_job_info_return_type() |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
18 if !has('job') |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
19 CheckFeature job |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
20 else |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
21 var job: job = job_start(&shell) |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
22 var jobs = job_info() |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
23 assert_equal('list<job>', typename(jobs)) |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
24 assert_equal('dict<any>', typename(job_info(jobs[0]))) |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
25 job_stop(job) |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
26 endif |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
27 enddef |
744fdb15347d
patch 8.2.3715: Vim9: valgrind reports spurious problems for a test
Bram Moolenaar <Bram@vim.org>
parents:
22582
diff
changeset
|
28 |
30443
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
29 " Using "idx" from a legacy global function does not work. |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
30 " This caused a crash when called from legacy context. |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
31 " This creates a dict that contains a partial that refers to the dict, causing |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
32 " valgrind to report "possibly leaked memory". |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
33 func Test_partial_call_fails() |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
34 let lines =<< trim END |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
35 vim9script |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
36 |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
37 var l = ['a', 'b', 'c'] |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
38 def Iter(container: any): any |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
39 var idx = -1 |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
40 var obj = {state: container} |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
41 def g:NextItem__(self: dict<any>): any |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
42 ++idx |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
43 return self.state[idx] |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
44 enddef |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
45 obj.__next__ = function('g:NextItem__', [obj]) |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
46 return obj |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
47 enddef |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
48 |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
49 var it = Iter(l) |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
50 echo it.__next__() |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
51 END |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
52 call writefile(lines, 'XpartialCall', 'D') |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
53 let caught = 'no' |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
54 try |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
55 source XpartialCall |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
56 catch /E1248:/ |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
57 let caught = 'yes' |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
58 endtry |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
59 call assert_equal('yes', caught) |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
60 delfunc g:NextItem__ |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
61 endfunc |
54e36d01847b
patch 9.0.0557: valgrind reports possibly leaked memory
Bram Moolenaar <Bram@vim.org>
parents:
26410
diff
changeset
|
62 |