summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-04-12 21:37:34 +0200
committerBram Moolenaar <Bram@vim.org>2018-04-12 21:37:34 +0200
commitb8e22a053b68774dfd86fd829d9dba2333f09c05 (patch)
tree908dfccf2fb5c70c298fb5f0eb75f2a6c6acb4e3
parent527dec3f94c72096bf6baf4bb71f1a21dc7df89c (diff)
downloadvim-git-b8e22a053b68774dfd86fd829d9dba2333f09c05.tar.gz
patch 8.0.1704: 'backupskip' default doesn't work for Macv8.0.1704
Problem: 'backupskip' default doesn't work for Mac. Solution: Use "/private/tmp". (Rainer Müller, closes #2793)
-rw-r--r--runtime/doc/options.txt4
-rw-r--r--src/option.c4
-rw-r--r--src/testdir/test_options.vim16
-rw-r--r--src/version.c2
4 files changed, 25 insertions, 1 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 93efaec16..cc19e253d 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1087,7 +1087,9 @@ A jump table for the options with a short description can be found at |Q_op|.
< Use 'backupdir' to put the backup in a different directory.
*'backupskip'* *'bsk'*
-'backupskip' 'bsk' string (default: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
+'backupskip' 'bsk' string (default: "$TMPDIR/*,$TMP/*,$TEMP/*"
+ Unix: "/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*"
+ Mac: "/private/tmp/*,$TMPDIR/*,$TMP/*,$TEMP/*")
global
{not in Vi}
{not available when compiled without the |+wildignore|
diff --git a/src/option.c b/src/option.c
index 48432bb32..5ef346c8d 100644
--- a/src/option.c
+++ b/src/option.c
@@ -3367,7 +3367,11 @@ set_init_1(int clean_arg)
mustfree = FALSE;
# ifdef UNIX
if (*names[n] == NUL)
+# ifdef MACOS_X
+ p = (char_u *)"/private/tmp";
+# else
p = (char_u *)"/tmp";
+# endif
else
# endif
p = vim_getenv((char_u *)names[n], &mustfree);
diff --git a/src/testdir/test_options.vim b/src/testdir/test_options.vim
index 5d2033a5d..0f2908fcb 100644
--- a/src/testdir/test_options.vim
+++ b/src/testdir/test_options.vim
@@ -332,3 +332,19 @@ func Test_set_indentexpr()
call assert_equal('', &indentexpr)
bwipe!
endfunc
+
+func Test_backupskip()
+ if has("mac")
+ call assert_match('/private/tmp/\*', &bsk)
+ elseif has("unix")
+ call assert_match('/tmp/\*', &bsk)
+ endif
+
+ let bskvalue = substitute(&bsk, '\\', '/', 'g')
+ for var in ['$TEMPDIR', '$TMP', '$TEMP']
+ if exists(var)
+ let varvalue = substitute(expand(var), '\\', '/', 'g')
+ call assert_match(varvalue . '.\*', bskvalue)
+ endif
+ endfor
+endfunc
diff --git a/src/version.c b/src/version.c
index fdaa1dc6c..8d7049d5f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -763,6 +763,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1704,
+/**/
1703,
/**/
1702,