<feed xmlns='http://www.w3.org/2005/Atom'>
<title>neovim/test/functional/ui/inccommand_user_spec.lua, branch release-0.9</title>
<subtitle>Vim-fork focused on extensibility and usability</subtitle>
<id>http://git.waynecole.info/neovim/atom?h=release-0.9</id>
<link rel='self' href='http://git.waynecole.info/neovim/atom?h=release-0.9'/>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/'/>
<updated>2024-01-19T03:25:40Z</updated>
<entry>
<title>fix(inccommand): improve preview buffer number handling (#27087)</title>
<updated>2024-01-19T03:25:40Z</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2024-01-19T03:04:01Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=26f836586479239935115944bff1dd2d156ef569'/>
<id>urn:sha1:26f836586479239935115944bff1dd2d156ef569</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(inccommand): don't set an invalid 'undolevels' value</title>
<updated>2023-08-05T14:42:55Z</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-08-05T13:59:58Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=06ec1a49d7343b9ee91b61d255562b559150bc67'/>
<id>urn:sha1:06ec1a49d7343b9ee91b61d255562b559150bc67</id>
<content type='text'>
Problem:    Cannot break undo by setting 'undolevels' to itself in
            'inccommand' preview callback.
Solution:   Don't set an invalid 'undolevels' value.

Co-authored-by: Michael Henry &lt;drmikehenry@drmikehenry.com&gt;
(cherry picked from commit 7c5e7d831aeb755ec19fb2438231663a5af536b3)
</content>
</entry>
<entry>
<title>test(inccommand): add a test for #20248</title>
<updated>2023-07-28T07:21:37Z</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-07-26T03:58:26Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=1fdb41969f7440c4be308a6295d2ff85f30bd3f4'/>
<id>urn:sha1:1fdb41969f7440c4be308a6295d2ff85f30bd3f4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix(inccommand): restrict cmdpreview undo calls</title>
<updated>2023-07-28T07:20:58Z</updated>
<author>
<name>Alexandre Teoi</name>
<email>ateoi@users.noreply.github.com</email>
</author>
<published>2023-07-26T03:22:57Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=1e905c52caf1bd00ec1957a9168db23a8f1f16ed'/>
<id>urn:sha1:1e905c52caf1bd00ec1957a9168db23a8f1f16ed</id>
<content type='text'>
Problem:
The cmdpreview saved undo nodes on cmdpreview_prepare() from ex_getln.c may
become invalid (free) if the preview function makes undo operations, causing
heap-use-after-free errors.

Solution:
Save the buffer undo list on cmdpreview_prepare)_ and start a new empty one. On
cmdpreview_restore_state(), undo all the entries in the new undo list and
restore the original one. With this approach, the preview function will be
allowed to undo only its own changes.

Fix #20036
Fix #20248
</content>
</entry>
<entry>
<title>fix(substitute): properly check if preview is needed</title>
<updated>2023-05-29T00:45:14Z</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2023-05-29T00:05:23Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=a2bfe4e52422683bac3af89a77a6f242f0eb999f'/>
<id>urn:sha1:a2bfe4e52422683bac3af89a77a6f242f0eb999f</id>
<content type='text'>
(cherry picked from commit c8004af17d4c8bbebb067fa90506c1ca5e0e9b0c)
</content>
</entry>
<entry>
<title>docs: fix typos (#20394)</title>
<updated>2022-09-30T07:53:52Z</updated>
<author>
<name>dundargoc</name>
<email>33953936+dundargoc@users.noreply.github.com</email>
</author>
<published>2022-09-30T07:53:52Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=df646572c53f55268a5dbb61628d7c3b302d5663'/>
<id>urn:sha1:df646572c53f55268a5dbb61628d7c3b302d5663</id>
<content type='text'>
Co-authored-by: Raphael &lt;glephunter@gmail.com&gt;
Co-authored-by: smjonas &lt;jonas.strittmatter@gmx.de&gt;
Co-authored-by: zeertzjq &lt;zeertzjq@outlook.com&gt;</content>
</entry>
<entry>
<title>feat: multibuffer preview support for inccommand</title>
<updated>2022-08-19T03:27:52Z</updated>
<author>
<name>Famiu Haque</name>
<email>famiuhaque@protonmail.com</email>
</author>
<published>2022-07-14T08:37:00Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=c2f7a2a18daa7e1d80285818065b2376683dcb21'/>
<id>urn:sha1:c2f7a2a18daa7e1d80285818065b2376683dcb21</id>
<content type='text'>
Allows preview callbacks to modify multiple buffers in order to show the
preview. Previously, if multiple buffers were modified, only the current
buffer would have its state restored. After this change, all buffers
have their state restored after preview.

Closes #19103.
</content>
</entry>
<entry>
<title>fix(inccommand): avoid crash if callback changes inccommand option (#18830)</title>
<updated>2022-06-01T19:48:36Z</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2022-06-01T19:48:36Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=57a296d899d170e7f78aec2225bf8ab2b0dc711c'/>
<id>urn:sha1:57a296d899d170e7f78aec2225bf8ab2b0dc711c</id>
<content type='text'>
clang: Result of operation is garbage or undefined
clang: Uninitialized argument value

Also check for == 's' instead of != 'n' as it is more straightforward.

Also fix another unrelated PVS warning:
PVS/V1071: Return value of win_comp_pos() is not always used</content>
</entry>
<entry>
<title>fix(inccommand): do not try to preview an ambiguous command (#18827)</title>
<updated>2022-06-01T12:17:52Z</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2022-06-01T12:17:52Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=f40adf770d090d12f7b14dd519fe649ada40bfe6'/>
<id>urn:sha1:f40adf770d090d12f7b14dd519fe649ada40bfe6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: add preview functionality to user commands</title>
<updated>2022-05-31T14:55:05Z</updated>
<author>
<name>Famiu Haque</name>
<email>famiuhaque@protonmail.com</email>
</author>
<published>2022-04-20T11:02:18Z</published>
<link rel='alternate' type='text/html' href='http://git.waynecole.info/neovim/commit/?id=46536f53e82967dcac8d030ee3394cdb156f9603'/>
<id>urn:sha1:46536f53e82967dcac8d030ee3394cdb156f9603</id>
<content type='text'>
Adds a Lua-only `preview` flag to user commands which allows the command to be incrementally previewed like `:substitute` when 'inccommand' is set.
</content>
</entry>
</feed>
