Update runtime files.
diff --git a/runtime/plugin/manpager.vim b/runtime/plugin/manpager.vim
index 9ae2e73..dd0d1e8 100644
--- a/runtime/plugin/manpager.vim
+++ b/runtime/plugin/manpager.vim
@@ -1,29 +1,30 @@
 " Vim plugin for using Vim as manpager.
 " Maintainer: Enno Nagel <ennonagel+vim@gmail.com>
-" Last Change: 2017 November 07
+" Last Change: 2018 Feb 04
 
-" $MAN_PN is supposed to be set by MANPAGER, see ":help manpager.vim".
-if empty($MAN_PN)
-  finish
-endif
+command! -nargs=0 MANPAGER call s:ManPager() | delcommand MANPAGER
 
-command! -nargs=0 MANPAGER call s:MANPAGER() | delcommand MANPAGER
-
-function! s:MANPAGER()
-  let page_pattern = '\v\w[-_.:0-9A-Za-z]*'
-  let sec_pattern = '\v\w+%(\+\w+)*'
-  let pagesec_pattern = '\v(' . page_pattern . ')\((' . sec_pattern . ')\)'
-
-  if $MAN_PN is '1'
-    let manpage = tolower(matchstr( getline(nextnonblank(1)), '^' . pagesec_pattern ))
-  else
-    let manpage = expand($MAN_PN)
+function! s:ManPager()
+  set nocompatible
+  if exists('+viminfofile')
+    set viminfofile=NONE
   endif
+  set noswapfile 
 
-  let page_sec = matchlist(manpage, '^' . pagesec_pattern  . '$')
+  setlocal ft=man
+  runtime ftplugin/man.vim
+  setlocal buftype=nofile bufhidden=hide iskeyword+=: modifiable
 
-  bwipe!
+  " Emulate 'col -b'
+  silent keepj keepp %s/\v(.)\b\ze\1?//ge
 
-  setlocal filetype=man
-  exe 'Man' page_sec[2] page_sec[1]
+  " Remove empty lines above the header
+  call cursor(1, 1)
+  let n = search(".*(.*)", "c")
+  if n > 1
+    exe "1," . n-1 . "d"
+  endif
+  setlocal nomodified readonly
+
+  syntax on
 endfunction