patch 9.1.1456: comment plugin fails toggling if 'cms' contains \

Problem:  comment plugin fails toggling if 'cms' contains \
Solution: escape backslash (Maxim Kim)

groff could be commented using \" or \# and comment plugin fails to
uncomment such things.

NOTE: if newstyle comment would be introduced, e.g. .\#
for groff test would need to be adjusted.

closes: #17530

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/test_plugin_comment.vim b/src/testdir/test_plugin_comment.vim
index 800c275..1c50748 100644
--- a/src/testdir/test_plugin_comment.vim
+++ b/src/testdir/test_plugin_comment.vim
@@ -59,6 +59,30 @@
   call assert_equal(["# vim9script", "", "def Hello()", '  echo "Hello"', "enddef"], result)
 endfunc
 
+func Test_backward_slash_uncomment()
+  " Note this test depends on 'commentstring' setting in nroff ftplugin
+  CheckScreendump
+  let lines =<< trim END
+    .\" .TL Test backward slash uncomment
+  END
+
+  let input_file = "Test_backward_slash_uncomment_input.mom"
+  call writefile(lines, input_file, "D")
+
+  let buf = RunVimInTerminal('-c "packadd comment" ' .. input_file, {})
+
+  call term_sendkeys(buf, "gcc")
+  let output_file = "backward_slash_uncomment_test.mom"
+  call term_sendkeys(buf, $":w {output_file}\<CR>")
+  defer delete(output_file)
+
+  call StopVimInTerminal(buf)
+
+  let result = readfile(output_file)
+
+  call assert_equal([".TL Test backward slash uncomment"], result)
+endfunc
+
 func Test_caseinsensitive_uncomment()
   CheckScreendump
   let lines =<< trim END
diff --git a/src/version.c b/src/version.c
index 69cf433..a7b31ca 100644
--- a/src/version.c
+++ b/src/version.c
@@ -710,6 +710,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1456,
+/**/
     1455,
 /**/
     1454,