Mercurial > vim
changeset 13664:f64c5e636c9f v8.0.1704
patch 8.0.1704: 'backupskip' default doesn't work for Mac
commit https://github.com/vim/vim/commit/b8e22a053b68774dfd86fd829d9dba2333f09c05
Author: Bram Moolenaar <Bram@vim.org>
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)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 12 Apr 2018 21:45:06 +0200 |
parents | 137429f3fdd2 |
children | 95a52068af9e |
files | runtime/doc/options.txt src/option.c src/testdir/test_options.vim src/version.c |
diffstat | 4 files changed, 25 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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|
--- 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);
--- 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