patch 8.0.1202: :wall gives an errof for a terminal window

Problem:    :wall gives an errof for a terminal window. (Marius Gedminas)
Solution:   Don't try writing a buffer that can't be written. (Yasuhiro
            Matsumoto, closes #2190)
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index b4351b2..60f47bb 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -3400,7 +3400,7 @@
 
     FOR_ALL_BUFFERS(buf)
     {
-	if (bufIsChanged(buf))
+	if (bufIsChanged(buf) && !bt_dontwrite(buf))
 	{
 	    /*
 	     * Check if there is a reason the buffer cannot be written:
diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim
index cff85a4..92dcd1a 100644
--- a/src/testdir/test_terminal.vim
+++ b/src/testdir/test_terminal.vim
@@ -676,3 +676,12 @@
   call TerminalTmap(1)
   call TerminalTmap(0)
 endfunc
+
+func Test_terminal_wall()
+  let buf = Run_shell_in_terminal({})
+  wall
+  call Stop_shell_in_terminal(buf)
+  call term_wait(buf)
+  exe buf . 'bwipe'
+  unlet g:job
+endfunc
diff --git a/src/version.c b/src/version.c
index edc29cc..0f4d23b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1202,
+/**/
     1201,
 /**/
     1200,