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>
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index 632431c..c02a885 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -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 @@
       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 @@
 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 @@
 	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*