patch 8.0.0224: change to 'fileformats' from autocmd does not take effect

Problem:    When 'fileformats' is changed in a BufReadPre auto command, it
            does not take effect in readfile(). (Gary Johnson)
Solution:   Check the value of 'fileformats' after executing auto commands.
            (Christian Brabandt)
diff --git a/src/testdir/test_fileformat.vim b/src/testdir/test_fileformat.vim
index 584f20c..256a7d5 100644
--- a/src/testdir/test_fileformat.vim
+++ b/src/testdir/test_fileformat.vim
@@ -15,3 +15,17 @@
   call assert_equal(test_fileformats, &fileformat)
   set fileformats&
 endfunc
+
+func Test_fileformat_autocommand()
+	let filecnt=['', 'foobar', 'eins', '', 'zwei', 'drei', 'vier', 'fünf', '']
+	let ffs=&ffs
+	call writefile(filecnt, 'Xfile', 'b')
+	au BufReadPre Xfile set ffs=dos ff=dos
+	new Xfile
+	call assert_equal('dos', &l:ff)
+	call assert_equal('dos', &ffs)
+	" cleanup
+	let &ffs=ffs
+	au! BufReadPre Xfile
+	bw!
+endfunc