patch 9.0.0138: not enough characters accepted for 'spellfile'

Problem:    Not enough characters accepted for 'spellfile'.
Solution:   Add vim_is_fname_char() and use it for 'spellfile'.
diff --git a/src/testdir/test_spellfile.vim b/src/testdir/test_spellfile.vim
index 38d1ec0..43dfad4 100644
--- a/src/testdir/test_spellfile.vim
+++ b/src/testdir/test_spellfile.vim
@@ -1160,4 +1160,12 @@
   call assert_fails('set mkspellmem=1000,50,0', 'E474:')
 endfunc
 
+" 'spellfile' accepts '@' on top of 'isfname'.
+def Test_spellfile_allow_at_character()
+  mkdir('Xtest/the foo@bar,dir', 'p')
+  &spellfile = './Xtest/the foo@bar,dir/Xspellfile.add'
+  &spellfile = ''
+  delete('Xtest', 'rf')
+enddef
+
 " vim: shiftwidth=2 sts=2 expandtab