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.
diff --git a/src/buffer.c b/src/buffer.c
index 7c69b8e..b434d58 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1635,7 +1635,7 @@
     void
 do_autochdir(void)
 {
-    if (starting == 0
+    if ((starting == 0 || test_autochdir)
 	    && curbuf->b_ffname != NULL
 	    && vim_chdirfile(curbuf->b_ffname) == OK)
 	shorten_fnames(TRUE);