<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rneovim.git/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, branch extregs</title>
<subtitle>Neovim fork with Rahm's personal hacks.</subtitle>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/'/>
<entry>
<title>vim-patch:9.1.1756: termdebug: Need a few more user commands</title>
<updated>2026-05-05T02:29:49+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2026-05-05T02:09:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=ddee275c69a4264a58d103363579f517d68884aa'/>
<id>ddee275c69a4264a58d103363579f517d68884aa</id>
<content type='text'>
Problem:  termdebug: Need a few more user commands
Solution: Add the :RunOrContinue and the :ToggleBreak user commands
          (bennyyip)

closes: vim/vim#18283

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

Co-authored-by: bennyyip &lt;yebenmy@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  termdebug: Need a few more user commands
Solution: Add the :RunOrContinue and the :ToggleBreak user commands
          (bennyyip)

closes: vim/vim#18283

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

Co-authored-by: bennyyip &lt;yebenmy@gmail.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(termdebug): evaluate display with gdb pretty print #39453</title>
<updated>2026-04-28T14:13:56+00:00</updated>
<author>
<name>Matthew Hughes</name>
<email>matthewhughes934@gmail.com</email>
</author>
<published>2026-04-28T14:13:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=c06e3d6f819e1284a8290a254f5f6860793cfdcd'/>
<id>c06e3d6f819e1284a8290a254f5f6860793cfdcd</id>
<content type='text'>
Calling `set print pretty on` in GDB will:

&gt; Cause GDB to print structures in an indented format with one member
per line

However, `termdebug` just renders the newlines as raw `\n` characters.
This is a regression of[1]. Glancing through the history it looks to
have been caused by cd1b14f027f375a9de17fdf106016470f52035f7 which
removed the output splitting when displaying the eval results, so this
changes adds that behaviour back.

As a quick reproduction/test, compile the following C program:

```c

struct Foo {
    char *name;
};

int main(void) {
    struct Foo f = {"hello"};
    printf("%s\n", f.name);

    return 0;
}
```

Then launch `nvim` and run:

    :Termdebug main
    :Gdb
    (gdb) set print pretty on
    (gdb) break main
    (gdb) run
    :Source

Place the cursor on the `f` variable and call `:Evaluate`. Before this change:

![](https://github.com/user-attachments/assets/51318e1e-9cdd-43ab-aa35-4aaad1d9f65f)

With this change:

![](https://github.com/user-attachments/assets/33874679-21b4-4d07-98ef-c2c9e9d19dd6)

Link: https://github.com/neovim/neovim/issues/10020 [1]</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Calling `set print pretty on` in GDB will:

&gt; Cause GDB to print structures in an indented format with one member
per line

However, `termdebug` just renders the newlines as raw `\n` characters.
This is a regression of[1]. Glancing through the history it looks to
have been caused by cd1b14f027f375a9de17fdf106016470f52035f7 which
removed the output splitting when displaying the eval results, so this
changes adds that behaviour back.

As a quick reproduction/test, compile the following C program:

```c

struct Foo {
    char *name;
};

int main(void) {
    struct Foo f = {"hello"};
    printf("%s\n", f.name);

    return 0;
}
```

Then launch `nvim` and run:

    :Termdebug main
    :Gdb
    (gdb) set print pretty on
    (gdb) break main
    (gdb) run
    :Source

Place the cursor on the `f` variable and call `:Evaluate`. Before this change:

![](https://github.com/user-attachments/assets/51318e1e-9cdd-43ab-aa35-4aaad1d9f65f)

With this change:

![](https://github.com/user-attachments/assets/33874679-21b4-4d07-98ef-c2c9e9d19dd6)

Link: https://github.com/neovim/neovim/issues/10020 [1]</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:049c76f: runtime(termdebug): drop outdated comment from termdebug.vim (#38325)</title>
<updated>2026-03-16T11:55:23+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2026-03-16T11:55:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=46f538c210e2c1d53d71ddba83ec6cfa36f802e1'/>
<id>46f538c210e2c1d53d71ddba83ec6cfa36f802e1</id>
<content type='text'>
that was an internal note which somehow slipped in months ago and even
survived the change to Vimscript9

closes: vim/vim#18305

https://github.com/vim/vim/commit/049c76f0e8a1cc26d724fca1a83bfd2da7012403

Co-authored-by: Simon Sobisch &lt;simonsobisch@web.de&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
that was an internal note which somehow slipped in months ago and even
survived the change to Vimscript9

closes: vim/vim#18305

https://github.com/vim/vim/commit/049c76f0e8a1cc26d724fca1a83bfd2da7012403

Co-authored-by: Simon Sobisch &lt;simonsobisch@web.de&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.2.0143: termdebug: no support for thread and condition in :Break</title>
<updated>2026-03-16T11:05:15+00:00</updated>
<author>
<name>Yinzuo Jiang</name>
<email>jiangyinzuo@foxmail.com</email>
</author>
<published>2026-03-14T02:42:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6dd634b02541608696a0313b87189fff1723ab6d'/>
<id>6dd634b02541608696a0313b87189fff1723ab6d</id>
<content type='text'>
Problem:  termdebug :Break does not support `thread` and `if` arguments
Solution: extend :Break and :Tbreak to accept optional location, thread
          {nr}, and if {expr} arguments (Yinzuo Jiang).

closes: vim/vim#19613

https://github.com/vim/vim/commit/5890ea5397743c60c3cdeb93f50239d012120823

AI-assisted: Codex
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  termdebug :Break does not support `thread` and `if` arguments
Solution: extend :Break and :Tbreak to accept optional location, thread
          {nr}, and if {expr} arguments (Yinzuo Jiang).

closes: vim/vim#19613

https://github.com/vim/vim/commit/5890ea5397743c60c3cdeb93f50239d012120823

AI-assisted: Codex
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:partial:9.1.0613: tests: termdebug test may fail and leave file around</title>
<updated>2026-03-16T11:05:15+00:00</updated>
<author>
<name>Yinzuo Jiang</name>
<email>jiangyinzuo@foxmail.com</email>
</author>
<published>2026-03-14T04:49:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=dff515205c34bcd054f783aa999ddf76966b7470'/>
<id>dff515205c34bcd054f783aa999ddf76966b7470</id>
<content type='text'>
Problem:  tests: termdebug test may fail and leave temp file around
          (Dominique Pellé)
Solution: only run balloon_show() if the function exists, validate
          termdebug is running using the g: termdebug_is_running var,
          use defer to delete temporary files

Only include:
- guard balloon_show() in the termdebug plugin
- wait for g:termdebug_is_running in Test_termdebug_basic()

The remaining upstream test cleanups do not apply here.

fixes: vim/vim#15334

https://github.com/vim/vim/commit/2979cfc2627d76a9c09cad46a1647dcd4aa73f5f

Co-authored-by: Christian Brabandt &lt;cb@256bit.org&gt;
AI-assisted: Codex
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  tests: termdebug test may fail and leave temp file around
          (Dominique Pellé)
Solution: only run balloon_show() if the function exists, validate
          termdebug is running using the g: termdebug_is_running var,
          use defer to delete temporary files

Only include:
- guard balloon_show() in the termdebug plugin
- wait for g:termdebug_is_running in Test_termdebug_basic()

The remaining upstream test cleanups do not apply here.

fixes: vim/vim#15334

https://github.com/vim/vim/commit/2979cfc2627d76a9c09cad46a1647dcd4aa73f5f

Co-authored-by: Christian Brabandt &lt;cb@256bit.org&gt;
AI-assisted: Codex
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:partial:225d4d921: runtime(termdebug): Refactored StartDebug_term and EndDebug functions</title>
<updated>2026-03-16T11:05:15+00:00</updated>
<author>
<name>Yinzuo Jiang</name>
<email>jiangyinzuo@foxmail.com</email>
</author>
<published>2026-03-14T04:48:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=6e7fb518138a3a5fa6d7533fd3004526ab3c358b'/>
<id>6e7fb518138a3a5fa6d7533fd3004526ab3c358b</id>
<content type='text'>
- Functions are way too long. Readability and maintainability should
be slightly improved.

- Some variables are re-assigned to their initial value at teardown.
This should not be needed since all internal variables are
re-initialized at startup of every Termdebug session.

Only include:
- prompt-mode buffer tracking changes around `promptbufnr`
- prompt buffer cleanup in `CloseBuffers()` and `EndDebugCommon()`
- related `BufUnload` and gdb startup failure cleanup adjustments

The remaining upstream `StartDebug_term()` refactor and helper extraction
do not apply here.

closes: vim/vim#15086

https://github.com/vim/vim/commit/225d4d9212edb27cc4bd473db565517594aaeede

Co-authored-by: Ubaldo Tiberi &lt;ubaldo.tiberi@gmail.com&gt;
AI-assisted: Codex
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Functions are way too long. Readability and maintainability should
be slightly improved.

- Some variables are re-assigned to their initial value at teardown.
This should not be needed since all internal variables are
re-initialized at startup of every Termdebug session.

Only include:
- prompt-mode buffer tracking changes around `promptbufnr`
- prompt buffer cleanup in `CloseBuffers()` and `EndDebugCommon()`
- related `BufUnload` and gdb startup failure cleanup adjustments

The remaining upstream `StartDebug_term()` refactor and helper extraction
do not apply here.

closes: vim/vim#15086

https://github.com/vim/vim/commit/225d4d9212edb27cc4bd473db565517594aaeede

Co-authored-by: Ubaldo Tiberi &lt;ubaldo.tiberi@gmail.com&gt;
AI-assisted: Codex
</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:fce324f557: runtime(termdebug): close all buffers in the same way</title>
<updated>2026-03-16T11:05:15+00:00</updated>
<author>
<name>Yinzuo Jiang</name>
<email>jiangyinzuo@foxmail.com</email>
</author>
<published>2026-03-14T04:48:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=34fea4fc64f719fd5384f6cc393d464cebed38bd'/>
<id>34fea4fc64f719fd5384f6cc393d464cebed38bd</id>
<content type='text'>
For ASM and Variables buffer, check were done to make sure they existed
before attempting to close them, but not for debugged program or gdb
communication. The debugged program window is a user-facing one and
user might close it manually, so it's better to check if it exists.

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

Co-authored-by: Damien Riegel &lt;damien@riegel.io&gt;
AI-assisted: Codex
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For ASM and Variables buffer, check were done to make sure they existed
before attempting to close them, but not for debugged program or gdb
communication. The debugged program window is a user-facing one and
user might close it manually, so it's better to check if it exists.

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

Co-authored-by: Damien Riegel &lt;damien@riegel.io&gt;
AI-assisted: Codex
</pre>
</div>
</content>
</entry>
<entry>
<title>fix(termdebug): use mark `:` to get prompt line in prompt buffer #37336</title>
<updated>2026-01-27T23:19:38+00:00</updated>
<author>
<name>Phạm Bình An</name>
<email>111893501+brianhuster@users.noreply.github.com</email>
</author>
<published>2026-01-27T23:19:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=3e6db5b2ec6fc152f70246f58654d762527c9ef2'/>
<id>3e6db5b2ec6fc152f70246f58654d762527c9ef2</id>
<content type='text'>
Problem:
- Nvim supports multi-line input in prompt buffer, so line(`$`) is not
  always the prompt line.

Solution:
- Use `line("':")` to get the prompt line.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
- Nvim supports multi-line input in prompt buffer, so line(`$`) is not
  always the prompt line.

Solution:
- Use `line("':")` to get the prompt line.</pre>
</div>
</content>
</entry>
<entry>
<title>vim-patch:9.1.1532: termdebug: not enough ways to configure breakpoints (#34851)</title>
<updated>2025-07-08T22:38:58+00:00</updated>
<author>
<name>zeertzjq</name>
<email>zeertzjq@outlook.com</email>
</author>
<published>2025-07-08T22:38:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=db7c2acbc6104e44b524e720c64623c3b63ed4b8'/>
<id>db7c2acbc6104e44b524e720c64623c3b63ed4b8</id>
<content type='text'>
Problem:  termdebug: not enough ways to configure breakpoints
Solution: add the termdebug_config['signs'] config setting, rework the
          termdebug test cases (Dimitry Ishenko)

Allow to configure custom breakpoint signs so one can do something like
this:

```vim
let g:termdebug_config['signs'] = ['&gt;1', '&gt;2', '&gt;3', '&gt;4', '&gt;5', '&gt;6', '&gt;7', '&gt;8', '&gt;9']
let g:termdebug_config['sign'] = '&gt;&gt;'
```

where the first 9 breakpoints will have their own signs and the rest
will be the same (&gt;&gt;).

While at it, rework the test for the termdebug plugin:

- Added test for g:termdebug_config['signs'].
- Added test for g:termdebug_config['sign'].
- Moved test for g:termdebug_config['sign_decimal'] into
  Test_termdebug_basic()

closes: vim/vim#17694

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

Co-authored-by: Dimitry Ishenko &lt;dimitry.ishenko@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:  termdebug: not enough ways to configure breakpoints
Solution: add the termdebug_config['signs'] config setting, rework the
          termdebug test cases (Dimitry Ishenko)

Allow to configure custom breakpoint signs so one can do something like
this:

```vim
let g:termdebug_config['signs'] = ['&gt;1', '&gt;2', '&gt;3', '&gt;4', '&gt;5', '&gt;6', '&gt;7', '&gt;8', '&gt;9']
let g:termdebug_config['sign'] = '&gt;&gt;'
```

where the first 9 breakpoints will have their own signs and the rest
will be the same (&gt;&gt;).

While at it, rework the test for the termdebug plugin:

- Added test for g:termdebug_config['signs'].
- Added test for g:termdebug_config['sign'].
- Moved test for g:termdebug_config['sign_decimal'] into
  Test_termdebug_basic()

closes: vim/vim#17694

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

Co-authored-by: Dimitry Ishenko &lt;dimitry.ishenko@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>feat(jobs): jobstart(…,{term=true}), deprecate termopen() #31343</title>
<updated>2024-12-19T15:07:04+00:00</updated>
<author>
<name>Justin M. Keyes</name>
<email>justinkz@gmail.com</email>
</author>
<published>2024-12-19T15:07:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.josher.dev/rneovim.git/commit/?id=8ef41f590224dfeea2e51d9fec150e363fd72ee0'/>
<id>8ef41f590224dfeea2e51d9fec150e363fd72ee0</id>
<content type='text'>
Problem:
`termopen` has long been a superficial wrapper around `jobstart`, and
has no real purpose. Also, `vim.system` and `nvim_open_term` presumably
will replace all features of `jobstart` and `termopen`, so centralizing
the logic will help with that.

Solution:
- Introduce `eval/deprecated.c`, where all deprecated eval funcs will live.
- Introduce "term" flag of `jobstart`.
- Deprecate `termopen`.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
`termopen` has long been a superficial wrapper around `jobstart`, and
has no real purpose. Also, `vim.system` and `nvim_open_term` presumably
will replace all features of `jobstart` and `termopen`, so centralizing
the logic will help with that.

Solution:
- Introduce `eval/deprecated.c`, where all deprecated eval funcs will live.
- Introduce "term" flag of `jobstart`.
- Deprecate `termopen`.</pre>
</div>
</content>
</entry>
</feed>
