<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/old, branch fix_repeatcmdline</title>
<subtitle>Neovim fork with Rahm's personal hacks.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/'/>
<entry>
<title>vim-patch:9.0.2134: ml_get error when scrolling (#26264)</title>
<updated>2023-11-29T05:24:24+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-11-29T05:24:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=640680cccead28c28b1b789c254fc83d55979c08'/>
<id>640680cccead28c28b1b789c254fc83d55979c08</id>
<content type='text'>
Problem:  ml_get error when scrolling after delete
Solution: mark topline to be validated in main_loop
          if it is larger than current buffers line
          count

reset_lnums() is called after e.g. TextChanged autocommands and it may
accidentally cause curwin-&gt;w_topline to become invalid, e.g. if the
autocommand has deleted some lines.

So verify that curwin-&gt;w_topline points to a valid line and if not, mark
the window to have w_topline recalculated in main_loop() in
update_topline() after reset_lnums() returns.

fixes: vim/vim#13568
fixes: vim/vim#13578

https://github.com/vim/vim/commit/c4ffeddfe5bd1824650e9b911ed9245bf56c69e3

The error doesn't happen in Nvim because Nvim triggers TextChanged after
calling update_topline().

Co-authored-by: Christian Brabandt &lt;cb@256bit.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  ml_get error when scrolling after delete
Solution: mark topline to be validated in main_loop
          if it is larger than current buffers line
          count

reset_lnums() is called after e.g. TextChanged autocommands and it may
accidentally cause curwin-&gt;w_topline to become invalid, e.g. if the
autocommand has deleted some lines.

So verify that curwin-&gt;w_topline points to a valid line and if not, mark
the window to have w_topline recalculated in main_loop() in
update_topline() after reset_lnums() returns.

fixes: vim/vim#13568
fixes: vim/vim#13578

https://github.com/vim/vim/commit/c4ffeddfe5bd1824650e9b911ed9245bf56c69e3

The error doesn't happen in Nvim because Nvim triggers TextChanged after
calling update_topline().

Co-authored-by: Christian Brabandt &lt;cb@256bit.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.0.2135: No test for mode() when executing Ex commands (#26282)</title>
<updated>2023-11-28T22:51:00+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-11-28T22:51:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=aa9d9cafd0da58745178fa5a9b0773dcce96f30e'/>
<id>aa9d9cafd0da58745178fa5a9b0773dcce96f30e</id>
<content type='text'>
Problem:  No test for mode() when executing Ex commands
Solution: Add some test cases and simplify several other test cases.
          Also add a few more test cases for ModeChanged.

closes: vim/vim#13588

https://github.com/vim/vim/commit/fcaeb3d42b228e73c669b2fce78f1d3fe112769f</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  No test for mode() when executing Ex commands
Solution: Add some test cases and simplify several other test cases.
          Also add a few more test cases for ModeChanged.

closes: vim/vim#13588

https://github.com/vim/vim/commit/fcaeb3d42b228e73c669b2fce78f1d3fe112769f</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.0.2133: Cannot detect overstrike mode in Cmdline mode (#26263)</title>
<updated>2023-11-28T03:46:20+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-11-28T03:46:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=e6d38c7dac2e079d9b0f1621fef193bca858664f'/>
<id>e6d38c7dac2e079d9b0f1621fef193bca858664f</id>
<content type='text'>
Problem:  Cannot detect overstrike mode in Cmdline mode
Solution: Make mode() return "cr" for overstrike

closes: vim/vim#13569

https://github.com/vim/vim/commit/d1c3ef1f47c87d1da056c56564e1985fe6f2931d</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  Cannot detect overstrike mode in Cmdline mode
Solution: Make mode() return "cr" for overstrike

closes: vim/vim#13569

https://github.com/vim/vim/commit/d1c3ef1f47c87d1da056c56564e1985fe6f2931d</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.0.2131: not all nushell files detected (#26260)</title>
<updated>2023-11-27T23:58:31+00:00</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2023-11-27T23:58:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=a314703cf1b9ccc654162c5d55b819aee66aa8b6'/>
<id>a314703cf1b9ccc654162c5d55b819aee66aa8b6</id>
<content type='text'>
Problem:  not all nushell files detected
Solution: use *.nu to detect nushell files

closes: vim/vim#13586

https://github.com/vim/vim/commit/b9efc72c2432f2d2a633c12d3a5b9fc3efb7b6e7

Co-authored-by: Daniel Buch Hansen &lt;boogiewasthere@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  not all nushell files detected
Solution: use *.nu to detect nushell files

closes: vim/vim#13586

https://github.com/vim/vim/commit/b9efc72c2432f2d2a633c12d3a5b9fc3efb7b6e7

Co-authored-by: Daniel Buch Hansen &lt;boogiewasthere@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.0.2128: runtime(swig): add syntax and filetype plugins</title>
<updated>2023-11-25T23:41:59+00:00</updated>
<author>
<name>Christian Clason</name>
<email>c.clason@uni-graz.at</email>
</author>
<published>2023-11-25T15:06:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=38e98754a556404b54d3c28b4272bcacbc3b6b0e'/>
<id>38e98754a556404b54d3c28b4272bcacbc3b6b0e</id>
<content type='text'>
Add syntax and filetype plugins for SWIG (Simplified Wrapper Interface
Generator) description files.

The default syntax for .i files highlights comments in a reverse
color scheme which doesn't look well.  This syntax builds
on vim's c++ syntax by adding highlighting for common swig
directives and user defined directives.  For an alternative
syntax, see vimscript vim/vim#1247 (which I found after writing this).

closes: vim/vim#13562

https://github.com/vim/vim/commit/2e31065a650015892179e520038bf2083a9519b6

Co-authored-by: Julien Marrec &lt;julien.marrec@gmail.com&gt;
Co-authored-by: Matěj Cepl &lt;mcepl@cepl.eu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add syntax and filetype plugins for SWIG (Simplified Wrapper Interface
Generator) description files.

The default syntax for .i files highlights comments in a reverse
color scheme which doesn't look well.  This syntax builds
on vim's c++ syntax by adding highlighting for common swig
directives and user defined directives.  For an alternative
syntax, see vimscript vim/vim#1247 (which I found after writing this).

closes: vim/vim#13562

https://github.com/vim/vim/commit/2e31065a650015892179e520038bf2083a9519b6

Co-authored-by: Julien Marrec &lt;julien.marrec@gmail.com&gt;
Co-authored-by: Matěj Cepl &lt;mcepl@cepl.eu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(oldtest): always use a 64-bit int for swapfile block number</title>
<updated>2023-11-24T20:22:00+00:00</updated>
<author>
<name>James McCoy</name>
<email>jamessan@jamessan.com</email>
</author>
<published>2023-11-24T20:22:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=a1ded1b113d22f4ec8c14fab4aff5f9d0c43f8b4'/>
<id>a1ded1b113d22f4ec8c14fab4aff5f9d0c43f8b4</id>
<content type='text'>
09d4133 changed blocknr_T from long to int64_t, so pe_bnum is now always 64-bit.  This was an incompatible change in the swapfile format for 32-bit systems, but there have been no complaints in the past 9 years so just adjust the test.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
09d4133 changed blocknr_T from long to int64_t, so pe_bnum is now always 64-bit.  This was an incompatible change in the swapfile format for 32-bit systems, but there have been no complaints in the past 9 years so just adjust the test.
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.0.2126: unused assignments when checking 'listchars' (#26182)</title>
<updated>2023-11-23T22:52:50+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-11-23T22:52:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=fe94e04893274b9c5697fb179eb6b00bc1cd3a91'/>
<id>fe94e04893274b9c5697fb179eb6b00bc1cd3a91</id>
<content type='text'>
Problem:  Unused assignments when checking the value of 'listchars'.
Solution: Loop only once when just checking the value.  Add a test to
          check that this change doesn't cause double-free.

closes: vim/vim#13559

https://github.com/vim/vim/commit/00624a2fa08d04bdded240d474e9cfdc193dbe10</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  Unused assignments when checking the value of 'listchars'.
Solution: Loop only once when just checking the value.  Add a test to
          check that this change doesn't cause double-free.

closes: vim/vim#13559

https://github.com/vim/vim/commit/00624a2fa08d04bdded240d474e9cfdc193dbe10</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.0.2125: File info disappears when 'cmdheight' has decreased (#26180)</title>
<updated>2023-11-23T22:13:24+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-11-23T22:13:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=951034614110cf2e4388645ee17ed4a315d0d382'/>
<id>951034614110cf2e4388645ee17ed4a315d0d382</id>
<content type='text'>
Problem:  File info disappears immediately when 'cmdheight' has just
          decreased due to switching tabpage and 'shortmess' doesn't
          contain 'o' or 'O'.
Solution: Make sure msg_row isn't smaller than cmdline_row.

fixes: vim/vim#13560
closes: vim/vim#13561

https://github.com/vim/vim/commit/40ed6711bd385051021691980e8ce16375b4b510</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  File info disappears immediately when 'cmdheight' has just
          decreased due to switching tabpage and 'shortmess' doesn't
          contain 'o' or 'O'.
Solution: Make sure msg_row isn't smaller than cmdline_row.

fixes: vim/vim#13560
closes: vim/vim#13561

https://github.com/vim/vim/commit/40ed6711bd385051021691980e8ce16375b4b510</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.0.2121: [security]: use-after-free in ex_substitute</title>
<updated>2023-11-23T08:17:37+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-11-22T23:11:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=8d8136bfcf9ea6d0b23638b48e99e09bdc8a9d44'/>
<id>8d8136bfcf9ea6d0b23638b48e99e09bdc8a9d44</id>
<content type='text'>
Problem:  [security]: use-after-free in ex_substitute
Solution: always allocate memory

closes: vim/vim#13552

A recursive :substitute command could cause a heap-use-after free in Vim
(CVE-2023-48706).

The whole reproducible test is a bit tricky, I can only reproduce this
reliably when no previous substitution command has been used yet
(which is the reason, the test needs to run as first one in the
test_substitute.vim file) and as a combination of the `:~` command
together with a :s command that contains the special substitution atom `~\=`
which will make use of a sub-replace special atom and calls a vim script
function.

There was a comment in the existing :s code, that already makes the
`sub` variable allocate memory so that a recursive :s call won't be able
to cause any issues here, so this was known as a potential problem
already.  But for the current test-case that one does not work, because
the substitution does not start with `\=` but with `~\=` (and since
there does not yet exist a previous substitution atom, Vim will simply
increment the `sub` pointer (which then was not allocated dynamically)
and later one happily use a sub-replace special expression (which could
then free the `sub` var).

The following commit fixes this, by making the sub var always using
allocated memory, which also means we need to free the pointer whenever
we leave the function. Since sub is now always an allocated variable,
we also do no longer need the sub_copy variable anymore, since this one
was used to indicated when sub pointed to allocated memory (and had
therefore to be freed on exit) and when not.

Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-c8qm-x72m-q53q

https://github.com/vim/vim/commit/26c11c56888d01e298cd8044caf860f3c26f57bb

Co-authored-by: Christian Brabandt &lt;cb@256bit.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  [security]: use-after-free in ex_substitute
Solution: always allocate memory

closes: vim/vim#13552

A recursive :substitute command could cause a heap-use-after free in Vim
(CVE-2023-48706).

The whole reproducible test is a bit tricky, I can only reproduce this
reliably when no previous substitution command has been used yet
(which is the reason, the test needs to run as first one in the
test_substitute.vim file) and as a combination of the `:~` command
together with a :s command that contains the special substitution atom `~\=`
which will make use of a sub-replace special atom and calls a vim script
function.

There was a comment in the existing :s code, that already makes the
`sub` variable allocate memory so that a recursive :s call won't be able
to cause any issues here, so this was known as a potential problem
already.  But for the current test-case that one does not work, because
the substitution does not start with `\=` but with `~\=` (and since
there does not yet exist a previous substitution atom, Vim will simply
increment the `sub` pointer (which then was not allocated dynamically)
and later one happily use a sub-replace special expression (which could
then free the `sub` var).

The following commit fixes this, by making the sub var always using
allocated memory, which also means we need to free the pointer whenever
we leave the function. Since sub is now always an allocated variable,
we also do no longer need the sub_copy variable anymore, since this one
was used to indicated when sub pointed to allocated memory (and had
therefore to be freed on exit) and when not.

Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-c8qm-x72m-q53q

https://github.com/vim/vim/commit/26c11c56888d01e298cd8044caf860f3c26f57bb

Co-authored-by: Christian Brabandt &lt;cb@256bit.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.0.2116: No test for defining sign without attribute (#26115)</title>
<updated>2023-11-20T02:25:14+00:00</updated>
<author>
<name>luukvbaal</name>
<email>luukvbaal@gmail.com</email>
</author>
<published>2023-11-20T02:25:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=d667e0e4142ba8eb8623971539b0f9eec78b7529'/>
<id>d667e0e4142ba8eb8623971539b0f9eec78b7529</id>
<content type='text'>
Problem:  No test for defining sign without attribute
Solution: Add test for defining sign without attributes

closes: vim/vim#13544

https://github.com/vim/vim/commit/e670d17342ea05af253b0452afb980397fa143be</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  No test for defining sign without attribute
Solution: Add test for defining sign without attributes

closes: vim/vim#13544

https://github.com/vim/vim/commit/e670d17342ea05af253b0452afb980397fa143be</pre>
</div>
</content>
</entry>
</feed>
