diff options
author | Bram Moolenaar <Bram@vim.org> | 2019-10-19 17:01:28 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2019-10-19 17:01:28 +0200 |
commit | 00e192becd50a38cb21a1bc3f86fcc7a21f8ee88 (patch) | |
tree | 4776eda21d139fc8a4d051db196f43820e33fca0 | |
parent | b98678a974914aaf1d00b575364c13a6446353bf (diff) | |
download | vim-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.txt | 3 | ||||
-rw-r--r-- | runtime/doc/options.txt | 2 | ||||
-rw-r--r-- | src/memline.c | 4 | ||||
-rw-r--r-- | src/testdir/test_recover.vim | 6 | ||||
-rw-r--r-- | src/version.c | 2 |
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, |