summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-10-19 17:01:28 +0200
committerBram Moolenaar <Bram@vim.org>2019-10-19 17:01:28 +0200
commit00e192becd50a38cb21a1bc3f86fcc7a21f8ee88 (patch)
tree4776eda21d139fc8a4d051db196f43820e33fca0
parentb98678a974914aaf1d00b575364c13a6446353bf (diff)
downloadvim-git-8.1.2180.tar.gz
patch 8.1.2180: Error E303 is not useful when 'directory' is emptyv8.1.2180
Problem: Error E303 is not useful when 'directory' is empty. Solution: Skip the error message. (Daniel Hahler, #5067)
-rw-r--r--runtime/doc/message.txt3
-rw-r--r--runtime/doc/options.txt2
-rw-r--r--src/memline.c4
-rw-r--r--src/testdir/test_recover.vim6
-rw-r--r--src/version.c2
5 files changed, 13 insertions, 4 deletions
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index c4e08f27f..8160d2157 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -582,7 +582,8 @@ allowed for the command that was used.
Vim was not able to create a swap file. You can still edit the file, but if
Vim unexpectedly exits the changes will be lost. And Vim may consume a lot of
memory when editing a big file. You may want to change the 'directory' option
-to avoid this error. See |swap-file|.
+to avoid this error. This error is not given when 'directory' is empty. See
+|swap-file|.
*E140* >
Use ! to write partial buffer
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 34fb484f0..8436c8a0d 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -2693,7 +2693,7 @@ A jump table for the options with a short description can be found at |Q_op|.
- The swap file will be created in the first directory where this is
possible.
- Empty means that no swap file will be used (recovery is
- impossible!).
+ impossible!) and no |E303| error will be given.
- A directory "." means to put the swap file in the same directory as
the edited file. On Unix, a dot is prepended to the file name, so
it doesn't show in a directory listing. On MS-Windows the "hidden"
diff --git a/src/memline.c b/src/memline.c
index c77d1df9e..a26e4016a 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -804,9 +804,9 @@ ml_open_file(buf_T *buf)
}
}
- 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 a9934a162..a1c7bc4b0 100644
--- a/src/testdir/test_recover.vim
+++ b/src/testdir/test_recover.vim
@@ -12,6 +12,12 @@ func Test_recover_root_dir()
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 38f82778b..aebadab03 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2180,
+/**/
2179,
/**/
2178,