patch 8.0.0395: testing the + register fails with Motif

Problem:    Testing the + register fails with Motif.
Solution:   Also ignore the "failed to create input context" error in the
            second gvim.  Don't use msg() when it would result in a dialog.
diff --git a/src/message.c b/src/message.c
index 985e1eb..ab193f0 100644
--- a/src/message.c
+++ b/src/message.c
@@ -605,7 +605,8 @@
 #ifdef FEAT_EVAL
     /* When testing some errors are turned into a normal message. */
     if (ignore_error(s))
-	return msg(s);
+	/* don't call msg() if it results in a dialog */
+	return msg_use_printf() ? FALSE : msg(s);
 #endif
 
     called_emsg = TRUE;
diff --git a/src/testdir/setup_gui.vim b/src/testdir/setup_gui.vim
index 88f538e..90ef1f1 100644
--- a/src/testdir/setup_gui.vim
+++ b/src/testdir/setup_gui.vim
@@ -27,3 +27,6 @@
 func GUITearDownCommon()
   call delete('Xhome', 'rf')
 endfunc
+
+" Ignore the "failed to create input context" error.
+call test_ignore_error('E285')
diff --git a/src/testdir/test_gui.vim b/src/testdir/test_gui.vim
index 6c9722d..be3e52d 100644
--- a/src/testdir/test_gui.vim
+++ b/src/testdir/test_gui.vim
@@ -17,9 +17,6 @@
 " Test for resetting "secure" flag after GUI has started.
 " Must be run first.
 func Test_1_set_secure()
-  " Ignore the "failed to create input context" error.
-  call test_ignore_error('E285')
-
   set exrc secure
   gui -f
   call assert_equal(1, has('gui_running'))
@@ -87,13 +84,16 @@
     let test_response = 'Yes, I can.'
     let vim_exe = exepath(v:progpath)
     let testee = 'VIMRUNTIME=' . $VIMRUNTIME . '; export VIMRUNTIME;'
-          \ . vim_exe . ' -f -g -u NONE -U NONE --noplugin -c ''%s'''
-    let cmd = 'call feedkeys("'
+          \ . vim_exe
+	  \ . ' -f -g -u NONE -U NONE --noplugin --cmd ''%s'' -c ''%s'''
+    " Ignore the "failed to create input context" error.
+    let cmd1 = 'call test_ignore_error("E285")'
+    let cmd2 = 'call feedkeys("'
           \ . '\"+p'
           \ . ':s/' . test_call . '/' . test_response . '/\<CR>'
           \ . '\"+yis'
           \ . ':q!\<CR>", "tx")'
-    let run_vimtest = printf(testee, cmd)
+    let run_vimtest = printf(testee, cmd1, cmd2)
 
     " Set the quoteplus register to test_call, and another gvim will launched.
     " Then, it first tries to paste the content of its own quotedplus register
diff --git a/src/version.c b/src/version.c
index ee828fd..796162b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    395,
+/**/
     394,
 /**/
     393,