Update runtime files.
diff --git a/runtime/ftplugin/erlang.vim b/runtime/ftplugin/erlang.vim
index 4899020..af4e910 100644
--- a/runtime/ftplugin/erlang.vim
+++ b/runtime/ftplugin/erlang.vim
@@ -1,10 +1,10 @@
 " Vim ftplugin file
 " Language:     Erlang
-" Author:       Oscar Hellström <oscar@oscarh.net>
-" Contributors: Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
+" Author:       Oscar Hellström <oscar@oscarh.net>
+" Contributors: Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
 "               Eduardo Lopez (http://github.com/tapichu)
 " License:      Vim license
-" Version:      2011/11/21
+" Version:      2012/01/25
 
 if exists('b:did_ftplugin')
 	finish
@@ -27,13 +27,10 @@
 	let g:erlang_folding = 0
 endif
 
-" Local settings
-function s:SetErlangOptions()
-	compiler erlang
-	if version >= 700
-		setlocal omnifunc=erlang_complete#Complete
-	endif
+let s:erlang_fun_begin = '^\a\w*(.*$'
+let s:erlang_fun_end   = '^[^%]*\.\s*\(%.*\)\?$'
 
+function s:SetErlangOptions()
 	if g:erlang_folding
 		setlocal foldmethod=expr
 		setlocal foldexpr=GetErlangFold(v:lnum)
@@ -47,104 +44,35 @@
 	let &l:keywordprg = g:erlang_keywordprg
 endfunction
 
-" Define folding functions
-if !exists('*GetErlangFold')
-	" Folding params
-	let s:erlang_fun_begin  = '^\a\w*(.*$'
-	let s:erlang_fun_end    = '^[^%]*\.\s*\(%.*\)\?$'
-	let s:erlang_blank_line = '^\s*\(%.*\)\?$'
+function GetErlangFold(lnum)
+	let lnum = a:lnum
+	let line = getline(lnum)
 
-	" Auxiliary fold functions
-	function s:GetNextNonBlank(lnum)
-		let lnum = nextnonblank(a:lnum + 1)
-		let line = getline(lnum)
-		while line =~ s:erlang_blank_line && 0 != lnum
-			let lnum = nextnonblank(lnum + 1)
-			let line = getline(lnum)
-		endwhile
-		return lnum
-	endfunction
+	if line =~ s:erlang_fun_end
+		return '<1'
+	endif
 
-	function s:GetFunName(str)
-		return matchstr(a:str, '^\a\w*(\@=')
-	endfunction
+	if line =~ s:erlang_fun_begin && foldlevel(lnum - 1) == 1
+		return '1'
+	endif
 
-	function s:GetFunArgs(str, lnum)
-		let str = a:str
-		let lnum = a:lnum
-		while str !~ '->\s*\(%.*\)\?$'
-			let lnum = s:GetNextNonBlank(lnum)
-			if 0 == lnum " EOF
-				return ''
-			endif
-			let str .= getline(lnum)
-		endwhile
-		return matchstr(str, 
-			\ '\(^(\s*\)\@<=.*\(\s*)\(\s\+when\s\+.*\)\?\s\+->\s*\(%.*\)\?$\)\@=')
-	endfunction
+	if line =~ s:erlang_fun_begin
+		return '>1'
+	endif
 
-	function s:CountFunArgs(arguments)
-		let pos = 0
-		let ac = 0 " arg count
-		let arguments = a:arguments
-		
-		" Change list / tuples into just one A(rgument)
-		let erlang_tuple = '{\([A-Za-z_,|=\-\[\]]\|\s\)*}'
-		let erlang_list  = '\[\([A-Za-z_,|=\-{}]\|\s\)*\]'
+	return '='
+endfunction
 
-		" FIXME: Use searchpair?
-		while arguments =~ erlang_tuple
-			let arguments = substitute(arguments, erlang_tuple, 'A', 'g')
-		endwhile
-		" FIXME: Use searchpair?
-		while arguments =~ erlang_list
-			let arguments = substitute(arguments, erlang_list, 'A', 'g')
-		endwhile
-		
-		let len = strlen(arguments)
-		while pos < len && pos > -1
-			let ac += 1
-			let pos = matchend(arguments, ',\s*', pos)
-		endwhile
-		return ac
-	endfunction
+function ErlangFoldText()
+	let line    = getline(v:foldstart)
+	let foldlen = v:foldend - v:foldstart + 1
+	let lines   = ' ' . foldlen . ' lines: ' . substitute(line, "[\ \t]*", '', '')
+	if foldlen < 10
+		let lines = ' ' . lines
+	endif
+	let retval = '+' . v:folddashes . lines
 
-	" Main fold function
-	function GetErlangFold(lnum)
-		let lnum = a:lnum
-		let line = getline(lnum)
-
-		if line =~ s:erlang_fun_end
-			return '<1'
-		endif
-
-		if line =~ s:erlang_fun_begin && foldlevel(lnum - 1) == 1
-			return '1'
-		endif
-
-		if line =~ s:erlang_fun_begin
-			return '>1'
-		endif
-
-		return '='
-	endfunction
-
-	" Erlang fold description (foldtext function)
-	function ErlangFoldText()
-		let foldlen = v:foldend - v:foldstart
-		if 1 < foldlen
-			let lines = 'lines'
-		else
-			let lines = 'line'
-		endif
-		let line = getline(v:foldstart)
-		let name = s:GetFunName(line)
-		let arguments = s:GetFunArgs(strpart(line, strlen(name)), v:foldstart)
-		let argcount = s:CountFunArgs(arguments)
-		let retval = '+' . v:folddashes . ' ' . name . '/' . argcount
-		let retval .= ' (' . foldlen . ' ' . lines . ')'
-		return retval
-	endfunction
-endif
+	return retval
+endfunction
 
 call s:SetErlangOptions()