diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim
index 880ad12..b6ce774 100644
--- a/runtime/indent/sh.vim
+++ b/runtime/indent/sh.vim
@@ -1,33 +1,26 @@
 " Vim indent file
-" Language:	    Shell Script
-" Maintainer:	    Nikolai Weibull <source@pcppopper.org>
-" URL:		    http://www.pcppopper.org/vim/indent/pcp/sh/
-" Latest Revision:  2004-04-25
-" arch-tag:	    431c7fc1-12a6-4d71-9636-1498ef56b038
+" Language:         Shell Script
+" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision:  2005-06-29
 
-" Only load this indent file when no other was loaded.
 if exists("b:did_indent")
   finish
 endif
-
 let b:did_indent = 1
 
 setlocal indentexpr=GetShIndent()
 setlocal indentkeys+==then,=do,=else,=elif,=esac,=fi,=fin,=fil,=done
 setlocal indentkeys-=:,0#
 
-" Only define the function once.
 if exists("*GetShIndent")
   finish
 endif
 
-set cpoptions-=C
+let s:cpo_save = &cpo
+set cpo&vim
 
 function GetShIndent()
-  " Find a non-blank line above the current line.
   let lnum = prevnonblank(v:lnum - 1)
-
-  " Hit the start of the file, use zero indent.
   if lnum == 0
     return 0
   endif
@@ -37,8 +30,8 @@
   let ind = indent(lnum)
   let line = getline(lnum)
   if line =~ '^\s*\(if\|then\|do\|else\|elif\|case\|while\|until\|for\)\>'
-	\ || line =~ '^\s*\<\h\w*\>\s*()\s*{'
-	\ || line =~ '^\s*{'
+        \ || line =~ '^\s*\<\k\+\>\s*()\s*{'
+        \ || line =~ '^\s*{'
     if line !~ '\(esac\|fi\|done\)\>\s*$' && line !~ '}\s*$'
       let ind = ind + &sw
     endif
@@ -48,11 +41,12 @@
   " Retain the indentation level if line matches fin (for find)
   let line = getline(v:lnum)
   if (line =~ '^\s*\(then\|do\|else\|elif\|esac\|fi\|done\)\>' || line =~ '^\s*}')
-	\ && line !~ '^\s*fi[ln]\>'
+        \ && line !~ '^\s*fi[ln]\>'
     let ind = ind - &sw
   endif
 
   return ind
 endfunction
 
-" vim: set sts=2 sw=2:
+let &cpo = s:cpo_save
+unlet s:cpo_save
