patch 8.0.1459: cannot handle change of directory

Problem:    Cannot handle change of directory.
Solution:   Add the DirChanged autocommand event. (Andy Massimino,
            closes #888)  Avoid changing directory for 'autochdir' too often.
diff --git a/src/buffer.c b/src/buffer.c
index ecd8f4e..c0d3d3d 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -595,7 +595,7 @@
 
 #ifdef FEAT_DIFF
     if (diffopt_hiddenoff() && !unload_buf && buf->b_nwindows == 0)
-    	diff_buf_delete(buf);	/* Clear 'diff' for hidden buffer. */
+	diff_buf_delete(buf);	/* Clear 'diff' for hidden buffer. */
 #endif
 
     /* Return when a window is displaying the buffer or when it's not
@@ -657,9 +657,6 @@
 	--buf->b_nwindows;
 #endif
 
-    /* Change directories when the 'acd' option is set. */
-    DO_AUTOCHDIR
-
     /*
      * Remove the buffer from the list.
      */
@@ -1862,7 +1859,7 @@
 {
     if ((starting == 0 || test_autochdir)
 	    && curbuf->b_ffname != NULL
-	    && vim_chdirfile(curbuf->b_ffname) == OK)
+	    && vim_chdirfile(curbuf->b_ffname, "auto") == OK)
 	shorten_fnames(TRUE);
 }
 #endif