<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/test/functional/api, branch userregs_2</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>fix(api): nvim_set_keymap() throws error even in pcall() #33228</title>
<updated>2025-04-01T12:30:00+00:00</updated>
<author>
<name>tstsrt</name>
<email>41282711+tstsrt@users.noreply.github.com</email>
</author>
<published>2025-04-01T12:30:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=ec18ebcb417bb9f2afc81d247db6993eaa48701f'/>
<id>ec18ebcb417bb9f2afc81d247db6993eaa48701f</id>
<content type='text'>
Problem: When `nvim_set_keymap` tries to overwrite a `&lt;unique&gt;` mapping,
it throws an error even when called in `pcall`.

Solution: src/nvim/mapping.c:buf_do_map no longer calls `semsg`. Its
callers now decide whether to ignore the error, or use
`semsg` (not caught)/`api_set_error` (caught by `pcall`).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: When `nvim_set_keymap` tries to overwrite a `&lt;unique&gt;` mapping,
it throws an error even when called in `pcall`.

Solution: src/nvim/mapping.c:buf_do_map no longer calls `semsg`. Its
callers now decide whether to ignore the error, or use
`semsg` (not caught)/`api_set_error` (caught by `pcall`).</pre>
</div>
</content>
</entry>
<entry>
<title>fix(api): use E226 instead of E227 for duplicate abbreviation (#33159)</title>
<updated>2025-03-29T23:12:01+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-03-29T23:12:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=99529577cc9f5229cbb3dac8ab4782bd43094102'/>
<id>99529577cc9f5229cbb3dac8ab4782bd43094102</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(api): use original LHS in keymap error message #33135</title>
<updated>2025-03-29T13:29:06+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-03-29T13:29:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=0d73ec583465f06227845b7171dcea59d7b24e97'/>
<id>0d73ec583465f06227845b7171dcea59d7b24e97</id>
<content type='text'>
When setting a keymap with "unique" that already exists the error
message contains the LHS of the keymap with termcodes replaced. In
particular this means that keys like &lt;Tab&gt; show as an actual tab
character, meaning the error message displays as "Mapping already exists
for ", which is hard to debug for users.

Instead, display the original LHS (without any simplification or parsed
termcodes). This rperesents exactly what the user passed to the `lhs`
argument of `nvim_set_keymap`, which makes it easier to find where the
offending keymap is.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When setting a keymap with "unique" that already exists the error
message contains the LHS of the keymap with termcodes replaced. In
particular this means that keys like &lt;Tab&gt; show as an actual tab
character, meaning the error message displays as "Mapping already exists
for ", which is hard to debug for users.

Instead, display the original LHS (without any simplification or parsed
termcodes). This rperesents exactly what the user passed to the `lhs`
argument of `nvim_set_keymap`, which makes it easier to find where the
offending keymap is.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(paste): wrong '[ mark after pasting a big string (streamed chunks) #33025</title>
<updated>2025-03-23T23:10:42+00:00</updated>
<author>
<name>Au.</name>
<email>acehinnnqru@gmail.com</email>
</author>
<published>2025-03-23T23:10:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=9516997eb0ad20146ddddb48ba48c905d512998c'/>
<id>9516997eb0ad20146ddddb48ba48c905d512998c</id>
<content type='text'>
Problem
Pasting a big string ("streamed paste" with multiple chunks) sets the '[
mark to the edit from the last chunk, instead of the start of the paste.

Solution:
Set the '[ mark where the paste started, not where the last chunk was
inserted.

Note: `startpos == nil` is not equal to `phase == 1` because there may
be some empty chunks pasted which won't arrive here (returned at code
before).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem
Pasting a big string ("streamed paste" with multiple chunks) sets the '[
mark to the edit from the last chunk, instead of the start of the paste.

Solution:
Set the '[ mark where the paste started, not where the last chunk was
inserted.

Note: `startpos == nil` is not equal to `phase == 1` because there may
be some empty chunks pasted which won't arrive here (returned at code
before).</pre>
</div>
</content>
</entry>
<entry>
<title>fix(api): don't use 'winborder' when reconfiguring float (#32984)</title>
<updated>2025-03-19T12:16:20+00:00</updated>
<author>
<name>glepnir</name>
<email>glephunter@gmail.com</email>
</author>
<published>2025-03-19T12:16:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=0e59f6f4c7cd376926fc5027b42a94e12cb017fe'/>
<id>0e59f6f4c7cd376926fc5027b42a94e12cb017fe</id>
<content type='text'>
Problem: Reconfiguring a float window applies the global 'winborder'.
Solution:
- Ignore 'winborder' when reconfiguring a float window.
- Still apply 'winborder' when converting a split to a float window.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: Reconfiguring a float window applies the global 'winborder'.
Solution:
- Ignore 'winborder' when reconfiguring a float window.
- Still apply 'winborder' when converting a split to a float window.</pre>
</div>
</content>
</entry>
<entry>
<title>fix(api): fix 'winborder' preventing splits with nvim_open_win (#32981)</title>
<updated>2025-03-19T07:28:24+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-03-19T07:28:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=63bbb7c109a5db1520148168c40e0e5ce512a41f'/>
<id>63bbb7c109a5db1520148168c40e0e5ce512a41f</id>
<content type='text'>
While at it, rename the p_winbd variable to p_winborder, as 'winbd' is
not the option's short name.

Co-authored-by: glepnir &lt;glephunter@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
While at it, rename the p_winbd variable to p_winborder, as 'winbd' is
not the option's short name.

Co-authored-by: glepnir &lt;glephunter@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>feat(defaults): jump between :terminal shell prompts with ]]/[[ #32736</title>
<updated>2025-03-07T13:45:34+00:00</updated>
<author>
<name>Gregory Anders</name>
<email>greg@gpanders.com</email>
</author>
<published>2025-03-07T13:45:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=b31132f1c1fa47a9db368d5d28ee6dda8dc96ecc'/>
<id>b31132f1c1fa47a9db368d5d28ee6dda8dc96ecc</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:8.2.4603: sourcing buffer lines is too complicated</title>
<updated>2025-02-28T10:21:08+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2024-04-24T08:20:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=6750d00fe96a04ab19cfc55fb406f6b40dbf970f'/>
<id>6750d00fe96a04ab19cfc55fb406f6b40dbf970f</id>
<content type='text'>
Problem:    Sourcing buffer lines is too complicated.
Solution:   Simplify the code. Make it possible to source Vim9 script lines.
            (Yegappan Lakshmanan, closes vim/vim#9974)

https://github.com/vim/vim/commit/85b43c6cb7d56919e245622f4e42db6d8bee4194

This commit changes the behavior of sourcing buffer lines to always have
a script ID, although sourcing the same buffer always produces the same
script ID.

vim-patch:9.1.0372: Calling CLEAR_FIELD() on the same struct twice

Problem:  Calling CLEAR_FIELD() on the same struct twice.
Solution: Remove the second CLEAR_FIELD().  Move the assignment of
          cookie.sourceing_lnum (zeertzjq).

closes: vim/vim#14627

https://github.com/vim/vim/commit/f68517c1671dfedcc1555da50bc0b3de6d2842f6

Co-authored-by: Yegappan Lakshmanan &lt;yegappan@yahoo.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:    Sourcing buffer lines is too complicated.
Solution:   Simplify the code. Make it possible to source Vim9 script lines.
            (Yegappan Lakshmanan, closes vim/vim#9974)

https://github.com/vim/vim/commit/85b43c6cb7d56919e245622f4e42db6d8bee4194

This commit changes the behavior of sourcing buffer lines to always have
a script ID, although sourcing the same buffer always produces the same
script ID.

vim-patch:9.1.0372: Calling CLEAR_FIELD() on the same struct twice

Problem:  Calling CLEAR_FIELD() on the same struct twice.
Solution: Remove the second CLEAR_FIELD().  Move the assignment of
          cookie.sourceing_lnum (zeertzjq).

closes: vim/vim#14627

https://github.com/vim/vim/commit/f68517c1671dfedcc1555da50bc0b3de6d2842f6

Co-authored-by: Yegappan Lakshmanan &lt;yegappan@yahoo.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(marks): add conceal_lines to nvim_buf_set_extmark()</title>
<updated>2025-02-25T12:09:01+00:00</updated>
<author>
<name>Luuk van Baal</name>
<email>luukvbaal@gmail.com</email>
</author>
<published>2024-11-23T22:03:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=f58e7d5fac1c4f63f0ba3e59134591239182910e'/>
<id>f58e7d5fac1c4f63f0ba3e59134591239182910e</id>
<content type='text'>
Implement an extmark property that conceals lines vertically.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement an extmark property that conceals lines vertically.
</pre>
</div>
</content>
</entry>
<entry>
<title>feat(marks): virtual lines support horizontal scrolling (#32497)</title>
<updated>2025-02-20T13:47:12+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-02-20T13:47:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.josher.dev/cgit/rneovim.git/commit/?id=51cf84daf9612574978731e66db45a52136b8899'/>
<id>51cf84daf9612574978731e66db45a52136b8899</id>
<content type='text'>
Add a new field `virt_lines_overflow` that enables horizontal scrolling
for virtual lines when set to "scroll".</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a new field `virt_lines_overflow` that enables horizontal scrolling
for virtual lines when set to "scroll".</pre>
</div>
</content>
</entry>
</feed>
