diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2017-01-04 08:24:36 +0100 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2017-01-04 08:24:36 +0100 |
commit | 6f9be2464c9385d0f3c8a7bd6a10e765826ceddf (patch) | |
tree | 2cb67c82325e1a5a125b35eff0499682946815ac /src/nvim/ex_cmds.c | |
parent | af828f22575c8591a176bd9d85ee07f87ba8b911 (diff) | |
parent | a63675c38426944001139b5eaf36d1eb7963df2f (diff) | |
download | rneovim-6f9be2464c9385d0f3c8a7bd6a10e765826ceddf.tar.gz rneovim-6f9be2464c9385d0f3c8a7bd6a10e765826ceddf.tar.bz2 rneovim-6f9be2464c9385d0f3c8a7bd6a10e765826ceddf.zip |
Merge #5872 justinmk/test_autochdir
Diffstat (limited to 'src/nvim/ex_cmds.c')
-rw-r--r-- | src/nvim/ex_cmds.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/nvim/ex_cmds.c b/src/nvim/ex_cmds.c index fcaf17a0fc..b1a17e8c44 100644 --- a/src/nvim/ex_cmds.c +++ b/src/nvim/ex_cmds.c @@ -1611,6 +1611,7 @@ int do_write(exarg_T *eap) int retval = FAIL; char_u *free_fname = NULL; buf_T *alt_buf = NULL; + int name_was_missing; if (not_writing()) /* check 'write' option */ return FAIL; @@ -1734,6 +1735,7 @@ int do_write(exarg_T *eap) fname = curbuf->b_sfname; } + name_was_missing = curbuf->b_ffname == NULL; retval = buf_write(curbuf, ffname, fname, eap->line1, eap->line2, eap, eap->append, eap->forceit, TRUE, FALSE); @@ -1743,7 +1745,11 @@ int do_write(exarg_T *eap) curbuf->b_p_ro = FALSE; redraw_tabline = TRUE; } - /* Change directories when the 'acd' option is set. */ + } + + // Change directories when the 'acd' option is set and the file name + // got changed or set. + if (eap->cmdidx == CMD_saveas || name_was_missing) { do_autochdir(); } } |