patch 8.0.0423: changing 'cinoptions' does not always work

Problem:    The effect of adding "#" to 'cinoptions' is not always removed.
            (David Briscoe)
Solution:   Reset b_ind_hash_comment. (Christian Brabandt, closes #1475)
diff --git a/src/Makefile b/src/Makefile
index 6e7fdde..f945322 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -2104,6 +2104,7 @@
 	test_channel \
 	test_charsearch \
 	test_changedtick \
+	test_cindent \
 	test_cmdline \
 	test_command_count \
 	test_crypt \
diff --git a/src/misc1.c b/src/misc1.c
index dce912c..ec92f03 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -6974,6 +6974,9 @@
      * while(). */
     buf->b_ind_if_for_while = 0;
 
+    /* indentation for # comments */
+    buf->b_ind_hash_comment = 0;
+
     for (p = buf->b_p_cino; *p; )
     {
 	l = p++;
diff --git a/src/testdir/Make_all.mak b/src/testdir/Make_all.mak
index e1ce151..b7fb15c 100644
--- a/src/testdir/Make_all.mak
+++ b/src/testdir/Make_all.mak
@@ -143,6 +143,7 @@
 	    test_cdo.res \
 	    test_channel.res \
 	    test_charsearch.res \
+	    test_cindent.res \
 	    test_cmdline.res \
 	    test_command_count.res \
 	    test_crypt.res \
diff --git a/src/testdir/test3.in b/src/testdir/test3.in
index e8648d3..9e66436 100644
--- a/src/testdir/test3.in
+++ b/src/testdir/test3.in
Binary files differ
diff --git a/src/testdir/test_cindent.vim b/src/testdir/test_cindent.vim
new file mode 100644
index 0000000..5685c2b
--- /dev/null
+++ b/src/testdir/test_cindent.vim
@@ -0,0 +1,16 @@
+" Test for cinoptions and cindent
+"
+" TODO: rewrite test3.in into this new style test
+
+func Test_cino_hash()
+  " Test that curbuf->b_ind_hash_comment is correctly reset
+  new
+  setlocal cindent cinoptions=#1
+  setlocal cinoptions=
+  call setline(1, ["#include <iostream>"])
+  call cursor(1, 1)
+  norm! o#include
+  "call feedkeys("o#include\<esc>", 't')
+  call assert_equal(["#include <iostream>", "#include"], getline(1,2))
+  bwipe!
+endfunc
diff --git a/src/version.c b/src/version.c
index 3804bbe..c956389 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    423,
+/**/
     422,
 /**/
     421,