diff --git a/runtime/autoload/ccomplete.vim b/runtime/autoload/ccomplete.vim
index 42e7240..6f5e0c0 100644
--- a/runtime/autoload/ccomplete.vim
+++ b/runtime/autoload/ccomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
 " Language:	C
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Mar 11
+" Last Change:	2006 Mar 19
 
 
 " This function is used for the 'omnifunc' option.
diff --git a/runtime/autoload/phpcomplete.vim b/runtime/autoload/phpcomplete.vim
index 2ba7a4d..4d448dc 100644
--- a/runtime/autoload/phpcomplete.vim
+++ b/runtime/autoload/phpcomplete.vim
@@ -1,23 +1,29 @@
 " Vim completion script
 " Language:	PHP
 " Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2006 Mar 9
+" Last Change:	2006 Mar ---
 "
-"
-"  - outside of <?php?> getting parent tag may cause problems. Heh, even in
-"    perfect conditions GetLastOpenTag doesn't cooperate... Inside of
-"    phpStrings this can be even a bonus but outside of <?php?> it is not the
-"    best situation
-" - Switching to HTML completion (SQL) inside of phpStrings
+"   TODO:
+"   - Class aware completion:
+"      a) additional analize of tags file(s)
+"      b) "live" parsing of data, maybe with caching
+"   - Switching to HTML (XML?) completion (SQL) inside of phpStrings
+"   - allow also for XML completion
+"   - better 'info', 'menu'
+"   - outside of <?php?> getting parent tag may cause problems. Heh, even in
+"     perfect conditions GetLastOpenTag doesn't cooperate... Inside of
+"     phpStrings this can be even a bonus but outside of <?php?> it is not the
+"     best situation
 
 function! phpcomplete#CompletePHP(findstart, base)
 	if a:findstart
 		unlet! b:php_menu
 		" Check if we are inside of PHP markup
 		let pos = getpos('.')
-		let phpbegin = searchpairpos('<?', '', '?>', 'bWn','synIDattr(synID(line("."), col("."), 0), "name") =~? "string\|comment"')
-		let phpend = searchpairpos('<?', '', '?>', 'Wn','synIDattr(synID(line("."), col("."), 0), "name") =~? "string\|comment"')
-		" TODO: deal with opened <? but without closing ?>
+		let phpbegin = searchpairpos('<?', '', '?>', 'bWn',
+				\ 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\|comment"')
+		let phpend   = searchpairpos('<?', '', '?>', 'Wn',
+				\ 'synIDattr(synID(line("."), col("."), 0), "name") =~? "string\|comment"')
 
 		if phpbegin == [0,0] && phpend == [0,0]
 			" We are outside of any PHP markup. Complete HTML
@@ -49,27 +55,34 @@
 		endif
 		" Initialize base return lists
 		let res = []
-		let res2 = []
 		" a:base is very short - we need context
 		if exists("b:compl_context")
 			let context = b:compl_context
 			unlet! b:compl_context
 		endif
 
-		let scontext = substitute(context, '\$\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*$', '', '')
+		if !exists('g:php_builtin_functions')
+			call phpcomplete#LoadData()
+		endif
 
-		if scontext =~ 'new\s*$'
+		let scontext = substitute(context, 
+				\ '\$\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*$', '', '')
+
+		if scontext =~ '\(=\s*new\|extends\)\s\+$'
 			" Complete class name
 			" Internal solution for finding classes in current file.
 			let file = getline(1, '$')
-			call filter(file, 'v:val =~ "class\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("')
+			call filter(file, 
+					\ 'v:val =~ "class\\s\\+[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("')
 			let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
 			let jfile = join(file, ' ')
 			let int_values = split(jfile, 'class\s\+')
 			let int_classes = {}
 			for i in int_values
 				let c_name = matchstr(i, '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*')
-				let int_classes[c_name] = ''
+				if c_name != ''
+					let int_classes[c_name] = ''
+				endif
 			endfor
 
 			" Prepare list of functions from tags file
@@ -79,11 +92,10 @@
 				exe 'silent! vimgrep /^'.a:base.'.*\tc\(\t\|$\)/j '.fnames
 				let qflist = getqflist()
 				for field in qflist
-					let item = matchstr(field['text'], '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*')
-					" Don't show name - in PHP classes usually are in their
-					" own files, showing names will only add clutter
-					" let fname = matchstr(field['text'], 
-					" \ '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s\+\zs\f\+\ze')
+					" [:space:] thing: we don't have to be so strict when
+					" dealing with tags files - entries there were already
+					" checked by ctags.
+					let item = matchstr(field['text'], '^[^[:space:]]\+')
 					let ext_classes[item] = ''
 				endfor
 			endif
@@ -93,16 +105,14 @@
 			for m in sort(keys(int_classes))
 				if m =~ '^'.a:base
 					call add(res, m)
-				elseif m =~ a:base
-					call add(res2, m)
 				endif
 			endfor
 
-			let int_list = res + res2
+			let int_list = res
 
 			let final_menu = []
 			for i in int_list
-				let final_menu += [{'word':i, 'menu':int_classes[i]}, 'kind':'c']
+				let final_menu += [{'word':i, 'kind':'c'}]
 			endfor
 
 			return final_menu
@@ -111,29 +121,28 @@
 			" Complete user functions and variables
 			" Internal solution for current file.
 			" That seems as unnecessary repeating of functions but there are
-			" few not so subtle differences as not appeding of $ and addition
+			" few not so subtle differences as not appending of $ and addition
 			" of 'kind' tag (not necessary in regular completion)
+			if a:base =~ '^\$'
+				let adddollar = '$'
+			else
+				let adddollar = ''
+			endif
 			let file = getline(1, '$')
 			let jfile = join(file, ' ')
-			let int_vals = split(jfile, '\$')
-			"call map(int_values, 'matchstr(v:val, "^[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*")')
-			let int_values = []
-			for i in int_vals
+			let sfile = split(jfile, '\$')
+			let int_vars = {}
+			for i in sfile
 				if i =~ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*=\s*new'
-					let val = matchstr(i, '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*').'->'
+					let val = matchstr(i, '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*').'->'
 				else
-					let val = matchstr(i, '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*')
+					let val = matchstr(i, '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*')
 				endif
-				let int_values += [val]
+				if val !~ ''
+					let int_vars[adddollar.val] = ''
+				endif
 			endfor
 			
-			let int_vars = {}
-			for i in int_values
-				if i != ''
-					let int_vars[i] = ''
-				endif
-			endfor
-
 			" ctags has good support for PHP, use tags file for external
 			" variables
 			let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
@@ -143,17 +152,15 @@
 				exe 'silent! vimgrep /^'.sbase.'.*\tv\(\t\|$\)/j '.fnames
 				let qflist = getqflist()
 				for field in qflist
-					" Add space to make more space between 'word' and 'menu'
-					let item = matchstr(field['text'], '^\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
-					" Filename is unnecessary - and even darkens situation
-					" let fname = ' '.matchstr(field['text'], '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s\+\zs\f\+\ze')
+					let item = matchstr(field['text'], '^[^[:space:]]\+')
 					" Add -> if it is possible object declaration
-					if field['text'] =~ item.'\s*=\s*new\s*'
+					let classname = ''
+					if field['text'] =~ item.'\s*=\s*new\s\+'
 						let item = item.'->'
 						let classname = matchstr(field['text'], 
-									\ '=\s*new\s*\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
+								\ '=\s*new\s\+\zs[a-zA-Z_0-9\x7f-\xff]\+\ze')
 					endif
-					let ext_vars[item] = classname
+					let ext_vars[adddollar.item] = classname
 				endfor
 			endif
 
@@ -162,14 +169,17 @@
 
 			" Internal solution for finding functions in current file.
 			let file = getline(1, '$')
-			call filter(file, 'v:val =~ "function\\s\\+&\\?[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("')
+			call filter(file, 
+					\ 'v:val =~ "function\\s\\+&\\?[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*\\s*("')
 			let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
 			let jfile = join(file, ' ')
 			let int_values = split(jfile, 'function\s\+')
 			let int_functions = {}
 			for i in int_values
-				let f_name = matchstr(i, '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
-				let f_args = matchstr(i, '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)')
+				let f_name = matchstr(i, 
+						\ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
+				let f_args = matchstr(i, 
+						\ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)\_s*{')
 				let int_functions[f_name.'('] = f_args
 			endfor
 
@@ -178,40 +188,43 @@
 			if fnames != ''
 				exe 'silent! vimgrep /^'.a:base.'.*\tf\(\t\|$\)/j '.fnames
 				let qflist = getqflist()
-				let ext_functions = {}
 				for field in qflist
 					" File name
-					let item = matchstr(field['text'], '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*')
-					let fname = matchstr(field['text'], '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s\+\zs\f\+\ze')
-					let prototype = matchstr(field['text'], 'function\s\+[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)')
-					if prototype == ''
-						let prototype = '()'
-					endif
-					let ext_functions[item.'('] = prototype.' - '.fname
+					let item = matchstr(field['text'], '^[^[:space:]]\+')
+					let fname = matchstr(field['text'], '\t\zs\f\+\ze')
+					let prototype = matchstr(field['text'], 
+							\ 'function\s\+&\?[^[:space:]]\+\s*(\s*\zs.\{-}\ze\s*)\s*{\?')
+					let ext_functions[item.'('] = prototype.') - '.fname
 				endfor
 			endif
 
 			let all_values = {}
 			call extend(all_values, int_functions)
 			call extend(all_values, ext_functions)
-			call extend(all_values, int_vars)
+			call extend(all_values, int_vars) " external variables are already in
+			call extend(all_values, g:php_builtin_object_functions)
 
 			for m in sort(keys(all_values))
-				if m =~ '^'.a:base
+				if m =~ '\(^\|::\)'.a:base
 					call add(res, m)
-				elseif m =~ a:base
-					call add(res2, m)
 				endif
 			endfor
 
-			let start_list = res + res2
+			let start_list = res
 
 			let final_list = []
 			for i in start_list
 				if has_key(int_vars, i)
-					let final_list += [{'word':i, 'menu':all_values[i], 'kind':'v'}]
+					let class = ' '
+					if all_values[i] != ''
+						let class = i.' class '
+					endif
+					let final_list += [{'word':i, 'info':class.all_values[i], 'kind':'v'}]
 				else
-					let final_list += [{'word':i, 'menu':all_values[i], 'kind':'f'}]
+					let final_list += 
+							\ [{'word':substitute(i, '.*::', '', ''), 
+							\   'info':i.all_values[i],
+							\   'kind':'f'}]
 				endif
 			endfor
 
@@ -220,80 +233,95 @@
 
 		if a:base =~ '^\$'
 			" Complete variables
-			let b:php_builtin_vars = ['$GLOBALS', '$_SERVER', '$_GET', '$_POST', '$_COOKIE', 
-				\ '$_FILES', '$_ENV', '$_REQUEST', '$_SESSION', '$HTTP_SERVER_VARS',
-				\ '$HTTP_ENV_VARS', '$HTTP_COOKIE_VARS', '$HTTP_GET_VARS', '$HTTP_POST_VARS',
-				\ '$HTTP_POST_FILES', '$HTTP_SESSION_VARS', '$php_errormsg', '$this',
-				\ ]
+			" Built-in variables {{{
+			let g:php_builtin_vars = {'$GLOBALS':'',
+									\ '$_SERVER':'',
+									\ '$_GET':'',
+									\ '$_POST':'',
+									\ '$_COOKIE':'',
+									\ '$_FILES':'',
+									\ '$_ENV':'',
+									\ '$_REQUEST':'',
+									\ '$_SESSION':'',
+									\ '$HTTP_SERVER_VARS':'',
+									\ '$HTTP_ENV_VARS':'',
+									\ '$HTTP_COOKIE_VARS':'',
+									\ '$HTTP_GET_VARS':'',
+									\ '$HTTP_POST_VARS':'',
+									\ '$HTTP_POST_FILES':'',
+									\ '$HTTP_SESSION_VARS':'',
+									\ '$php_errormsg':'',
+									\ '$this':''
+									\ }
+			" }}}
 
 			" Internal solution for current file.
 			let file = getline(1, '$')
 			let jfile = join(file, ' ')
 			let int_vals = split(jfile, '\ze\$')
-			" call map(int_values, 'matchstr(v:val, "^\\$[a-zA-Z_\\x7f-\\xff][a-zA-Z_0-9\\x7f-\\xff]*")')
-			let int_values = []
+			let int_vars = {}
 			for i in int_vals
 				if i =~ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*=\s*new'
-					let val = matchstr(i, '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*').'->'
+					let val = matchstr(i, 
+							\ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*').'->'
 				else
-					let val = matchstr(i, '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*')
+					let val = matchstr(i, 
+							\ '^\$[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*')
 				endif
-				let int_values += [val]
+				if val != ''
+					let int_vars[val] = ''
+				endif
 			endfor
 
-
-			"call map(int_values, '"$".v:val')
-			"
-			let int_values += b:php_builtin_vars
-
+			call extend(int_vars,g:php_builtin_vars)
 			
-			for m in sort(int_values)
-				if m =~ '^'.a:base
-					call add(res, m)
-				elseif m =~ a:base
-					call add(res2, m)
-				endif
-			endfor
-
-			let int_list = res + res2
-
-			let int_dict = []
-			for i in int_list
-				let int_dict += [{'word':i, 'kind':'v'}]
-			endfor
-
 			" ctags has good support for PHP, use tags file for external
 			" variables
 			let fnames = join(map(tagfiles(), 'escape(v:val, " \\")'))
+			let ext_vars = {}
 			if fnames != ''
 				let sbase = substitute(a:base, '^\$', '', '')
 				exe 'silent! vimgrep /^'.sbase.'.*\tv\(\t\|$\)/j '.fnames
 				let qflist = getqflist()
-				let ext_dict = []
 				for field in qflist
-					" Filename is unnecessary - and even darkens situation
-					" let m_menu = matchstr(field['text'], 
-					" \ '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s\+\zs\f\+\ze')
+					let item = '$'.matchstr(field['text'], '^[^[:space:]]\+')
 					let m_menu = ''
-					let item = '$'.matchstr(field['text'], 
-								\ '^\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
 					" Add -> if it is possible object declaration
-					if field['text'] =~ item.'\s*=\s*new\s*'
+					" How to detect if previous line is help line?
+					if field['text'] =~ item.'\s*=\s*new\s\+'
 						let item = item.'->'
-						let classname = matchstr(field['text'], 
-									\ '=\s*new\s*\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
-						let m_menu = classname
+						let m_menu = matchstr(field['text'], 
+								\ '=\s*new\s\+\zs[a-zA-Z_0-9\x7f-\xff]\+\ze')
 					endif
-					
-					let ext_dict += [{'word':item, 'menu':m_menu, 'kind':'v'}]
+					let ext_vars[item] = m_menu
 				endfor
-			else
-				let ext_dict = []
 			endif
 
-			let b:php_menu = int_dict + ext_dict
+			call extend(int_vars, ext_vars)
+			let g:a0 = keys(int_vars)
 
-			return b:php_menu
+			for m in sort(keys(int_vars))
+				if m =~ '^\'.a:base
+					call add(res, m)
+				endif
+			endfor
+
+			let int_list = res
+
+			let int_dict = []
+			for i in int_list
+				if int_vars[i] != ''
+					let class = ' '
+					if int_vars[i] != ''
+						let class = i.' class '
+					endif
+					let int_dict += [{'word':i, 'info':class.int_vars[i], 'kind':'v'}]
+				else
+					let int_dict += [{'word':i, 'kind':'v'}]
+				endif
+			endfor
+
+			return int_dict
 
 		else
 			" Complete everything else - 
@@ -302,10 +330,7 @@
 			"  + defines (constant definitions), DONE
 			"  + extend keywords for predefined constants, DONE
 			"  + classes (after new), DONE
-			"  - limit choice after -> and :: to funcs and vars
-			if !exists('b:php_builtin_functions')
-				call phpcomplete#LoadData()
-			endif
+			"  + limit choice after -> and :: to funcs and vars DONE
 
 			" Internal solution for finding functions in current file.
 			let file = getline(1, '$')
@@ -315,9 +340,11 @@
 			let int_values = split(jfile, 'function\s\+')
 			let int_functions = {}
 			for i in int_values
-				let f_name = matchstr(i, '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
-				let f_args = matchstr(i, '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)')
-				let int_functions[f_name.'('] = f_args
+				let f_name = matchstr(i, 
+						\ '^&\?\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze')
+				let f_args = matchstr(i, 
+						\ '^&\?[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\s*\zs.\{-}\ze\s*)\_s*{')
+				let int_functions[f_name.'('] = f_args.')'
 			endfor
 
 			" Prepare list of functions from tags file
@@ -327,19 +354,17 @@
 				let qflist = getqflist()
 				for field in qflist
 					" File name
-					let item = matchstr(field['text'], '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*')
-					let fname = matchstr(field['text'], '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s\+\zs\f\+\ze')
-					let prototype = matchstr(field['text'], 'function\s\+[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s*(\zs.\{-}\ze)')
-					if prototype == ''
-						let prototype = '()'
-					endif
-					let ext_functions[item.'('] = prototype.' - '.fname
+					let item = matchstr(field['text'], '^[^[:space:]]\+')
+					let fname = matchstr(field['text'], '\t\zs\f\+\ze')
+					let prototype = matchstr(field['text'], 
+							\ 'function\s\+&\?[^[:space:]]\+\s*(\s*\zs.\{-}\ze\s*)\s*{\?')
+					let ext_functions[item.'('] = prototype.') - '.fname
 				endfor
 			endif
 
 			" All functions
 			call extend(int_functions, ext_functions)
-			call extend(int_functions, b:php_builtin_functions)
+			call extend(int_functions, g:php_builtin_functions)
 
 			" Internal solution for finding constants in current file
 			let file = getline(1, '$')
@@ -351,7 +376,9 @@
 				let c_name = matchstr(i, '\(["'']\)\zs[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\ze\1')
 				" let c_value = matchstr(i, 
 				" \ '\(["'']\)[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\1\s*,\s*\zs.\{-}\ze\s*)')
-				let int_constants[c_name] = '' " c_value
+				if c_name != ''
+					let int_constants[c_name] = '' " c_value
+				endif
 			endfor
 
 			" Prepare list of constants from tags file
@@ -360,17 +387,8 @@
 			if fnames != ''
 				exe 'silent! vimgrep /^'.a:base.'.*\td\(\t\|$\)/j '.fnames
 				let qflist = getqflist()
-				let ext_constants = {}
 				for field in qflist
-					" File name
-					let item = matchstr(field['text'], '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*')
-					" Origin of definition and value only are only darkening
-					" image - drop it but leave regexps. They may be needed in
-					" future.
-					" let fname = matchstr(field['text'], 
-					" \ '^[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\s\+\zs\f\+\ze')
-					" let cvalue = matchstr(field['text'], 
-					" \ 'define\s*(\s*\(["'']\)[a-zA-Z_\x7f-\xff][a-zA-Z_0-9\x7f-\xff]*\1\s*,\s*\zs.\{-}\ze\s*)')
+					let item = matchstr(field['text'], '^[^[:space:]]\+')
 					let ext_constants[item] = ''
 				endfor
 			endif
@@ -378,7 +396,6 @@
 			" All constants
 			call extend(int_constants, ext_constants)
 			" Treat keywords as constants
-			call extend(int_constants, b:php_keywords)
 
 			let all_values = {}
 
@@ -387,23 +404,26 @@
 
 			" Add constants
 			call extend(all_values, int_constants)
+			" Add keywords
+			call extend(all_values, b:php_keywords)
 
 			for m in sort(keys(all_values))
 				if m =~ '^'.a:base
 					call add(res, m)
-				elseif m =~ a:base
-					call add(res2, m)
 				endif
 			endfor
 
-			let int_list = res + res2
+			let int_list = res
 
 			let final_list = []
 			for i in int_list
 				if has_key(int_functions, i)
-					let final_list += [{'word':i, 'menu':int_functions[i], 'kind':'f'}]
+					let final_list += 
+							\ [{'word':i, 
+							\   'info':i.int_functions[i],
+							\   'kind':'f'}]
 				elseif has_key(int_constants, i)
-					let final_list += [{'word':i, 'menu':int_constants[i], 'kind':'d'}]
+					let final_list += [{'word':i, 'kind':'d'}]
 				else
 					let final_list += [{'word':i}]
 				endif
@@ -757,7 +777,7 @@
 "    c) :%s/^\([^[:space:]]\+\) \([^[:space:]]\+\) ( \(.*\))/\\ '\2(': '\3| \1',
 "       This will create Dictionary
 "    d) remove all /^[^\\] lines
-let b:php_builtin_functions = {
+let g:php_builtin_functions = {
 \ 'abs(': 'mixed number | number',
 \ 'acosh(': 'float arg | float',
 \ 'acos(': 'float arg | float',
@@ -821,26 +841,12 @@
 \ 'array_intersect_key(': 'array array1, array array2 [, array ...] | array',
 \ 'array_intersect_uassoc(': 'array array1, array array2 [, array ..., callback key_compare_func] | array',
 \ 'array_intersect_ukey(': 'array array1, array array2 [, array ..., callback key_compare_func] | array',
-\ 'ArrayIterator::current(': 'void  | mixed',
-\ 'ArrayIterator::key(': 'void  | mixed',
-\ 'ArrayIterator::next(': 'void  | void',
-\ 'ArrayIterator::rewind(': 'void  | void',
-\ 'ArrayIterator::seek(': 'int position | void',
-\ 'ArrayIterator::valid(': 'void  | bool',
 \ 'array_key_exists(': 'mixed key, array search | bool',
 \ 'array_keys(': 'array input [, mixed search_value [, bool strict]] | array',
 \ 'array_map(': 'callback callback, array arr1 [, array ...] | array',
 \ 'array_merge(': 'array array1 [, array array2 [, array ...]] | array',
 \ 'array_merge_recursive(': 'array array1 [, array ...] | array',
 \ 'array_multisort(': 'array ar1 [, mixed arg [, mixed ... [, array ...]]] | bool',
-\ 'ArrayObject::append(': 'mixed newval | void',
-\ 'ArrayObject::__construct(': 'mixed input | ArrayObject',
-\ 'ArrayObject::count(': 'void  | int',
-\ 'ArrayObject::getIterator(': 'void  | ArrayIterator',
-\ 'ArrayObject::offsetExists(': 'mixed index | bool',
-\ 'ArrayObject::offsetGet(': 'mixed index | bool',
-\ 'ArrayObject::offsetSet(': 'mixed index, mixed newval | void',
-\ 'ArrayObject::offsetUnset(': 'mixed index | void',
 \ 'array_pad(': 'array input, int pad_size, mixed pad_value | array',
 \ 'array_pop(': 'array &#38;array | mixed',
 \ 'array_product(': 'array array | number',
@@ -918,13 +924,6 @@
 \ 'bzopen(': 'string filename, string mode | resource',
 \ 'bzread(': 'resource bz [, int length] | string',
 \ 'bzwrite(': 'resource bz, string data [, int length] | int',
-\ 'CachingIterator::hasNext(': 'void  | bool',
-\ 'CachingIterator::next(': 'void  | void',
-\ 'CachingIterator::rewind(': 'void  | void',
-\ 'CachingIterator::__toString(': 'void  | string',
-\ 'CachingIterator::valid(': 'void  | bool',
-\ 'CachingRecursiveIterator::getChildren(': 'void  | CachingRecursiveIterator',
-\ 'CachingRecursiveIterator::hasChildren(': 'void  | bolean',
 \ 'cal_days_in_month(': 'int calendar, int month, int year | int',
 \ 'cal_from_jd(': 'int jd, int calendar | array',
 \ 'cal_info(': '[int calendar] | array',
@@ -1286,32 +1285,6 @@
 \ 'dio_tcsetattr(': 'resource fd, array options | bool',
 \ 'dio_truncate(': 'resource fd, int offset | bool',
 \ 'dio_write(': 'resource fd, string data [, int len] | int',
-\ 'DirectoryIterator::__construct(': 'string path | DirectoryIterator',
-\ 'DirectoryIterator::current(': 'void  | DirectoryIterator',
-\ 'DirectoryIterator::getATime(': 'void  | int',
-\ 'DirectoryIterator::getChildren(': 'void  | RecursiveDirectoryIterator',
-\ 'DirectoryIterator::getCTime(': 'void  | int',
-\ 'DirectoryIterator::getFilename(': 'void  | string',
-\ 'DirectoryIterator::getGroup(': 'void  | int',
-\ 'DirectoryIterator::getInode(': 'void  | int',
-\ 'DirectoryIterator::getMTime(': 'void  | int',
-\ 'DirectoryIterator::getOwner(': 'void  | int',
-\ 'DirectoryIterator::getPath(': 'void  | string',
-\ 'DirectoryIterator::getPathname(': 'void  | string',
-\ 'DirectoryIterator::getPerms(': 'void  | int',
-\ 'DirectoryIterator::getSize(': 'void  | int',
-\ 'DirectoryIterator::getType(': 'void  | string',
-\ 'DirectoryIterator::isDir(': 'void  | bool',
-\ 'DirectoryIterator::isDot(': 'void  | bool',
-\ 'DirectoryIterator::isExecutable(': 'void  | bool',
-\ 'DirectoryIterator::isFile(': 'void  | bool',
-\ 'DirectoryIterator::isLink(': 'void  | bool',
-\ 'DirectoryIterator::isReadable(': 'void  | bool',
-\ 'DirectoryIterator::isWritable(': 'void  | bool',
-\ 'DirectoryIterator::key(': 'void  | string',
-\ 'DirectoryIterator::next(': 'void  | void',
-\ 'DirectoryIterator::rewind(': 'void  | void',
-\ 'DirectoryIterator::valid(': 'void  | string',
 \ 'dirname(': 'string path | string',
 \ 'disk_free_space(': 'string directory | float',
 \ 'disk_total_space(': 'string directory | float',
@@ -1534,12 +1507,6 @@
 \ 'file_put_contents(': 'string filename, mixed data [, int flags [, resource context]] | int',
 \ 'filesize(': 'string filename | int',
 \ 'filetype(': 'string filename | string',
-\ 'FilterIterator::current(': 'void  | mixed',
-\ 'FilterIterator::getInnerIterator(': 'void  | Iterator',
-\ 'FilterIterator::key(': 'void  | mixed',
-\ 'FilterIterator::next(': 'void  | void',
-\ 'FilterIterator::rewind(': 'void  | void',
-\ 'FilterIterator::valid(': 'void  | bool',
 \ 'floatval(': 'mixed var | float',
 \ 'flock(': 'resource handle, int operation [, int &#38;wouldblock] | bool',
 \ 'floor(': 'float value | float',
@@ -2331,11 +2298,6 @@
 \ 'libxml_get_last_error(': 'void  | LibXMLError',
 \ 'libxml_set_streams_context(': 'resource streams_context | void',
 \ 'libxml_use_internal_errors(': '[bool use_errors] | bool',
-\ 'LimitIterator::getPosition(': 'void  | int',
-\ 'LimitIterator::next(': 'void  | void',
-\ 'LimitIterator::rewind(': 'void  | void',
-\ 'LimitIterator::seek(': 'int position | void',
-\ 'LimitIterator::valid(': 'void  | bool',
 \ 'link(': 'string target, string link | bool',
 \ 'linkinfo(': 'string path | int',
 \ 'list(': 'mixed varname, mixed ... | void',
@@ -2521,23 +2483,7 @@
 \ 'm_deletetrans(': 'resource conn, int identifier | bool',
 \ 'm_destroyconn(': 'resource conn | bool',
 \ 'm_destroyengine(': 'void  | void',
-\ 'Memcache::add(': 'string key, mixed var [, int flag [, int expire]] | bool',
-\ 'Memcache::addServer(': 'string host [, int port [, bool persistent [, int weight [, int timeout [, int retry_interval]]]]] | bool',
-\ 'Memcache::close(': 'void  | bool',
-\ 'Memcache::connect(': 'string host [, int port [, int timeout]] | bool',
 \ 'memcache_debug(': 'bool on_off | bool',
-\ 'Memcache::decrement(': 'string key [, int value] | int',
-\ 'Memcache::delete(': 'string key [, int timeout] | bool',
-\ 'Memcache::flush(': 'void  | bool',
-\ 'Memcache::getExtendedStats(': 'void  | array',
-\ 'Memcache::get(': 'string key | string',
-\ 'Memcache::getStats(': 'void  | array',
-\ 'Memcache::getVersion(': 'void  | string',
-\ 'Memcache::increment(': 'string key [, int value] | int',
-\ 'Memcache::pconnect(': 'string host [, int port [, int timeout]] | bool',
-\ 'Memcache::replace(': 'string key, mixed var [, int flag [, int expire]] | bool',
-\ 'Memcache::setCompressThreshold(': 'int threshold [, float min_savings] | bool',
-\ 'Memcache::set(': 'string key, mixed var [, int flag [, int expire]] | bool',
 \ 'memory_get_usage(': 'void  | int',
 \ 'metaphone(': 'string str [, int phones] | string',
 \ 'method_exists(': 'object object, string method_name | bool',
@@ -3263,10 +3209,6 @@
 \ 'ovrimos_result(': 'int result_id, mixed field | string',
 \ 'ovrimos_rollback(': 'int connection_id | bool',
 \ 'pack(': 'string format [, mixed args [, mixed ...]] | string',
-\ 'ParentIterator::getChildren(': 'void  | ParentIterator',
-\ 'ParentIterator::hasChildren(': 'void  | bool',
-\ 'ParentIterator::next(': 'void  | void',
-\ 'ParentIterator::rewind(': 'void  | void',
 \ 'parse_ini_file(': 'string filename [, bool process_sections] | array',
 \ 'parsekit_compile_file(': 'string filename [, array &#38;errors [, int options]] | array',
 \ 'parsekit_compile_string(': 'string phpcode [, array &#38;errors [, int options]] | array',
@@ -3428,40 +3370,6 @@
 \ 'pdf_utf16_to_utf8(': 'resource pdfdoc, string utf16string | string',
 \ 'pdf_utf8_to_utf16(': 'resource pdfdoc, string utf8string, string ordering | string',
 \ 'pdf_xshow(': 'resource pdfdoc, string text | bool',
-\ 'PDO::beginTransaction(': 'void  | bool',
-\ 'PDO::commit(': 'void  | bool',
-\ 'PDO::__construct(': 'string dsn [, string username [, string password [, array driver_options]]] | PDO',
-\ 'PDO::errorCode(': 'void  | string',
-\ 'PDO::errorInfo(': 'void  | array',
-\ 'PDO::exec(': 'string statement | int',
-\ 'PDO::getAttribute(': 'int attribute | mixed',
-\ 'PDO::getAvailableDrivers(': 'void  | array',
-\ 'PDO::lastInsertId(': '[string name] | string',
-\ 'PDO::prepare(': 'string statement [, array driver_options] | PDOStatement',
-\ 'PDO::query(': 'string statement | PDOStatement',
-\ 'PDO::quote(': 'string string [, int parameter_type] | string',
-\ 'PDO::rollBack(': 'void  | bool',
-\ 'PDO::setAttribute(': 'int attribute, mixed value | bool',
-\ 'PDO::sqliteCreateAggregate(': 'string function_name, callback step_func, callback finalize_func [, int num_args] | bool',
-\ 'PDO::sqliteCreateFunction(': 'string function_name, callback callback [, int num_args] | bool',
-\ 'PDOStatement::bindColumn(': 'mixed column, mixed &#38;param [, int type] | bool',
-\ 'PDOStatement::bindParam(': 'mixed parameter, mixed &#38;variable [, int data_type [, int length [, mixed driver_options]]] | bool',
-\ 'PDOStatement::bindValue(': 'mixed parameter, mixed value [, int data_type] | bool',
-\ 'PDOStatement::closeCursor(': 'void  | bool',
-\ 'PDOStatement::columnCount(': 'void  | int',
-\ 'PDOStatement::errorCode(': 'void  | string',
-\ 'PDOStatement::errorInfo(': 'void  | array',
-\ 'PDOStatement::execute(': '[array input_parameters] | bool',
-\ 'PDOStatement::fetchAll(': '[int fetch_style [, int column_index]] | array',
-\ 'PDOStatement::fetchColumn(': '[int column_number] | string',
-\ 'PDOStatement::fetch(': '[int fetch_style [, int cursor_orientation [, int cursor_offset]]] | mixed',
-\ 'PDOStatement::fetchObject(': '[string class_name [, array ctor_args]] | mixed',
-\ 'PDOStatement::getAttribute(': 'int attribute | mixed',
-\ 'PDOStatement::getColumnMeta(': 'int column | mixed',
-\ 'PDOStatement::nextRowset(': 'void  | bool',
-\ 'PDOStatement::rowCount(': 'void  | int',
-\ 'PDOStatement::setAttribute(': 'int attribute, mixed value | bool',
-\ 'PDOStatement::setFetchMode(': 'int mode | bool',
 \ 'pfpro_cleanup(': 'void  | bool',
 \ 'pfpro_init(': 'void  | bool',
 \ 'pfpro_process(': 'array parameters [, string address [, int port [, int timeout [, string proxy_address [, int proxy_port [, string proxy_logon [, string proxy_password]]]]]]] | array',
@@ -3796,16 +3704,6 @@
 \ 'range(': 'mixed low, mixed high [, number step] | array',
 \ 'rar_close(': 'resource rar_file | bool',
 \ 'rar_entry_get(': 'resource rar_file, string entry_name | RarEntry',
-\ 'Rar::extract(': 'string dir [, string filepath] | bool',
-\ 'Rar::getAttr(': 'void  | int',
-\ 'Rar::getCrc(': 'void  | int',
-\ 'Rar::getFileTime(': 'void  | string',
-\ 'Rar::getHostOs(': 'void  | int',
-\ 'Rar::getMethod(': 'void  | int',
-\ 'Rar::getName(': 'void  | string',
-\ 'Rar::getPackedSize(': 'void  | int',
-\ 'Rar::getUnpackedSize(': 'void  | int',
-\ 'Rar::getVersion(': 'void  | int',
 \ 'rar_list(': 'resource rar_file | array',
 \ 'rar_open(': 'string filename [, string password] | resource',
 \ 'rawurldecode(': 'string str | string',
@@ -3830,18 +3728,6 @@
 \ 'realpath(': 'string path | string',
 \ 'recode_file(': 'string request, resource input, resource output | bool',
 \ 'recode_string(': 'string request, string string | string',
-\ 'RecursiveDirectoryIterator::getChildren(': 'void  | object',
-\ 'RecursiveDirectoryIterator::hasChildren(': '[bool allow_links] | bool',
-\ 'RecursiveDirectoryIterator::key(': 'void  | string',
-\ 'RecursiveDirectoryIterator::next(': 'void  | void',
-\ 'RecursiveDirectoryIterator::rewind(': 'void  | void',
-\ 'RecursiveIteratorIterator::current(': 'void  | mixed',
-\ 'RecursiveIteratorIterator::getDepth(': 'void  | int',
-\ 'RecursiveIteratorIterator::getSubIterator(': 'void  | RecursiveIterator',
-\ 'RecursiveIteratorIterator::key(': 'void  | mixed',
-\ 'RecursiveIteratorIterator::next(': 'void  | void',
-\ 'RecursiveIteratorIterator::rewind(': 'void  | void',
-\ 'RecursiveIteratorIterator::valid(': 'void  | bolean',
 \ 'register_shutdown_function(': 'callback function [, mixed parameter [, mixed ...]] | void',
 \ 'register_tick_function(': 'callback function [, mixed arg [, mixed ...]] | bool',
 \ 'rename_function(': 'string original_name, string new_name | bool',
@@ -3889,74 +3775,6 @@
 \ 'satellite_load_idl(': 'string file | bool',
 \ 'satellite_object_to_string(': 'object obj | string',
 \ 'scandir(': 'string directory [, int sorting_order [, resource context]] | array',
-\ 'SDO_DAS_ChangeSummary::beginLogging(': 'void  | void',
-\ 'SDO_DAS_ChangeSummary::endLogging(': 'void  | void',
-\ 'SDO_DAS_ChangeSummary::getChangedDataObjects(': 'void  | SDO_List',
-\ 'SDO_DAS_ChangeSummary::getChangeType(': 'SDO_DataObject dataObject | int',
-\ 'SDO_DAS_ChangeSummary::getOldContainer(': 'SDO_DataObject data_object | SDO_DataObject',
-\ 'SDO_DAS_ChangeSummary::getOldValues(': 'SDO_DataObject data_object | SDO_List',
-\ 'SDO_DAS_ChangeSummary::isLogging(': 'void  | bool',
-\ 'SDO_DAS_DataFactory::addPropertyToType(': 'string parent_type_namespace_uri, string parent_type_name, string property_name, string type_namespace_uri, string type_name [, array options] | void',
-\ 'SDO_DAS_DataFactory::addType(': 'string type_namespace_uri, string type_name [, array options] | void',
-\ 'SDO_DAS_DataFactory::getDataFactory(': 'void  | SDO_DAS_DataFactory',
-\ 'SDO_DAS_DataObject::getChangeSummary(': 'void  | SDO_DAS_ChangeSummary',
-\ 'SDO_DAS_Relational::applyChanges(': 'PDO database_handle, SDODataObject root_data_object | void',
-\ 'SDO_DAS_Relational::__construct(': 'array database_metadata [, string application_root_type [, array SDO_containment_references_metadata]] | SDO_DAS_Relational',
-\ 'SDO_DAS_Relational::createRootDataObject(': 'void  | SDODataObject',
-\ 'SDO_DAS_Relational::executePreparedQuery(': 'PDO database_handle, PDOStatement prepared_statement, array value_list [, array column_specifier] | SDODataObject',
-\ 'SDO_DAS_Relational::executeQuery(': 'PDO database_handle, string SQL_statement [, array column_specifier] | SDODataObject',
-\ 'SDO_DAS_Setting::getListIndex(': 'void  | int',
-\ 'SDO_DAS_Setting::getPropertyIndex(': 'void  | int',
-\ 'SDO_DAS_Setting::getPropertyName(': 'void  | string',
-\ 'SDO_DAS_Setting::getValue(': 'void  | mixed',
-\ 'SDO_DAS_Setting::isSet(': 'void  | bool',
-\ 'SDO_DAS_XML::addTypes(': 'string xsd_file | void',
-\ 'SDO_DAS_XML::createDataObject(': 'string namespace_uri, string type_name | SDO_DataObject',
-\ 'SDO_DAS_XML::createDocument(': '[string document_element_name] | SDO_DAS_XML_Document',
-\ 'SDO_DAS_XML::create(': '[string xsd_file] | SDO_DAS_XML',
-\ 'SDO_DAS_XML_Document::getRootDataObject(': 'void  | SDO_DataObject',
-\ 'SDO_DAS_XML_Document::getRootElementName(': 'void  | string',
-\ 'SDO_DAS_XML_Document::getRootElementURI(': 'void  | string',
-\ 'SDO_DAS_XML_Document::setEncoding(': 'string encoding | void',
-\ 'SDO_DAS_XML_Document::setXMLDeclaration(': 'bool xmlDeclatation | void',
-\ 'SDO_DAS_XML_Document::setXMLVersion(': 'string xmlVersion | void',
-\ 'SDO_DAS_XML::loadFile(': 'string xml_file | SDO_XMLDocument',
-\ 'SDO_DAS_XML::loadString(': 'string xml_string | SDO_DAS_XML_Document',
-\ 'SDO_DAS_XML::saveFile(': 'SDO_XMLDocument xdoc, string xml_file [, int indent] | void',
-\ 'SDO_DAS_XML::saveString(': 'SDO_XMLDocument xdoc [, int indent] | string',
-\ 'SDO_DataFactory::create(': 'string type_namespace_uri, string type_name | void',
-\ 'SDO_DataObject::clear(': 'void  | void',
-\ 'SDO_DataObject::createDataObject(': 'mixed identifier | SDO_DataObject',
-\ 'SDO_DataObject::getContainer(': 'void  | SDO_DataObject',
-\ 'SDO_DataObject::getSequence(': 'void  | SDO_Sequence',
-\ 'SDO_DataObject::getTypeName(': 'void  | string',
-\ 'SDO_DataObject::getTypeNamespaceURI(': 'void  | string',
-\ 'SDO_Exception::getCause(': 'void  | mixed',
-\ 'SDO_List::insert(': 'mixed value [, int index] | void',
-\ 'SDO_Model_Property::getContainingType(': 'void  | SDO_Model_Type',
-\ 'SDO_Model_Property::getDefault(': 'void  | mixed',
-\ 'SDO_Model_Property::getName(': 'void  | string',
-\ 'SDO_Model_Property::getType(': 'void  | SDO_Model_Type',
-\ 'SDO_Model_Property::isContainment(': 'void  | bool',
-\ 'SDO_Model_Property::isMany(': 'void  | bool',
-\ 'SDO_Model_ReflectionDataObject::__construct(': 'SDO_DataObject data_object | SDO_Model_ReflectionDataObject',
-\ 'SDO_Model_ReflectionDataObject::export(': 'SDO_Model_ReflectionDataObject rdo [, bool return] | mixed',
-\ 'SDO_Model_ReflectionDataObject::getContainmentProperty(': 'void  | SDO_Model_Property',
-\ 'SDO_Model_ReflectionDataObject::getInstanceProperties(': 'void  | array',
-\ 'SDO_Model_ReflectionDataObject::getType(': 'void  | SDO_Model_Type',
-\ 'SDO_Model_Type::getBaseType(': 'void  | SDO_Model_Type',
-\ 'SDO_Model_Type::getName(': 'void  | string',
-\ 'SDO_Model_Type::getNamespaceURI(': 'void  | string',
-\ 'SDO_Model_Type::getProperties(': 'void  | array',
-\ 'SDO_Model_Type::getProperty(': 'mixed identifier | SDO_Model_Property',
-\ 'SDO_Model_Type::isAbstractType(': 'void  | bool',
-\ 'SDO_Model_Type::isDataType(': 'void  | bool',
-\ 'SDO_Model_Type::isInstance(': 'SDO_DataObject data_object | bool',
-\ 'SDO_Model_Type::isOpenType(': 'void  | bool',
-\ 'SDO_Model_Type::isSequencedType(': 'void  | bool',
-\ 'SDO_Sequence::getProperty(': 'int sequence_index | SDO_Model_Property',
-\ 'SDO_Sequence::insert(': 'mixed value [, int sequenceIndex [, mixed propertyIdentifier]] | void',
-\ 'SDO_Sequence::move(': 'int toIndex, int fromIndex | void',
 \ 'sem_acquire(': 'resource sem_identifier | bool',
 \ 'sem_get(': 'int key [, int max_acquire [, int perm [, int auto_release]]] | resource',
 \ 'sem_release(': 'resource sem_identifier | bool',
@@ -4036,13 +3854,6 @@
 \ 'simplexml_element-&#62;children(': '[string nsprefix] | SimpleXMLElement',
 \ 'SimpleXMLElement-&#62;xpath(': 'string path | array',
 \ 'simplexml_import_dom(': 'DOMNode node [, string class_name] | SimpleXMLElement',
-\ 'SimpleXMLIterator::current(': 'void  | mixed',
-\ 'SimpleXMLIterator::getChildren(': 'void  | object',
-\ 'SimpleXMLIterator::hasChildren(': 'void  | bool',
-\ 'SimpleXMLIterator::key(': 'void  | mixed',
-\ 'SimpleXMLIterator::next(': 'void  | void',
-\ 'SimpleXMLIterator::rewind(': 'void  | void',
-\ 'SimpleXMLIterator::valid(': 'void  | bool',
 \ 'simplexml_load_file(': 'string filename [, string class_name [, int options]] | object',
 \ 'simplexml_load_string(': 'string data [, string class_name [, int options]] | object',
 \ 'sinh(': 'float arg | float',
@@ -4325,13 +4136,11 @@
 \ 'swfbitmap-&#62;getwidth(': 'void  | float',
 \ 'swfbitmap(': 'mixed file [, mixed alphafile] | SWFBitmap',
 \ 'swfbutton-&#62;addaction(': 'resource action, int flags | void',
-\ 'SWFButton::addASound(': 'SWFSound sound, int flags | SWFSoundInstance',
 \ 'swfbutton-&#62;addshape(': 'resource shape, int flags | void',
 \ 'swfbutton(': 'void  | SWFButton',
 \ 'swfbutton-&#62;setaction(': 'resource action | void',
 \ 'swfbutton-&#62;setdown(': 'resource shape | void',
 \ 'swfbutton-&#62;sethit(': 'resource shape | void',
-\ 'SWFButton::setMenu(': 'int flag | void',
 \ 'swfbutton-&#62;setover(': 'resource shape | void',
 \ 'swfbutton-&#62;setup(': 'resource shape | void',
 \ 'swf_closefile(': '[int return_file] | void',
@@ -4341,16 +4150,7 @@
 \ 'swf_definepoly(': 'int objid, array coords, int npoints, float width | void',
 \ 'swf_definerect(': 'int objid, float x1, float y1, float x2, float y2, float width | void',
 \ 'swf_definetext(': 'int objid, string str, int docenter | void',
-\ 'SWFDisplayItem::addAction(': 'SWFAction action, int flags | void',
 \ 'swfdisplayitem-&#62;addcolor(': 'int red, int green, int blue [, int a] | void',
-\ 'SWFDisplayItem::endMask(': 'void  | void',
-\ 'SWFDisplayItem::getRot(': 'void  | float',
-\ 'SWFDisplayItem::getX(': 'void  | float',
-\ 'SWFDisplayItem::getXScale(': 'void  | float',
-\ 'SWFDisplayItem::getXSkew(': 'void  | float',
-\ 'SWFDisplayItem::getY(': 'void  | float',
-\ 'SWFDisplayItem::getYScale(': 'void  | float',
-\ 'SWFDisplayItem::getYSkew(': 'void  | float',
 \ 'swfdisplayitem-&#62;move(': 'int dx, int dy | void',
 \ 'swfdisplayitem-&#62;moveto(': 'int x, int y | void',
 \ 'swfdisplayitem-&#62;multcolor(': 'int red, int green, int blue [, int a] | void',
@@ -4360,8 +4160,6 @@
 \ 'swfdisplayitem-&#62;scale(': 'int dx, int dy | void',
 \ 'swfdisplayitem-&#62;scaleto(': 'int x [, int y] | void',
 \ 'swfdisplayitem-&#62;setdepth(': 'float depth | void',
-\ 'SWFDisplayItem::setMaskLevel(': 'int level | void',
-\ 'SWFDisplayItem::setMatrix(': 'float a, float b, float c, float d, float x, float y | void',
 \ 'swfdisplayitem-&#62;setname(': 'string name | void',
 \ 'swfdisplayitem-&#62;setratio(': 'float ratio | void',
 \ 'swfdisplayitem-&#62;skewx(': 'float ddegrees | void',
@@ -4378,13 +4176,6 @@
 \ 'swffill-&#62;scaleto(': 'int x [, int y] | void',
 \ 'swffill-&#62;skewxto(': 'float x | void',
 \ 'swffill-&#62;skewyto(': 'float y | void',
-\ 'SWFFontChar::addChars(': 'string char | void',
-\ 'SWFFontChar::addUTF8Chars(': 'string char | void',
-\ 'SWFFont::getAscent(': 'void  | float',
-\ 'SWFFont::getDescent(': 'void  | float',
-\ 'SWFFont::getLeading(': 'void  | float',
-\ 'SWFFont::getShape(': 'int code | string',
-\ 'SWFFont::getUTF8Width(': 'string string | float',
 \ 'swffont-&#62;getwidth(': 'string string | float',
 \ 'swffont(': 'string filename | SWFFont',
 \ 'swf_fontsize(': 'float size | void',
@@ -4401,26 +4192,17 @@
 \ 'swfmorph-&#62;getshape1(': 'void  | mixed',
 \ 'swfmorph-&#62;getshape2(': 'void  | mixed',
 \ 'swfmorph(': 'void  | SWFMorph',
-\ 'SWFMovie::addExport(': 'SWFCharacter char, string name | void',
-\ 'SWFMovie::addFont(': 'SWFFont font | SWFFontChar',
 \ 'swfmovie-&#62;add(': 'resource instance | void',
 \ 'swfmovie(': 'void  | SWFMovie',
-\ 'SWFMovie::importChar(': 'string libswf, string name | SWFSprite',
-\ 'SWFMovie::importFont(': 'string libswf, string name | SWFFontChar',
-\ 'SWFMovie::labelFrame(': 'string label | void',
 \ 'swfmovie-&#62;nextframe(': 'void  | void',
 \ 'swfmovie-&#62;output(': '[int compression] | int',
 \ 'swfmovie-&#62;remove(': 'resource instance | void',
 \ 'swfmovie-&#62;save(': 'string filename [, int compression] | int',
-\ 'SWFMovie::saveToFile(': 'stream x [, int compression] | int',
 \ 'swfmovie-&#62;setbackground(': 'int red, int green, int blue | void',
 \ 'swfmovie-&#62;setdimension(': 'int width, int height | void',
 \ 'swfmovie-&#62;setframes(': 'string numberofframes | void',
 \ 'swfmovie-&#62;setrate(': 'int rate | void',
-\ 'SWFMovie::startSound(': 'SWFSound sound | SWFSoundInstance',
-\ 'SWFMovie::stopSound(': 'SWFSound sound | void',
 \ 'swfmovie-&#62;streammp3(': 'mixed mp3File | void',
-\ 'SWFMovie::writeExports(': 'void  | void',
 \ 'swf_mulcolor(': 'float r, float g, float b, float a | void',
 \ 'swf_nextid(': 'void  | int',
 \ 'swf_oncondition(': 'int transition | void',
@@ -4443,13 +4225,8 @@
 \ 'swf_shapearc(': 'float x, float y, float r, float ang1, float ang2 | void',
 \ 'swf_shapecurveto3(': 'float x1, float y1, float x2, float y2, float x3, float y3 | void',
 \ 'swf_shapecurveto(': 'float x1, float y1, float x2, float y2 | void',
-\ 'SWFShape::drawArc(': 'float r, float startAngle, float endAngle | void',
-\ 'SWFShape::drawCircle(': 'float r | void',
-\ 'SWFShape::drawCubic(': 'float bx, float by, float cx, float cy, float dx, float dy | int',
-\ 'SWFShape::drawCubicTo(': 'float bx, float by, float cx, float cy, float dx, float dy | int',
 \ 'swfshape-&#62;drawcurve(': 'int controldx, int controldy, int anchordx, int anchordy [, int targetdx, int targetdy] | int',
 \ 'swfshape-&#62;drawcurveto(': 'int controlx, int controly, int anchorx, int anchory [, int targetx, int targety] | int',
-\ 'SWFShape::drawGlyph(': 'SWFFont font, string character [, int size] | void',
 \ 'swfshape-&#62;drawline(': 'int dx, int dy | void',
 \ 'swfshape-&#62;drawlineto(': 'int x, int y | void',
 \ 'swf_shapefillbitmapclip(': 'int bitmapid | void',
@@ -4467,25 +4244,16 @@
 \ 'swfshape-&#62;setrightfill(': 'swfgradient fill | void',
 \ 'swf_showframe(': 'void  | void',
 \ 'SWFSound(': 'string filename, int flags | SWFSound',
-\ 'SWFSoundInstance::loopCount(': 'int point | void',
-\ 'SWFSoundInstance::loopInPoint(': 'int point | void',
-\ 'SWFSoundInstance::loopOutPoint(': 'int point | void',
-\ 'SWFSoundInstance::noMultiple(': 'void  | void',
 \ 'swfsprite-&#62;add(': 'resource object | void',
 \ 'swfsprite(': 'void  | SWFSprite',
-\ 'SWFSprite::labelFrame(': 'string label | void',
 \ 'swfsprite-&#62;nextframe(': 'void  | void',
 \ 'swfsprite-&#62;remove(': 'resource object | void',
 \ 'swfsprite-&#62;setframes(': 'int numberofframes | void',
-\ 'SWFSprite::startSound(': 'SWFSound sound | SWFSoundInstance',
-\ 'SWFSprite::stopSound(': 'SWFSound sound | void',
 \ 'swf_startbutton(': 'int objid, int type | void',
 \ 'swf_startdoaction(': 'void  | void',
 \ 'swf_startshape(': 'int objid | void',
 \ 'swf_startsymbol(': 'int objid | void',
 \ 'swftext-&#62;addstring(': 'string string | void',
-\ 'SWFText::addUTF8String(': 'string text | void',
-\ 'SWFTextField::addChars(': 'string chars | void',
 \ 'swftextfield-&#62;addstring(': 'string string | void',
 \ 'swftextfield-&#62;align(': 'int alignement | void',
 \ 'swftextfield(': '[int flags] | SWFTextField',
@@ -4498,12 +4266,7 @@
 \ 'swftextfield-&#62;setlinespacing(': 'int height | void',
 \ 'swftextfield-&#62;setmargins(': 'int left, int right | void',
 \ 'swftextfield-&#62;setname(': 'string name | void',
-\ 'SWFTextField::setPadding(': 'float padding | void',
 \ 'swftextfield-&#62;setrightmargin(': 'int width | void',
-\ 'SWFText::getAscent(': 'void  | float',
-\ 'SWFText::getDescent(': 'void  | float',
-\ 'SWFText::getLeading(': 'void  | float',
-\ 'SWFText::getUTF8Width(': 'string string | float',
 \ 'swftext-&#62;getwidth(': 'string string | float',
 \ 'swftext(': 'void  | SWFText',
 \ 'swftext-&#62;moveto(': 'int x, int y | void',
@@ -4513,9 +4276,7 @@
 \ 'swftext-&#62;setspacing(': 'float spacing | void',
 \ 'swf_textwidth(': 'string str | float',
 \ 'swf_translate(': 'float x, float y, float z | void',
-\ 'SWFVideoStream::getNumFrames(': 'void  | int',
 \ 'SWFVideoStream(': '[string file] | SWFVideoStream',
-\ 'SWFVideoStream::setDimension(': 'int x, int y | void',
 \ 'swf_viewport(': 'float xmin, float xmax, float ymin, float ymax | void',
 \ 'sybase_affected_rows(': '[resource link_identifier] | int',
 \ 'sybase_close(': '[resource link_identifier] | bool',
@@ -4553,7 +4314,6 @@
 \ 'textdomain(': 'string text_domain | string',
 \ 'tidy_access_count(': 'tidy object | int',
 \ 'tidy_config_count(': 'tidy object | int',
-\ 'tidy::__construct(': '[string filename [, mixed config [, string encoding [, bool use_include_path]]]] | tidy',
 \ 'tidy_error_count(': 'tidy object | int',
 \ 'tidy_get_output(': 'tidy object | string',
 \ 'tidy_load_config(': 'string filename, string encoding | void',
@@ -4868,6 +4628,270 @@
 \ 'zlib_get_coding_type(': 'void  | string'
 \ }
 " }}}
+" built-in object functions {{{
+let g:php_builtin_object_functions = {
+\ 'ArrayIterator::current(': 'void  | mixed',
+\ 'ArrayIterator::key(': 'void  | mixed',
+\ 'ArrayIterator::next(': 'void  | void',
+\ 'ArrayIterator::rewind(': 'void  | void',
+\ 'ArrayIterator::seek(': 'int position | void',
+\ 'ArrayIterator::valid(': 'void  | bool',
+\ 'ArrayObject::append(': 'mixed newval | void',
+\ 'ArrayObject::__construct(': 'mixed input | ArrayObject',
+\ 'ArrayObject::count(': 'void  | int',
+\ 'ArrayObject::getIterator(': 'void  | ArrayIterator',
+\ 'ArrayObject::offsetExists(': 'mixed index | bool',
+\ 'ArrayObject::offsetGet(': 'mixed index | bool',
+\ 'ArrayObject::offsetSet(': 'mixed index, mixed newval | void',
+\ 'ArrayObject::offsetUnset(': 'mixed index | void',
+\ 'CachingIterator::hasNext(': 'void  | bool',
+\ 'CachingIterator::next(': 'void  | void',
+\ 'CachingIterator::rewind(': 'void  | void',
+\ 'CachingIterator::__toString(': 'void  | string',
+\ 'CachingIterator::valid(': 'void  | bool',
+\ 'CachingRecursiveIterator::getChildren(': 'void  | CachingRecursiveIterator',
+\ 'CachingRecursiveIterator::hasChildren(': 'void  | bolean',
+\ 'DirectoryIterator::__construct(': 'string path | DirectoryIterator',
+\ 'DirectoryIterator::current(': 'void  | DirectoryIterator',
+\ 'DirectoryIterator::getATime(': 'void  | int',
+\ 'DirectoryIterator::getChildren(': 'void  | RecursiveDirectoryIterator',
+\ 'DirectoryIterator::getCTime(': 'void  | int',
+\ 'DirectoryIterator::getFilename(': 'void  | string',
+\ 'DirectoryIterator::getGroup(': 'void  | int',
+\ 'DirectoryIterator::getInode(': 'void  | int',
+\ 'DirectoryIterator::getMTime(': 'void  | int',
+\ 'DirectoryIterator::getOwner(': 'void  | int',
+\ 'DirectoryIterator::getPath(': 'void  | string',
+\ 'DirectoryIterator::getPathname(': 'void  | string',
+\ 'DirectoryIterator::getPerms(': 'void  | int',
+\ 'DirectoryIterator::getSize(': 'void  | int',
+\ 'DirectoryIterator::getType(': 'void  | string',
+\ 'DirectoryIterator::isDir(': 'void  | bool',
+\ 'DirectoryIterator::isDot(': 'void  | bool',
+\ 'DirectoryIterator::isExecutable(': 'void  | bool',
+\ 'DirectoryIterator::isFile(': 'void  | bool',
+\ 'DirectoryIterator::isLink(': 'void  | bool',
+\ 'DirectoryIterator::isReadable(': 'void  | bool',
+\ 'DirectoryIterator::isWritable(': 'void  | bool',
+\ 'DirectoryIterator::key(': 'void  | string',
+\ 'DirectoryIterator::next(': 'void  | void',
+\ 'DirectoryIterator::rewind(': 'void  | void',
+\ 'DirectoryIterator::valid(': 'void  | string',
+\ 'FilterIterator::current(': 'void  | mixed',
+\ 'FilterIterator::getInnerIterator(': 'void  | Iterator',
+\ 'FilterIterator::key(': 'void  | mixed',
+\ 'FilterIterator::next(': 'void  | void',
+\ 'FilterIterator::rewind(': 'void  | void',
+\ 'FilterIterator::valid(': 'void  | bool',
+\ 'LimitIterator::getPosition(': 'void  | int',
+\ 'LimitIterator::next(': 'void  | void',
+\ 'LimitIterator::rewind(': 'void  | void',
+\ 'LimitIterator::seek(': 'int position | void',
+\ 'LimitIterator::valid(': 'void  | bool',
+\ 'Memcache::add(': 'string key, mixed var [, int flag [, int expire]] | bool',
+\ 'Memcache::addServer(': 'string host [, int port [, bool persistent [, int weight [, int timeout [, int retry_interval]]]]] | bool',
+\ 'Memcache::close(': 'void  | bool',
+\ 'Memcache::connect(': 'string host [, int port [, int timeout]] | bool',
+\ 'Memcache::decrement(': 'string key [, int value] | int',
+\ 'Memcache::delete(': 'string key [, int timeout] | bool',
+\ 'Memcache::flush(': 'void  | bool',
+\ 'Memcache::getExtendedStats(': 'void  | array',
+\ 'Memcache::get(': 'string key | string',
+\ 'Memcache::getStats(': 'void  | array',
+\ 'Memcache::getVersion(': 'void  | string',
+\ 'Memcache::increment(': 'string key [, int value] | int',
+\ 'Memcache::pconnect(': 'string host [, int port [, int timeout]] | bool',
+\ 'Memcache::replace(': 'string key, mixed var [, int flag [, int expire]] | bool',
+\ 'Memcache::setCompressThreshold(': 'int threshold [, float min_savings] | bool',
+\ 'Memcache::set(': 'string key, mixed var [, int flag [, int expire]] | bool',
+\ 'ParentIterator::getChildren(': 'void  | ParentIterator',
+\ 'ParentIterator::hasChildren(': 'void  | bool',
+\ 'ParentIterator::next(': 'void  | void',
+\ 'ParentIterator::rewind(': 'void  | void',
+\ 'PDO::beginTransaction(': 'void  | bool',
+\ 'PDO::commit(': 'void  | bool',
+\ 'PDO::__construct(': 'string dsn [, string username [, string password [, array driver_options]]] | PDO',
+\ 'PDO::errorCode(': 'void  | string',
+\ 'PDO::errorInfo(': 'void  | array',
+\ 'PDO::exec(': 'string statement | int',
+\ 'PDO::getAttribute(': 'int attribute | mixed',
+\ 'PDO::getAvailableDrivers(': 'void  | array',
+\ 'PDO::lastInsertId(': '[string name] | string',
+\ 'PDO::prepare(': 'string statement [, array driver_options] | PDOStatement',
+\ 'PDO::query(': 'string statement | PDOStatement',
+\ 'PDO::quote(': 'string string [, int parameter_type] | string',
+\ 'PDO::rollBack(': 'void  | bool',
+\ 'PDO::setAttribute(': 'int attribute, mixed value | bool',
+\ 'PDO::sqliteCreateAggregate(': 'string function_name, callback step_func, callback finalize_func [, int num_args] | bool',
+\ 'PDO::sqliteCreateFunction(': 'string function_name, callback callback [, int num_args] | bool',
+\ 'PDOStatement::bindColumn(': 'mixed column, mixed &#38;param [, int type] | bool',
+\ 'PDOStatement::bindParam(': 'mixed parameter, mixed &#38;variable [, int data_type [, int length [, mixed driver_options]]] | bool',
+\ 'PDOStatement::bindValue(': 'mixed parameter, mixed value [, int data_type] | bool',
+\ 'PDOStatement::closeCursor(': 'void  | bool',
+\ 'PDOStatement::columnCount(': 'void  | int',
+\ 'PDOStatement::errorCode(': 'void  | string',
+\ 'PDOStatement::errorInfo(': 'void  | array',
+\ 'PDOStatement::execute(': '[array input_parameters] | bool',
+\ 'PDOStatement::fetchAll(': '[int fetch_style [, int column_index]] | array',
+\ 'PDOStatement::fetchColumn(': '[int column_number] | string',
+\ 'PDOStatement::fetch(': '[int fetch_style [, int cursor_orientation [, int cursor_offset]]] | mixed',
+\ 'PDOStatement::fetchObject(': '[string class_name [, array ctor_args]] | mixed',
+\ 'PDOStatement::getAttribute(': 'int attribute | mixed',
+\ 'PDOStatement::getColumnMeta(': 'int column | mixed',
+\ 'PDOStatement::nextRowset(': 'void  | bool',
+\ 'PDOStatement::rowCount(': 'void  | int',
+\ 'PDOStatement::setAttribute(': 'int attribute, mixed value | bool',
+\ 'PDOStatement::setFetchMode(': 'int mode | bool',
+\ 'Rar::extract(': 'string dir [, string filepath] | bool',
+\ 'Rar::getAttr(': 'void  | int',
+\ 'Rar::getCrc(': 'void  | int',
+\ 'Rar::getFileTime(': 'void  | string',
+\ 'Rar::getHostOs(': 'void  | int',
+\ 'Rar::getMethod(': 'void  | int',
+\ 'Rar::getName(': 'void  | string',
+\ 'Rar::getPackedSize(': 'void  | int',
+\ 'Rar::getUnpackedSize(': 'void  | int',
+\ 'Rar::getVersion(': 'void  | int',
+\ 'RecursiveDirectoryIterator::getChildren(': 'void  | object',
+\ 'RecursiveDirectoryIterator::hasChildren(': '[bool allow_links] | bool',
+\ 'RecursiveDirectoryIterator::key(': 'void  | string',
+\ 'RecursiveDirectoryIterator::next(': 'void  | void',
+\ 'RecursiveDirectoryIterator::rewind(': 'void  | void',
+\ 'RecursiveIteratorIterator::current(': 'void  | mixed',
+\ 'RecursiveIteratorIterator::getDepth(': 'void  | int',
+\ 'RecursiveIteratorIterator::getSubIterator(': 'void  | RecursiveIterator',
+\ 'RecursiveIteratorIterator::key(': 'void  | mixed',
+\ 'RecursiveIteratorIterator::next(': 'void  | void',
+\ 'RecursiveIteratorIterator::rewind(': 'void  | void',
+\ 'RecursiveIteratorIterator::valid(': 'void  | bolean',
+\ 'SDO_DAS_ChangeSummary::beginLogging(': 'void  | void',
+\ 'SDO_DAS_ChangeSummary::endLogging(': 'void  | void',
+\ 'SDO_DAS_ChangeSummary::getChangedDataObjects(': 'void  | SDO_List',
+\ 'SDO_DAS_ChangeSummary::getChangeType(': 'SDO_DataObject dataObject | int',
+\ 'SDO_DAS_ChangeSummary::getOldContainer(': 'SDO_DataObject data_object | SDO_DataObject',
+\ 'SDO_DAS_ChangeSummary::getOldValues(': 'SDO_DataObject data_object | SDO_List',
+\ 'SDO_DAS_ChangeSummary::isLogging(': 'void  | bool',
+\ 'SDO_DAS_DataFactory::addPropertyToType(': 'string parent_type_namespace_uri, string parent_type_name, string property_name, string type_namespace_uri, string type_name [, array options] | void',
+\ 'SDO_DAS_DataFactory::addType(': 'string type_namespace_uri, string type_name [, array options] | void',
+\ 'SDO_DAS_DataFactory::getDataFactory(': 'void  | SDO_DAS_DataFactory',
+\ 'SDO_DAS_DataObject::getChangeSummary(': 'void  | SDO_DAS_ChangeSummary',
+\ 'SDO_DAS_Relational::applyChanges(': 'PDO database_handle, SDODataObject root_data_object | void',
+\ 'SDO_DAS_Relational::__construct(': 'array database_metadata [, string application_root_type [, array SDO_containment_references_metadata]] | SDO_DAS_Relational',
+\ 'SDO_DAS_Relational::createRootDataObject(': 'void  | SDODataObject',
+\ 'SDO_DAS_Relational::executePreparedQuery(': 'PDO database_handle, PDOStatement prepared_statement, array value_list [, array column_specifier] | SDODataObject',
+\ 'SDO_DAS_Relational::executeQuery(': 'PDO database_handle, string SQL_statement [, array column_specifier] | SDODataObject',
+\ 'SDO_DAS_Setting::getListIndex(': 'void  | int',
+\ 'SDO_DAS_Setting::getPropertyIndex(': 'void  | int',
+\ 'SDO_DAS_Setting::getPropertyName(': 'void  | string',
+\ 'SDO_DAS_Setting::getValue(': 'void  | mixed',
+\ 'SDO_DAS_Setting::isSet(': 'void  | bool',
+\ 'SDO_DAS_XML::addTypes(': 'string xsd_file | void',
+\ 'SDO_DAS_XML::createDataObject(': 'string namespace_uri, string type_name | SDO_DataObject',
+\ 'SDO_DAS_XML::createDocument(': '[string document_element_name] | SDO_DAS_XML_Document',
+\ 'SDO_DAS_XML::create(': '[string xsd_file] | SDO_DAS_XML',
+\ 'SDO_DAS_XML_Document::getRootDataObject(': 'void  | SDO_DataObject',
+\ 'SDO_DAS_XML_Document::getRootElementName(': 'void  | string',
+\ 'SDO_DAS_XML_Document::getRootElementURI(': 'void  | string',
+\ 'SDO_DAS_XML_Document::setEncoding(': 'string encoding | void',
+\ 'SDO_DAS_XML_Document::setXMLDeclaration(': 'bool xmlDeclatation | void',
+\ 'SDO_DAS_XML_Document::setXMLVersion(': 'string xmlVersion | void',
+\ 'SDO_DAS_XML::loadFile(': 'string xml_file | SDO_XMLDocument',
+\ 'SDO_DAS_XML::loadString(': 'string xml_string | SDO_DAS_XML_Document',
+\ 'SDO_DAS_XML::saveFile(': 'SDO_XMLDocument xdoc, string xml_file [, int indent] | void',
+\ 'SDO_DAS_XML::saveString(': 'SDO_XMLDocument xdoc [, int indent] | string',
+\ 'SDO_DataFactory::create(': 'string type_namespace_uri, string type_name | void',
+\ 'SDO_DataObject::clear(': 'void  | void',
+\ 'SDO_DataObject::createDataObject(': 'mixed identifier | SDO_DataObject',
+\ 'SDO_DataObject::getContainer(': 'void  | SDO_DataObject',
+\ 'SDO_DataObject::getSequence(': 'void  | SDO_Sequence',
+\ 'SDO_DataObject::getTypeName(': 'void  | string',
+\ 'SDO_DataObject::getTypeNamespaceURI(': 'void  | string',
+\ 'SDO_Exception::getCause(': 'void  | mixed',
+\ 'SDO_List::insert(': 'mixed value [, int index] | void',
+\ 'SDO_Model_Property::getContainingType(': 'void  | SDO_Model_Type',
+\ 'SDO_Model_Property::getDefault(': 'void  | mixed',
+\ 'SDO_Model_Property::getName(': 'void  | string',
+\ 'SDO_Model_Property::getType(': 'void  | SDO_Model_Type',
+\ 'SDO_Model_Property::isContainment(': 'void  | bool',
+\ 'SDO_Model_Property::isMany(': 'void  | bool',
+\ 'SDO_Model_ReflectionDataObject::__construct(': 'SDO_DataObject data_object | SDO_Model_ReflectionDataObject',
+\ 'SDO_Model_ReflectionDataObject::export(': 'SDO_Model_ReflectionDataObject rdo [, bool return] | mixed',
+\ 'SDO_Model_ReflectionDataObject::getContainmentProperty(': 'void  | SDO_Model_Property',
+\ 'SDO_Model_ReflectionDataObject::getInstanceProperties(': 'void  | array',
+\ 'SDO_Model_ReflectionDataObject::getType(': 'void  | SDO_Model_Type',
+\ 'SDO_Model_Type::getBaseType(': 'void  | SDO_Model_Type',
+\ 'SDO_Model_Type::getName(': 'void  | string',
+\ 'SDO_Model_Type::getNamespaceURI(': 'void  | string',
+\ 'SDO_Model_Type::getProperties(': 'void  | array',
+\ 'SDO_Model_Type::getProperty(': 'mixed identifier | SDO_Model_Property',
+\ 'SDO_Model_Type::isAbstractType(': 'void  | bool',
+\ 'SDO_Model_Type::isDataType(': 'void  | bool',
+\ 'SDO_Model_Type::isInstance(': 'SDO_DataObject data_object | bool',
+\ 'SDO_Model_Type::isOpenType(': 'void  | bool',
+\ 'SDO_Model_Type::isSequencedType(': 'void  | bool',
+\ 'SDO_Sequence::getProperty(': 'int sequence_index | SDO_Model_Property',
+\ 'SDO_Sequence::insert(': 'mixed value [, int sequenceIndex [, mixed propertyIdentifier]] | void',
+\ 'SDO_Sequence::move(': 'int toIndex, int fromIndex | void',
+\ 'SimpleXMLIterator::current(': 'void  | mixed',
+\ 'SimpleXMLIterator::getChildren(': 'void  | object',
+\ 'SimpleXMLIterator::hasChildren(': 'void  | bool',
+\ 'SimpleXMLIterator::key(': 'void  | mixed',
+\ 'SimpleXMLIterator::next(': 'void  | void',
+\ 'SimpleXMLIterator::rewind(': 'void  | void',
+\ 'SimpleXMLIterator::valid(': 'void  | bool',
+\ 'SWFButton::addASound(': 'SWFSound sound, int flags | SWFSoundInstance',
+\ 'SWFButton::setMenu(': 'int flag | void',
+\ 'SWFDisplayItem::addAction(': 'SWFAction action, int flags | void',
+\ 'SWFDisplayItem::endMask(': 'void  | void',
+\ 'SWFDisplayItem::getRot(': 'void  | float',
+\ 'SWFDisplayItem::getX(': 'void  | float',
+\ 'SWFDisplayItem::getXScale(': 'void  | float',
+\ 'SWFDisplayItem::getXSkew(': 'void  | float',
+\ 'SWFDisplayItem::getY(': 'void  | float',
+\ 'SWFDisplayItem::getYScale(': 'void  | float',
+\ 'SWFDisplayItem::getYSkew(': 'void  | float',
+\ 'SWFDisplayItem::setMaskLevel(': 'int level | void',
+\ 'SWFDisplayItem::setMatrix(': 'float a, float b, float c, float d, float x, float y | void',
+\ 'SWFFontChar::addChars(': 'string char | void',
+\ 'SWFFontChar::addUTF8Chars(': 'string char | void',
+\ 'SWFFont::getAscent(': 'void  | float',
+\ 'SWFFont::getDescent(': 'void  | float',
+\ 'SWFFont::getLeading(': 'void  | float',
+\ 'SWFFont::getShape(': 'int code | string',
+\ 'SWFFont::getUTF8Width(': 'string string | float',
+\ 'SWFMovie::addExport(': 'SWFCharacter char, string name | void',
+\ 'SWFMovie::addFont(': 'SWFFont font | SWFFontChar',
+\ 'SWFMovie::importChar(': 'string libswf, string name | SWFSprite',
+\ 'SWFMovie::importFont(': 'string libswf, string name | SWFFontChar',
+\ 'SWFMovie::labelFrame(': 'string label | void',
+\ 'SWFMovie::saveToFile(': 'stream x [, int compression] | int',
+\ 'SWFMovie::startSound(': 'SWFSound sound | SWFSoundInstance',
+\ 'SWFMovie::stopSound(': 'SWFSound sound | void',
+\ 'SWFMovie::writeExports(': 'void  | void',
+\ 'SWFShape::drawArc(': 'float r, float startAngle, float endAngle | void',
+\ 'SWFShape::drawCircle(': 'float r | void',
+\ 'SWFShape::drawCubic(': 'float bx, float by, float cx, float cy, float dx, float dy | int',
+\ 'SWFShape::drawCubicTo(': 'float bx, float by, float cx, float cy, float dx, float dy | int',
+\ 'SWFShape::drawGlyph(': 'SWFFont font, string character [, int size] | void',
+\ 'SWFSoundInstance::loopCount(': 'int point | void',
+\ 'SWFSoundInstance::loopInPoint(': 'int point | void',
+\ 'SWFSoundInstance::loopOutPoint(': 'int point | void',
+\ 'SWFSoundInstance::noMultiple(': 'void  | void',
+\ 'SWFSprite::labelFrame(': 'string label | void',
+\ 'SWFSprite::startSound(': 'SWFSound sound | SWFSoundInstance',
+\ 'SWFSprite::stopSound(': 'SWFSound sound | void',
+\ 'SWFText::addUTF8String(': 'string text | void',
+\ 'SWFTextField::addChars(': 'string chars | void',
+\ 'SWFTextField::setPadding(': 'float padding | void',
+\ 'SWFText::getAscent(': 'void  | float',
+\ 'SWFText::getDescent(': 'void  | float',
+\ 'SWFText::getLeading(': 'void  | float',
+\ 'SWFText::getUTF8Width(': 'string string | float',
+\ 'SWFVideoStream::getNumFrames(': 'void  | int',
+\ 'SWFVideoStream::setDimension(': 'int x, int y | void',
+\ 'tidy::__construct(': '[string filename [, mixed config [, string encoding [, bool use_include_path]]]] | tidy'
+\ }
+			" }}}
 " Add control structures (they are outside regular pattern of PHP functions)
 let php_control = {
 			\ 'include(': 'string filename | resource',
@@ -4875,7 +4899,7 @@
 			\ 'require(': 'string filename | resource',
 			\ 'require_once(': 'string filename | resource',
 			\ }
-call extend(b:php_builtin_functions, php_control)
+call extend(g:php_builtin_functions, php_control)
 endfunction
 " }}}
 " vim:set foldmethod=marker:
