patch 8.2.2231: when "--remote file" is used "file" is not reloaded

Problem:    When "--remote file" is used "file" is not reloaded.
Solution:   When a :drop command is used for a file that is already displayed
            in a window and it has not been changed, check if it needs to be
            reloaded. (closes #7560)
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index a2b60c9..734949c 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -5171,6 +5171,15 @@
 	    {
 		goto_tabpage_win(tp, wp);
 		curwin->w_arg_idx = 0;
+		if (!bufIsChanged(curbuf))
+		{
+		    int save_ar = curbuf->b_p_ar;
+
+		    // reload the file if it is newer
+		    curbuf->b_p_ar = TRUE;
+		    buf_check_timestamp(curbuf, FALSE);
+		    curbuf->b_p_ar = save_ar;
+		}
 		return;
 	    }
 	}
diff --git a/src/testdir/test_clientserver.vim b/src/testdir/test_clientserver.vim
index 6043184..bfad1b2 100644
--- a/src/testdir/test_clientserver.vim
+++ b/src/testdir/test_clientserver.vim
@@ -73,6 +73,15 @@
 
   call assert_fails('call remote_send("XXX", ":let testvar = ''yes''\<CR>")', 'E241:')
 
+  call writefile(['one'], 'Xclientfile')
+  let cmd = GetVimProg() .. ' --servername ' .. name .. ' --remote Xclientfile'
+  call system(cmd)
+  call WaitForAssert({-> assert_equal('Xclientfile', remote_expr(name, "bufname()", "", 2))})
+  call WaitForAssert({-> assert_equal('one', remote_expr(name, "getline(1)", "", 2))})
+  call writefile(['one', 'two'], 'Xclientfile')
+  call system(cmd)
+  call WaitForAssert({-> assert_equal('two', remote_expr(name, "getline(2)", "", 2))})
+
   " Expression evaluated locally.
   if v:servername == ''
     eval 'MYSELF'->remote_startserver()
diff --git a/src/version.c b/src/version.c
index 51a9e42..02d03b7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2231,
+/**/
     2230,
 /**/
     2229,