runtime(termdebug): more termdebug fixes and improvements (#12892)

- Fix and attempt to simplify :Frame/:Up/:Down documentation.

- Accept a count instead for :Up/:Down/+/-.

- Update the "Last Change" dates.

- Fix a missing :let (caused an error if gdb fails to start).

- Wipe the prompt buffer when ending prompt mode (if it exists and wasn't wiped
  by the user first). Avoids issues with stale prompt buffers (such as E95 when
  starting a new prompt mode session).

- Kill the gdb job if the prompt buffer is unloaded (similar to what's done for
  a terminal buffer). Fixes not being able to start a new termdebug session if
  the buffer was wiped by the user, for example.

Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Sean Dewar
2023-08-23 17:14:49 +01:00
committed by GitHub
parent 79d9cb4cb0
commit 3d3a9152fa
2 changed files with 31 additions and 45 deletions

View File

@ -1,4 +1,4 @@
*terminal.txt* For Vim version 9.0. Last change: 2023 Jun 28
*terminal.txt* For Vim version 9.0. Last change: 2023 Aug 23
VIM REFERENCE MANUAL by Bram Moolenaar
@ -38,6 +38,7 @@ If the result is "1" you have it.
Example session |termdebug-example|
Stepping through code |termdebug-stepping|
Inspecting variables |termdebug-variables|
Navigating stack frames |termdebug-frames|
Other commands |termdebug-commands|
Events |termdebug-events|
Prompt mode |termdebug-prompt|
@ -1376,19 +1377,16 @@ This is similar to using "print" in the gdb window.
You can usually shorten `:Evaluate` to `:Ev`.
Navigation in the Stack ~
*termdebug-variables* *:Frame*
`:Frame` Select the given frame, using either the frame's
stack number, address, or function name.
`:Up` Select the frame that called the current one with an
optional argument to say how many frames to go up.
`+` same (see |termdebug_map_plus| to disable)
`:Down` Select the frame called by the current one with
an optional argument to say how many frames to go down.
`-` same (see |termdebug_map_minus| to disable)
This is similar to using "print" in the gdb window.
You can usually shorten `:Evaluate` to `:Ev`.
Navigating stack frames ~
*termdebug-frames* *:Frame* *:Up* *:Down*
`:Frame` [frame] select frame [frame], which is a frame number,
address, or function name (default: current frame)
`:Up` [count] go up [count] frames (default: 1; the frame that
called the current)
`+` same (see |termdebug_map_plus| to disable)
`:Down` [count] go down [count] frames (default: 1; the frame called
by the current)
`-` same (see |termdebug_map_minus| to disable)
Other commands ~
@ -1464,17 +1462,17 @@ If there is no g:termdebug_config you can use: >
let g:termdebug_use_prompt = 1
<
*termdebug_map_K*
The K key is normally mapped to :Evaluate. If you do not want this use: >
The K key is normally mapped to |:Evaluate|. If you do not want this use: >
let g:termdebug_config['map_K'] = 0
If there is no g:termdebug_config you can use: >
let g:termdebug_map_K = 0
<
*termdebug_map_minus*
The - key is normally mapped to :Down. If you do not want this use: >
The - key is normally mapped to |:Down|. If you do not want this use: >
let g:termdebug_config['map_minus'] = 0
<
*termdebug_map_plus*
The + key is normally mapped to :Up. If you do not want this use: >
The + key is normally mapped to |:Up|. If you do not want this use: >
let g:termdebug_config['map_plus'] = 0
<
*termdebug_disasm_window*