patch 8.1.0080: can't see the breakpoint number in the terminal debugger

Problem:    Can't see the breakpoint number in the terminal debugger.
Solution:   Use the breakpoint number for the sign. (Christian Brabandt)
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index 395e7d2..262b162 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -705,11 +705,11 @@
 Vim will start running in the program window. Put focus there and type: >
 	:help gui
 Gdb will run into the ex_help breakpoint.  The source window now shows the 
-ex_cmds.c file.  A ">>" marker will appear where the breakpoint was set.  The
-line where the debugger stopped is highlighted.  You can now step through the
-program.  Let's use the mouse: click on the "Next" button in the window
-toolbar.  You will see the highlighting move as the debugger executes a line
-of source code.
+ex_cmds.c file.  A red "1 " marker will appear in the signcolumn where the
+breakpoint was set.  The line where the debugger stopped is highlighted.  You
+can now step through the program.  Let's use the mouse: click on the "Next"
+button in the window toolbar.  You will see the highlighting move as the
+debugger executes a line of source code.
 
 Click "Next" a few times until the for loop is highlighted.  Put the cursor on
 the end of "eap->arg", then click "Eval" in the toolbar.  You will see this
@@ -788,6 +788,13 @@
 happens if the buffer in the source code window has been modified and can't be
 abandoned.
 
+Gdb gives each breakpoint a number.  In Vim the number shows up in the sign
+column, with a red background.  You can use these gdb commands:
+- info break	list breakpoints
+- delete N	delete breakpoint N
+You can also use the `:Clear` command if the cursor is in the line with the
+breakpoint, or use the "Clear breakpoint" right-click menu entry.
+
 
 Inspecting variables ~
 					*termdebug-variables* *:Evaluate*
@@ -831,6 +838,13 @@
 gdb.  The buffer name is "gdb communication".  Do not delete this buffer, it
 will break the debugger.
 
+Gdb has some weird behavior, the plugin does its best to work around that.
+For example, after typing "continue" in the gdb window a CTRL-C can be used to
+interrupt the running program.  But after using the MI command
+"-exec-continue"  pressing CTRL-C does not interrupt.  Therefore you will see
+"continue" being used for the `:Continue` command, instead of using the
+communication channel.
+
 
 Customizing ~
 
diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
index a01f3f1..f4a4dc2 100644
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -67,7 +67,7 @@
 endif
 
 let s:pc_id = 12
-let s:break_id = 13
+let s:break_id = 13  " breakpoint number is added to this
 let s:stopped = 1
 
 if &background == 'light'
@@ -325,10 +325,6 @@
   " There can be only one.
   sign define debugPC linehl=debugPC
 
-  " Sign used to indicate a breakpoint.
-  " Can be used multiple times.
-  sign define debugBreakpoint text=>> texthl=debugBreakpoint
-
   " Install debugger commands in the text window.
   call win_gotoid(s:sourcewin)
   call s:InstallCommands()
@@ -345,6 +341,7 @@
     endif
   endif
 
+  " Contains breakpoints that have been placed, key is the number.
   let s:breakpoints = {}
 
   augroup TermDebug
@@ -813,6 +810,16 @@
   call win_gotoid(wid)
 endfunc
 
+func s:CreateBreakpoint(nr)
+  if !exists("s:BreakpointSigns")
+    let s:BreakpointSigns = []
+  endif
+  if index(s:BreakpointSigns, a:nr) == -1
+    call add(s:BreakpointSigns, a:nr)
+    exe "sign define debugBreakpoint". a:nr . " text=" . a:nr . " texthl=debugBreakpoint"
+  endif
+endfunc
+
 " Handle setting a breakpoint
 " Will update the sign that shows the breakpoint
 func s:HandleNewBreakpoint(msg)
@@ -820,6 +827,7 @@
   if nr == 0
     return
   endif
+  call s:CreateBreakpoint(nr)
 
   if has_key(s:breakpoints, nr)
     let entry = s:breakpoints[nr]
@@ -839,7 +847,7 @@
 endfunc
 
 func s:PlaceSign(nr, entry)
-  exe 'sign place ' . (s:break_id + a:nr) . ' line=' . a:entry['lnum'] . ' name=debugBreakpoint file=' . a:entry['fname']
+  exe 'sign place ' . (s:break_id + a:nr) . ' line=' . a:entry['lnum'] . ' name=debugBreakpoint' . a:nr . ' file=' . a:entry['fname']
   let a:entry['placed'] = 1
 endfunc
 
diff --git a/src/version.c b/src/version.c
index 85ffd16..ebcc4ef 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    80,
+/**/
     79,
 /**/
     78,