Updated runtime files.
diff --git a/runtime/ftplugin/docbk.vim b/runtime/ftplugin/docbk.vim
index 11cb323..cbceb6b 100644
--- a/runtime/ftplugin/docbk.vim
+++ b/runtime/ftplugin/docbk.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	    DocBook
 " Maintainer:	    Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2010-10-14
+" Latest Revision:  2012-04-25
 
 if exists('b:did_ftplugin')
   finish
@@ -20,3 +20,5 @@
 else
   runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.vim
 endif
+
+let b:undo_ftplugin = "unlet! b:docbk_type"
diff --git a/runtime/ftplugin/dosbatch.vim b/runtime/ftplugin/dosbatch.vim
index 6e581e7..7662896 100644
--- a/runtime/ftplugin/dosbatch.vim
+++ b/runtime/ftplugin/dosbatch.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:    MS-DOS .bat files
 " Maintainer:  Mike Williams <mrw@eandem.co.uk>
-" Last Change: 27th May 2009
+" Last Change: 24th April 2012
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -19,3 +19,6 @@
 if has("gui_win32") && !exists("b:browsefilter")
   let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n"
 endif
+
+let b:undo_ftplugin = "setlocal comments< formatoptions<"
+    \ . "| unlet! b:browsefiler"
diff --git a/runtime/ftplugin/fortran.vim b/runtime/ftplugin/fortran.vim
index 948e216..110dab3 100644
--- a/runtime/ftplugin/fortran.vim
+++ b/runtime/ftplugin/fortran.vim
@@ -1,11 +1,12 @@
 " Vim settings file
-" Language:	Fortran90 (and Fortran95, Fortran77, F and elf90)
-" Version:	0.47
-" Last Change:	2011 December 28
+" Language:	Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66)
+" Version:	0.48
+" Last Change:	2012 Apr. 18
 " Maintainer:	Ajit J. Thakkar <ajit@unb.ca>; <http://www.unb.ca/chem/ajit/>
 " Usage:	Do :help fortran-plugin from Vim
 " Credits:
-" Useful suggestions were made by Stefano Zacchiroli and Hendrik Merx.
+" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, and Ben
+" Fritz.
 
 " Only do these settings when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -28,7 +29,7 @@
     " User guarantees fixed source form
     let b:fortran_fixed_source = 1
   else
-    " f90 and f95 allow both fixed and free source form
+    " Modern Fortran allows both fixed and free source form
     " assume fixed source form unless signs of free source form
     " are detected in the first five columns of the first s:lmax lines
     " Detection becomes more accurate and time-consuming if more lines
@@ -79,7 +80,7 @@
 setlocal fo+=tcql
 
 setlocal include=^\\c#\\=\\s*include\\s\\+
-setlocal suffixesadd+=.f95,.f90,.for,.f,.F,.f77,.ftn,.fpp
+setlocal suffixesadd+=.f08,.f03,.f95,.f90,.for,.f,.F,.f77,.ftn,.fpp
 
 " Define patterns for the matchit plugin
 if !exists("b:match_words")
@@ -89,6 +90,7 @@
   let s:notprocedure = '\%(\s\+procedure\>\)\@!'
   let b:match_ignorecase = 1
   let b:match_words =
+    \ '(:),' .
     \ '\<select\s*case\>:' . s:notselect. '\<case\>:\<end\s*select\>,' .
     \ s:notelse . '\<if\s*(.\+)\s*then\>:' .
     \ '\<else\s*\%(if\s*(.\+)\s*then\)\=\>:\<end\s*if\>,'.
@@ -96,6 +98,9 @@
     \ s:notend . '\<do\>:\<end\s*do\>,'.
     \ s:notelse . '\<where\>:\<elsewhere\>:\<end\s*where\>,'.
     \ s:notend . '\<type\s*[^(]:\<end\s*type\>,'.
+    \ s:notend . '\<forall\>:\<end\s*forall\>,'.
+    \ s:notend . '\<associate\>:\<end\s*associate\>,'.
+    \ s:notend . '\<enum\>:\<end\s*enum\>,'.
     \ s:notend . '\<interface\>:\<end\s*interface\>,'.
     \ s:notend . '\<subroutine\>:\<end\s*subroutine\>,'.
     \ s:notend . '\<function\>:\<end\s*function\>,'.
@@ -105,7 +110,7 @@
 
 " File filters for :browse e
 if has("gui_win32") && !exists("b:browsefilter")
-  let b:browsefilter = "Fortran Files (*.f;*.F;*.for;*.f77;*.f90;*.f95;*.fpp;*.ftn)\t*.f;*.F;*.for;*.f77;*.f90;*.f95;*.fpp;*.ftn\n" .
+  let b:browsefilter = "Fortran Files (*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn)\t*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn\n" .
     \ "All Files (*.*)\t*.*\n"
 endif
 
diff --git a/runtime/ftplugin/postscr.vim b/runtime/ftplugin/postscr.vim
index f7c96a2..505f08f 100644
--- a/runtime/ftplugin/postscr.vim
+++ b/runtime/ftplugin/postscr.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	PostScript
 " Maintainer:	Mike Williams <mrw@eandem.co.uk>
-" Last Change:  16th January 2012
+" Last Change:  24th April 2012
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -33,3 +33,6 @@
 
 let &cpo = s:cpo_save
 unlet s:cpo_save
+
+let b:undo_ftplugin = "setlocal comments< formatoptions<"
+    \ . "| unlet! b:browsefiler b:match_ignorecase b:match_words"