# HG changeset patch # User Christian Brabandt # Date 1523562306 -7200 # Node ID f64c5e636c9fe563c4264a108e879b73898d7aff # Parent 137429f3fdd2a779f03f0580891b5c2aed2801d4 patch 8.0.1704: 'backupskip' default doesn't work for Mac commit https://github.com/vim/vim/commit/b8e22a053b68774dfd86fd829d9dba2333f09c05 Author: Bram Moolenaar Date: Thu Apr 12 21:37:34 2018 +0200 patch 8.0.1704: 'backupskip' default doesn't work for Mac Problem: 'backupskip' default doesn't work for Mac. Solution: Use "/private/tmp". (Rainer M?ller, closes https://github.com/vim/vim/issues/2793) diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1087,7 +1087,9 @@ A jump table for the options with a shor < 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 --- 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 --- 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 --- 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,