patch 8.2.4766: KRL files using "deffct" not recognized

Problem:    KRL files using "deffct" not recognized.
Solution:   Adjust the pattern used for matching. (Patrick Meiser-Knosowski,
            closes #10200)
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
index 4c2d20a..05a92bc 100644
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -989,20 +989,23 @@
   setf tf
 enddef
 
+var ft_krl_header = '\&\w+'
 # Determine if a *.src file is Kuka Robot Language
 export def FTsrc()
+  var ft_krl_def_or_deffct = '%(global\s+)?def%(fct)?>'
   if exists("g:filetype_src")
     exe "setf " .. g:filetype_src
-  elseif getline(nextnonblank(1)) =~? '^\s*\%(&\w\+\|\%(global\s\+\)\?def\>\)'
+  elseif getline(nextnonblank(1)) =~? '\v^\s*%(' .. ft_krl_header .. '|' .. ft_krl_def_or_deffct .. ')'
     setf krl
   endif
 enddef
 
 # Determine if a *.dat file is Kuka Robot Language
 export def FTdat()
+  var ft_krl_defdat = 'defdat>'
   if exists("g:filetype_dat")
     exe "setf " .. g:filetype_dat
-  elseif getline(nextnonblank(1)) =~? '^\s*\%(&\w\+\|defdat\>\)'
+  elseif getline(nextnonblank(1)) =~? '\v^\s*%(' .. ft_krl_header .. '|' .. ft_krl_defdat .. ')'
     setf krl
   endif
 enddef