diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
index a8ca900..4f5b88a 100644
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -83,7 +83,7 @@
     setf freebasic
   elseif match(lines, qb64_preproc) > -1
     setf qb64
-  elseif match(lines, s:ft_visual_basic_content) > -1
+  elseif match(lines, ft_visual_basic_content) > -1
     setf vb
   else
     setf basic
@@ -241,7 +241,7 @@
 
   var lines = getline(1, min([line("$"), 5]))
 
-  if match(lines, s:ft_visual_basic_content) > -1
+  if match(lines, ft_visual_basic_content) > -1
     setf vb
   else
     setf form
@@ -434,7 +434,7 @@
       setf php
     # Pascal supports // comments but they're vary rarely used for file
     # headers so assume POV-Ray
-    elseif lines =~ '^\s*\%({\|(\*\)' || lines =~? s:ft_pascal_keywords
+    elseif lines =~ '^\s*\%({\|(\*\)' || lines =~? ft_pascal_keywords
       setf pascal
     else
       FTasmsyntax()
@@ -496,7 +496,7 @@
   var lnum = 1
   while lnum <= 10 && lnum < line('$')
     var line = getline(lnum)
-    if line =~ s:ft_pascal_comments || line =~? s:ft_pascal_keywords
+    if line =~ ft_pascal_comments || line =~? ft_pascal_keywords
       setf pascal
       return
     elseif line !~ '^\s*$' || line =~ '^/\*'
@@ -514,7 +514,7 @@
     exe "setf " .. g:filetype_pp
   else
     var line = getline(nextnonblank(1))
-    if line =~ s:ft_pascal_comments || line =~? s:ft_pascal_keywords
+    if line =~ ft_pascal_comments || line =~? ft_pascal_keywords
       setf pascal
     else
       setf puppet
@@ -685,8 +685,8 @@
   endtry
   var dir = expand('<amatch>:p:h')
   for line in config_lines
-    if line =~ s:ft_rules_udev_rules_pattern
-      var udev_rules = substitute(line, s:ft_rules_udev_rules_pattern, '\1', "")
+    if line =~ ft_rules_udev_rules_pattern
+      var udev_rules = substitute(line, ft_rules_udev_rules_pattern, '\1', "")
       if dir == udev_rules
 	setf udevrules
       endif
diff --git a/src/version.c b/src/version.c
index 97a8f6e..1c99de5 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4448,
+/**/
     4447,
 /**/
     4446,
