patch 8.1.2180: Error E303 is not useful when 'directory' is empty

Problem:    Error E303 is not useful when 'directory' is empty.
Solution:   Skip the error message. (Daniel Hahler, #5067)
diff --git a/src/memline.c b/src/memline.c
index c77d1df..a26e401 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -804,9 +804,9 @@
 	}
     }
 
-    if (mfp->mf_fname == NULL)		/* Failed! */
+    if (*p_dir != NUL && mfp->mf_fname == NULL)
     {
-	need_wait_return = TRUE;	/* call wait_return later */
+	need_wait_return = TRUE;	// call wait_return later
 	++no_wait_return;
 	(void)semsg(_("E303: Unable to open swap file for \"%s\", recovery impossible"),
 		    buf_spname(buf) != NULL ? buf_spname(buf) : buf->b_fname);
diff --git a/src/testdir/test_recover.vim b/src/testdir/test_recover.vim
index a9934a1..a1c7bc4 100644
--- a/src/testdir/test_recover.vim
+++ b/src/testdir/test_recover.vim
@@ -12,6 +12,12 @@
     set dir=/notexist/
   endif
   call assert_fails('split Xtest', 'E303:')
+
+  " No error with empty 'directory' setting.
+  set directory=
+  split XtestOK
+  close!
+
   set dir&
 endfunc
 
diff --git a/src/version.c b/src/version.c
index 38f8277..aebadab 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    2180,
+/**/
     2179,
 /**/
     2178,