annotate src/testdir/test_plus_arg_edit.vim @ 34372:d8c69a773456 v9.1.0115

patch 9.1.0115: Using freed memory with full tag stack and user data Commit: https://github.com/vim/vim/commit/c86bff1771ed9c340f8f4433ae5530fd6de97980 Author: zeertzjq <zeertzjq@outlook.com> Date: Sun Feb 18 18:53:08 2024 +0100 patch 9.1.0115: Using freed memory with full tag stack and user data Problem: Using freed memory with full tag stack and user data (Konstantin Khlebnikov) Solution: Clear the user data pointer of the newest entry. (zeertzjq, Konstantin Khlebnikov) fixes: neovim/neovim#27498 closes: #14053 Co-authored-by: Konstantin Khlebnikov koct9i@gmail.com Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Konstantin Khlebnikov koct9i@gmail.com Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 18 Feb 2024 19:00:03 +0100
parents 457ea0570b6f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
11651
140d51d5b5c3 patch 8.0.0708: some tests are old style
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
1 " Tests for complicated + argument to :edit command
21765
08940efa6b4e patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents: 19471
diff changeset
2
11651
140d51d5b5c3 patch 8.0.0708: some tests are old style
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
3 function Test_edit()
30592
457ea0570b6f patch 9.0.0631: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
4 call writefile(["foo|bar"], "Xfile1", 'D')
457ea0570b6f patch 9.0.0631: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
5 call writefile(["foo/bar"], "Xfile2", 'D')
11651
140d51d5b5c3 patch 8.0.0708: some tests are old style
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
6 edit +1|s/|/PIPE/|w Xfile1| e Xfile2|1 | s/\//SLASH/|w
140d51d5b5c3 patch 8.0.0708: some tests are old style
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
7 call assert_equal(["fooPIPEbar"], readfile("Xfile1"))
140d51d5b5c3 patch 8.0.0708: some tests are old style
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
8 call assert_equal(["fooSLASHbar"], readfile("Xfile2"))
140d51d5b5c3 patch 8.0.0708: some tests are old style
Christian Brabandt <cb@256bit.org>
parents:
diff changeset
9 endfunction
14051
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
10
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
11 func Test_edit_bad()
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
12 " Test loading a utf8 file with bad utf8 sequences.
30592
457ea0570b6f patch 9.0.0631: too many delete() calls in tests
Bram Moolenaar <Bram@vim.org>
parents: 30051
diff changeset
13 call writefile(["[\xff][\xc0][\xe2\x89\xf0][\xc2\xc2]"], "Xbadfile", 'D')
14051
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
14 new
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
15
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
16 " Without ++bad=..., the default behavior is like ++bad=?
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
17 e! ++enc=utf8 Xbadfile
14051
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
18 call assert_equal('[?][?][???][??]', getline(1))
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
19
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
20 e! ++encoding=utf8 ++bad=_ Xbadfile
14051
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
21 call assert_equal('[_][_][___][__]', getline(1))
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
22
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
23 e! ++enc=utf8 ++bad=drop Xbadfile
14051
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
24 call assert_equal('[][][][]', getline(1))
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
25
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
26 e! ++enc=utf8 ++bad=keep Xbadfile
14051
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
27 call assert_equal("[\xff][\xc0][\xe2\x89\xf0][\xc2\xc2]", getline(1))
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
28
30051
13b02c1ea0f7 patch 9.0.0363: common names in test files causes tests to be flaky
Bram Moolenaar <Bram@vim.org>
parents: 21765
diff changeset
29 call assert_fails('e! ++enc=utf8 ++bad=foo Xbadfile', 'E474:')
14051
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
30
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
31 bw!
c1ead25ed819 patch 8.1.0043: ++bad argument of :edit does not work properly
Christian Brabandt <cb@256bit.org>
parents: 12899
diff changeset
32 endfunc
19407
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
33
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
34 " Test for ++bin and ++nobin arguments
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
35 func Test_binary_arg()
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
36 new
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
37 edit ++bin Xfile1
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
38 call assert_equal(1, &binary)
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
39 edit ++nobin Xfile2
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
40 call assert_equal(0, &binary)
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
41 call assert_fails('edit ++binabc Xfile3', 'E474:')
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
42 close!
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
43 endfunc
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
44
2f4be7ca1b1b patch 8.2.0261: some code not covered by tests
Bram Moolenaar <Bram@vim.org>
parents: 15607
diff changeset
45 " vim: shiftwidth=2 sts=2 expandtab