Mercurial > vim
diff src/eval.c @ 9469:38e2fc4ee4ef v7.4.2015
commit https://github.com/vim/vim/commit/5c71994f4ee5f87d4cce990dbc9684c70b1e108b
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 9 23:40:45 2016 +0200
patch 7.4.2015
Problem: When a file gets a name when writing it 'acd' is not effective.
(Dan Church)
Solution: Invoke DO_AUTOCHDIR after writing the file. (Allen Haim, closes
#777, closes #803) Add test_autochdir() to enable 'acd' before
"starting" is reset.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 09 Jul 2016 23:45:05 +0200 |
parents | cdffa812f9d1 |
children | d735119cc327 |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -812,6 +812,7 @@ static void f_taglist(typval_T *argvars, static void f_tagfiles(typval_T *argvars, typval_T *rettv); static void f_tempname(typval_T *argvars, typval_T *rettv); static void f_test_alloc_fail(typval_T *argvars, typval_T *rettv); +static void f_test_autochdir(typval_T *argvars, typval_T *rettv); static void f_test_disable_char_avail(typval_T *argvars, typval_T *rettv); static void f_test_garbagecollect_now(typval_T *argvars, typval_T *rettv); #ifdef FEAT_JOB_CHANNEL @@ -8832,6 +8833,7 @@ static struct fst #endif {"tempname", 0, 0, f_tempname}, {"test_alloc_fail", 3, 3, f_test_alloc_fail}, + {"test_autochdir", 0, 0, f_test_autochdir}, {"test_disable_char_avail", 1, 1, f_test_disable_char_avail}, {"test_garbagecollect_now", 0, 0, f_test_garbagecollect_now}, #ifdef FEAT_JOB_CHANNEL @@ -13155,7 +13157,7 @@ f_getcwd(typval_T *argvars, typval_T *re { if (wp->w_localdir != NULL) rettv->vval.v_string = vim_strsave(wp->w_localdir); - else if(globaldir != NULL) + else if (globaldir != NULL) rettv->vval.v_string = vim_strsave(globaldir); else { @@ -21077,6 +21079,17 @@ f_test_alloc_fail(typval_T *argvars, typ } /* + * "test_autochdir()" + */ + static void +f_test_autochdir(typval_T *argvars UNUSED, typval_T *rettv UNUSED) +{ +#if defined(FEAT_AUTOCHDIR) + test_autochdir = TRUE; +#endif +} + +/* * "test_disable_char_avail({expr})" function */ static void