patch 8.0.0677: setting 'filetype' may switch buffers

Problem:    Setting 'filetype' internally may cause the current buffer and
            window to change unexpectedly.
Solution:   Set curbuf_lock. (closes #1734)
diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim
index c23e597..755ea74 100644
--- a/src/testdir/test_quickfix.vim
+++ b/src/testdir/test_quickfix.vim
@@ -2190,7 +2190,7 @@
 func Test_cclose_from_copen()
     augroup QF_Test
 	au!
-	au FileType qf :cclose
+        au FileType qf :call assert_fails(':cclose', 'E788')
     augroup END
     copen
     augroup QF_Test
@@ -2227,3 +2227,19 @@
   call XsizeTests('c')
   call XsizeTests('l')
 endfunc
+
+func Test_cclose_in_autocmd()
+  " Problem is only triggered if "starting" is zero, so that the OptionsSet
+  " event will be triggered.
+  call test_override('starting', 1)
+  augroup QF_Test
+    au!
+    au FileType qf :call assert_fails(':cclose', 'E788')
+  augroup END
+  copen
+  augroup QF_Test
+    au!
+  augroup END
+  augroup! QF_Test
+  call test_override('starting', 0)
+endfunc