changeset 5692:80e5f9584b02

Update runtime files. Add Euphoria syntax files.
author Bram Moolenaar <bram@vim.org>
date Mon, 24 Feb 2014 02:51:51 +0100
parents a073747c2a1e
children 04c4ef8c0a1b
files runtime/doc/change.txt runtime/doc/cmdline.txt runtime/doc/eval.txt runtime/doc/map.txt runtime/doc/tags runtime/doc/todo.txt runtime/filetype.vim runtime/syntax/euphoria3.vim runtime/syntax/euphoria4.vim runtime/syntax/help.vim runtime/syntax/tcl.vim
diffstat 11 files changed, 461 insertions(+), 66 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.4.  Last change: 2014 Jan 23
+*change.txt*    For Vim version 7.4.  Last change: 2014 Feb 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -156,6 +156,9 @@ only after a '.').
 The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting
 spaces before and after a multi-byte character |fo-table|.
 
+The '[ mark is set at the end of the first line that was joined, '] at the end
+of the resulting line.
+
 
 ==============================================================================
 2. Delete and insert				*delete-insert* *replacing*
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 7.4.  Last change: 2013 Nov 25
+*cmdline.txt*   For Vim version 7.4.  Last change: 2014 Feb 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -824,8 +824,8 @@ Note: these are typed literally, they ar
 		   the start of the function.
 
 							 *filename-modifiers*
-	 *:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs*
-	        *%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs*
+*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
+     *%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S*
 The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
 "<afile>" or "<abuf>".  They are also used with the |fnamemodify()| function.
 These are not available when Vim has been compiled without the |+modify_fname|
@@ -880,6 +880,10 @@ These modifiers can be given, in this or
 	:gs?pat?sub?
 		Substitute all occurrences of "pat" with "sub".  Otherwise
 		this works like ":s".
+	:S	Escape special characters for use with a shell command (see 
+		|shellescape()|). Must be the last one. Examples: >
+		    :!dir <cfile>:S
+		    :call system('chmod +w -- ' . expand('%:S'))
 
 Examples, when the file name is "src/version.c", current dir
 "/home/mool/vim": >
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -7460,7 +7460,7 @@ 7. Commands						*expression-commands*
 			for Vim commands, |shellescape()| for |:!| commands.
 			Examples: >
 		:execute "e " . fnameescape(filename)
-		:execute "!ls " . shellescape(expand('%:h'), 1)
+		:execute "!ls " . shellescape(filename, 1)
 <
 			Note: The executed string may be any command-line, but
 			you cannot start or end a "while", "for" or "if"
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -593,7 +593,7 @@ illogical when compared to other command
 When you have a mapping that contains an Ex command, you need to put a line
 terminator after it to have it executed.  The use of <CR> is recommended for
 this (see |<>|).  Example: >
-   :map  _ls  :!ls -l %<CR>:echo "the end"<CR>
+   :map  _ls  :!ls -l %:S<CR>:echo "the end"<CR>
 
 To avoid mapping of the characters you type in insert or Command-line mode,
 type a CTRL-V first.  The mapping in Insert mode is disabled if the 'paste'
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -12,6 +12,7 @@
 %	motion.txt	/*%*
 %:.	cmdline.txt	/*%:.*
 %:8	cmdline.txt	/*%:8*
+%:S	cmdline.txt	/*%:S*
 %:e	cmdline.txt	/*%:e*
 %:gs	cmdline.txt	/*%:gs*
 %:h	cmdline.txt	/*%:h*
@@ -1788,6 +1789,7 @@ 90.5	usr_90.txt	/*90.5*
 :3match	pattern.txt	/*:3match*
 ::.	cmdline.txt	/*::.*
 ::8	cmdline.txt	/*::8*
+::S	cmdline.txt	/*::S*
 ::e	cmdline.txt	/*::e*
 ::gs	cmdline.txt	/*::gs*
 ::h	cmdline.txt	/*::h*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2014 Feb 11
+*todo.txt*      For Vim version 7.4.  Last change: 2014 Feb 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,11 +34,6 @@ not be repeated below, unless there is e
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-When 'paste' is changed with 'pastetoggle', the ruler doesn't reflect this
-right away. (Samuel Ferencik, 2010 Dec 7)
-Patch to fix that status line isn't redrawn when 'pastetoggle' is set.
-(Nobuhiro Takasaki, 2014 Feb 11)
-
 Regexp problems:
 - NFA regexp doesn't count tab matches correctly. (Urtica Dioica / gaultheria
   Shallon, 2013 Nov 18)
@@ -54,7 +49,7 @@ Regexp problems:
 - Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin Szamotulski
   Remark from Brett 2014 Jan 6 and 7.
 - Bug with back references. (Lech Lorens, 2014 Feb 3)
-- Bug when using \>. (Ramel, 2014 Feb 2)
+- Bug when using \>. (Ramel, 2014 Feb 2) (Aaron Bohannon, 2014 Feb 13)
 
 Problem that a previous silent ":throw" causes a following try/catch not to
 work. (ZyX, 2013 Sep 28)
@@ -62,9 +57,6 @@ work. (ZyX, 2013 Sep 28)
 ":cd C:\Windows\System32\drivers\etc*" does not work, even though the
 directory exists. (Sergio Gallelli, 2013 Dec 29)
 
-Patch 7.4.085 breaks Visual insert in some situations. (Issue 193)
-Patch by Christian Brabandt, 2014 Jan 16.
-
 Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
 
 Update for Clojure ftplugin. (Sung Pae).  Await discussion about formatting in
@@ -72,14 +64,15 @@ ftplugins.
 
 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
 
-Patch to make "J" set '[ and '] marks. (Christian Brabandt, 2013 Dec 11)
-Any compatibility problems?
-
-Patch to add :S modifier for excaping the current file name.
-(ZyX, 2013 Nov 30)  Update Dec 5.
-
-Issu 197: ]P doesn't paste over Visual selection.  With patch from Christian
-Brabandt, Feb 6.
+Using autoconf 2.69 gives a lot of warnings.
+
+Patch to allow for negative index in string. (LCD, 2014 Feb 13)
+Feb 14 with test. Or does this intentionally not work?
+
+Issue 197: ]P doesn't paste over Visual selection.  With patch from Christian
+Brabandt, Feb 6.  Issue 197.
+
+Make 'lispwords' global-local. (Sung Pae, 2014 Feb 16)
 
 Problem with 'spellsuggest' file, only works for some words.
 (Cesar Romani, 2013 Aug 20)  Depends on file name? (Aug 24)
@@ -91,6 +84,11 @@ 8   non-ASCII font names don't work.  Ne
 
 Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21)
 
+Problem with 'errorformat'.  Patch by Lcd, 2014 Feb 21. With test.
+
+Patch for the problem that a mapping where the second byte is 0x80 isn't
+handled correcly. (Nobuhiro Takasaki, 2014 Feb 11)
+
 Patch for mksession. (Nobuhiro Takasaki, 2014 Jan 31)
 Also fixes another problem (following email)
 
@@ -154,6 +152,9 @@ Include Haiku port? (Adrien Destugues, S
 
 Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
 
+Some quickfix messages appear twice. (Gary Johnson, 2014 Feb 16)
+Patch by Christian Brabandt, 2014 Feb 17.
+
 Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
 
 Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
@@ -1474,9 +1475,6 @@ Win32: When 'shell' is bash shellescape(
 Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
 only takes 'shellslash' into account.
 
-Pressing the 'pastetoggle' key doesn't update the statusline. (Jan Christoph
-Ebersbach, 2008 Feb 1)
-
 Menu item that does "xxd -r" doesn't work when 'fileencoding' is utf-16.
 Check for this and use iconv?  (Edward L. Fox, 2007 Sep 12)
 Does the conversion in the other direction work when 'fileencodings' is set
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2014 Feb 11
+" Last Change:	2014 Feb 23
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -539,6 +539,20 @@ au BufNewFile,BufRead *enlightenment/*.c
 " Eterm
 au BufNewFile,BufRead *Eterm/*.cfg		setf eterm
 
+" Euphoria 3 or 4
+au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw  call s:EuphoriaCheck()
+if has("fname_case")
+   au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW  call s:EuphoriaCheck()
+endif
+
+func! s:EuphoriaCheck()
+  if exists('g:filetype_euphoria')
+    exe 'setf ' . g:filetype_euphoria
+  else
+    setf euphoria3
+  endif
+endfunc
+
 " Lynx config files
 au BufNewFile,BufRead lynx.cfg			setf lynx
 
@@ -2244,7 +2258,7 @@ au BufNewFile,BufRead *.v			setf verilog
 au BufNewFile,BufRead *.va,*.vams		setf verilogams
 
 " SystemVerilog
-au BufNewFile,BufRead *.sv			setf systemverilog
+au BufNewFile,BufRead *.sv,*.svh		setf systemverilog
 
 " VHDL
 au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst  setf vhdl
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/euphoria3.vim
@@ -0,0 +1,129 @@
+" Vim syntax file
+" Language:	Euphoria 3.1.1 - supports DOS - (http://www.RapidEuphoria.com)
+" Maintainer:	Shian Lee  
+" Last Change:	2014 Feb 23 (for Vim 7.4)
+" Remark:       Using 'euphoria3.vim' if "$EUDIR\BIN\EX.EXE" or "$EUDIR/bin/exu" 
+"               file exist; else, using 'euphoria4.vim' for Euphoria 4.x.x.
+" Filetype:     *.e, *.eu, *.ew, *.ex, *.exu, *.exw (also in UPPER case).
+"               note: *.e|*.E are used by Eiffel; for solution see :help filetype. 
+
+" Quit if a (custom) syntax file was already loaded (compatible with Vim 5.8): 
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" Should suffice for very long expressions:
+syn sync lines=40
+
+" Euphoria is a case-sensitive language (with only 4 builtin types):
+syntax case match 
+
+" Keywords/Builtins for Debug - from $EUDIR/bin/keywords.e:
+syn keyword euphoria3Debug	with without trace profile  
+syn keyword euphoria3Debug	profile_time warning type_check 
+
+" Keywords (Statments) - from $EUDIR/bin/keywords.e:
+syn keyword euphoria3Keyword	if end then procedure else for return 	
+syn keyword euphoria3Keyword	do elsif while type constant to and or
+syn keyword euphoria3Keyword	exit function global by not include
+syn keyword euphoria3Keyword	xor                      
+
+" Builtins (Identifiers) - from $EUDIR/bin/keywords.e:
+syn keyword euphoria3Builtin	length puts integer sequence position object
+syn keyword euphoria3Builtin	append prepend print printf 
+syn keyword euphoria3Builtin	clear_screen floor getc gets get_key
+syn keyword euphoria3Builtin	rand repeat atom compare find match
+syn keyword euphoria3Builtin	time command_line open close getenv
+syn keyword euphoria3Builtin	sqrt sin cos tan log system date remainder
+syn keyword euphoria3Builtin	power machine_func machine_proc abort peek poke 
+syn keyword euphoria3Builtin	call sprintf arctan and_bits or_bits xor_bits
+syn keyword euphoria3Builtin	not_bits pixel get_pixel mem_copy mem_set
+syn keyword euphoria3Builtin	c_proc c_func routine_id call_proc call_func 
+syn keyword euphoria3Builtin	poke4 peek4s peek4u equal system_exec
+syn keyword euphoria3Builtin	platform task_create task_schedule task_yield
+syn keyword euphoria3Builtin	task_self task_suspend task_list
+syn keyword euphoria3Builtin	task_status task_clock_stop task_clock_start 
+syn keyword euphoria3Builtin	find_from match_from  
+" Builtins (Identifiers) shortcuts for length() and print():
+syn match   euphoria3Builtin	"\$" 
+syn match   euphoria3Builtin	"?"
+
+" Library Identifiers (Function) - from $EUDIR/doc/library.doc:
+syn keyword euphoria3Library	reverse sort custom_sort lower upper
+syn keyword euphoria3Library	wildcard_match wildcard_file arcsin 
+syn keyword euphoria3Library	arccos PI flush lock_file unlock_file
+syn keyword euphoria3Library	pretty_print sprint get_bytes prompt_string 
+syn keyword euphoria3Library	wait_key get prompt_number value seek where 
+syn keyword euphoria3Library	current_dir chdir dir walk_dir allow_break 
+syn keyword euphoria3Library	check_break get_mouse mouse_events mouse_pointer
+syn keyword euphoria3Library	tick_rate sleep get_position graphics_mode 
+syn keyword euphoria3Library	video_config scroll wrap text_color bk_color 
+syn keyword euphoria3Library	palette all_palette get_all_palette read_bitmap 
+syn keyword euphoria3Library	save_bitmap get_active_page set_active_page 
+syn keyword euphoria3Library	get_display_page set_display_page sound
+syn keyword euphoria3Library	cursor text_rows get_screen_char put_screen_char
+syn keyword euphoria3Library	save_text_image display_text_image draw_line 
+syn keyword euphoria3Library	polygon ellipse save_screen save_image display_image 
+syn keyword euphoria3Library	dos_interrupt allocate free allocate_low free_low 
+syn keyword euphoria3Library	allocate_string register_block unregister_block 
+syn keyword euphoria3Library	get_vector set_vector lock_memory int_to_bytes 
+syn keyword euphoria3Library	bytes_to_int int_to_bits bits_to_int atom_to_float64 
+syn keyword euphoria3Library	atom_to_float32 float64_to_atom float32_to_atom 
+syn keyword euphoria3Library	set_rand use_vesa crash_file crash_message
+syn keyword euphoria3Library	crash_routine open_dll define_c_proc define_c_func
+syn keyword euphoria3Library	define_c_var call_back message_box free_console 
+syn keyword euphoria3Library	instance
+
+" Library Identifiers (Function) - from $EUDIR/doc/database.doc:
+syn keyword euphoria3Library 	db_create db_open db_select db_close db_create_table
+syn keyword euphoria3Library 	db_select_table db_rename_table db_delete_table
+syn keyword euphoria3Library 	db_table_list db_table_size db_find_key db_record_key
+syn keyword euphoria3Library 	db_record_data db_insert db_delete_record 
+syn keyword euphoria3Library	db_replace_data	db_compress db_dump db_fatal_id
+
+" Linux shell comment (#!...):
+syn match   euphoria3Comment	"\%^#!.*$"
+" Comment on one line:
+syn region  euphoria3Comment 	start=/--/ end=/$/
+
+" Delimiters and brackets:
+syn match   euphoria3Delimit	"[([\])]"
+syn match   euphoria3Delimit	"\.\."
+syn match   euphoria3Operator	"[{}]"
+
+" Character constant:
+syn region  euphoria3Char	start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline
+
+" String constant: 
+syn region  euphoria3String	start=/"/ skip=/\\"\|\\\\/ end=/"/ oneline
+
+" Hexadecimal integer:
+syn match   euphoria3Number 	"#[0-9A-F]\+\>"
+
+" Integer/Floating point without a dot:
+syn match   euphoria3Number	"\<\d\+\>"
+" Floating point with dot:
+syn match   euphoria3Number	"\<\d\+\.\d*\>"
+" Floating point starting with a dot:
+syn match   euphoria3Number	"\.\d\+\>"
+" Boolean constants: 
+syn keyword euphoria3Boolean	true TRUE false FALSE
+
+" Define the default highlighting.
+" Only used when an item doesn't have highlighting yet:
+hi def link euphoria3Comment	Comment
+hi def link euphoria3String	String
+hi def link euphoria3Char	Character
+hi def link euphoria3Number	Number	
+hi def link euphoria3Boolean	Boolean	
+hi def link euphoria3Builtin	Identifier	
+hi def link euphoria3Library 	Function	
+hi def link euphoria3Keyword	Statement	
+hi def link euphoria3Operator	Statement	
+hi def link euphoria3Debug	Debug	
+hi def link euphoria3Delimit	Delimiter	
+ 	
+let b:current_syntax = "euphoria3"
+
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/euphoria4.vim
@@ -0,0 +1,240 @@
+" Vim syntax file
+" Language:	Euphoria 4.0.5 (http://www.RapidEuphoria.com)
+" Maintainer:	Shian Lee  
+" Last Change:	2014 Feb 23 (for Vim 7.4)
+" Remark:       Using 'euphoria3.vim' if "$EUDIR\BIN\EX.EXE" or "$EUDIR/bin/exu" 
+"               file exist; else, using 'euphoria4.vim' for Euphoria 4.x.x.
+" Filetype:     *.e, *.eu, *.ew, *.ex, *.exu, *.exw (also in UPPER case).
+"               note: *.e|*.E are used by Eiffel; for solution see :help filetype. 
+
+" Quit if a (custom) syntax file was already loaded (compatible with Vim 5.8): 
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" Should suffice for very long strings and expressions:
+syn sync lines=40
+
+" Euphoria is a case-sensitive language (with only 4 builtin types):
+syntax case match 
+
+" Some keywords/Builtins for Debug - from $EUDIR/include/euphoria/keywords.e:
+syn keyword euphoria4Debug	with without trace profile batch check indirect 
+syn keyword euphoria4Debug	includes inline warning define
+
+" Keywords for conditional compilation - from $EUDIR/include/euphoria/keywords.e:
+syn keyword euphoria4PreProc	elsedef elsifdef ifdef 
+
+" Keywords (Statments) - from $EUDIR/include/euphoria/keywords.e:
+syn keyword euphoria4Keyword	and as break by case constant continue do else     
+syn keyword euphoria4Keyword	elsif end entry enum exit export
+syn keyword euphoria4Keyword	fallthru for function global goto if include
+syn keyword euphoria4Keyword	label loop namespace not or override procedure
+syn keyword euphoria4Keyword	public retry return routine switch then to type
+syn keyword euphoria4Keyword	until while xor
+
+" Builtins (Identifiers) - from $EUDIR/include/euphoria/keywords.e:
+syn keyword euphoria4Builtin	abort and_bits append arctan atom c_func c_proc 
+syn keyword euphoria4Builtin	call call_func call_proc clear_screen close 
+syn keyword euphoria4Builtin	command_line compare cos date delete delete_routine 
+syn keyword euphoria4Builtin	equal find floor get_key getc getenv gets hash 
+syn keyword euphoria4Builtin	head include_paths insert integer length log 
+syn keyword euphoria4Builtin	machine_func machine_proc match mem_copy mem_set 
+syn keyword euphoria4Builtin	not_bits object open option_switches or_bits peek 
+syn keyword euphoria4Builtin	peek2s peek2u peek4s peek4u peek_string peeks pixel 
+syn keyword euphoria4Builtin	platform poke poke2 poke4 position power prepend 
+syn keyword euphoria4Builtin	print printf puts rand remainder remove repeat 
+syn keyword euphoria4Builtin	replace routine_id sequence sin splice sprintf
+syn keyword euphoria4Builtin	sqrt system system_exec tail tan task_clock_start
+syn keyword euphoria4Builtin	task_clock_stop task_create task_list task_schedule
+syn keyword euphoria4Builtin	task_self task_status task_suspend task_yield time
+syn keyword euphoria4Builtin	xor_bits
+" Builtins (Identifiers) shortcuts for length() and print():
+syn match   euphoria4Builtin	"\$" 
+syn match   euphoria4Builtin	"?"
+
+" Library Identifiers (Function) - grep from $EUDIR/include/*:
+syn keyword euphoria4Library	DEP_on SyntaxColor abbreviate_path abs absolute_path
+syn keyword euphoria4Library 	accept add add_item all_copyrights all_matches
+syn keyword euphoria4Library	allocate allocate_code allocate_data allocate_low
+syn keyword euphoria4Library 	allocate_pointer_array allocate_protect
+syn keyword euphoria4Library 	allocate_string allocate_string_pointer_array
+syn keyword euphoria4Library	allocate_wstring allocations allow_break any_key
+syn keyword euphoria4Library	append_lines apply approx arccos arccosh arcsin
+syn keyword euphoria4Library 	arcsinh arctanh assert at atan2 atom_to_float32
+syn keyword euphoria4Library 	atom_to_float64 attr_to_colors avedev average
+syn keyword euphoria4Library 	begins binary_search bind binop_ok bits_to_int
+syn keyword euphoria4Library 	bk_color breakup build_commandline build_list
+syn keyword euphoria4Library 	bytes_to_int calc_hash calc_primes call_back
+syn keyword euphoria4Library 	canon2win canonical canonical_path ceil
+syn keyword euphoria4Library 	central_moment chance char_test chdir
+syn keyword euphoria4Library 	check_all_blocks check_break check_free_list
+syn keyword euphoria4Library 	checksum clear clear_directory close cmd_parse
+syn keyword euphoria4Library 	colors_to_attr columnize combine connect
+syn keyword euphoria4Library 	console_colors copy copy_file cosh count crash
+syn keyword euphoria4Library 	crash_file crash_message crash_routine create
+syn keyword euphoria4Library 	create_directory create_file curdir current_dir
+syn keyword euphoria4Library	cursor custom_sort datetime days_in_month
+syn keyword euphoria4Library 	days_in_year db_cache_clear db_clear_table db_close
+syn keyword euphoria4Library	db_compress db_connect db_create db_create_table
+syn keyword euphoria4Library 	db_current db_current_table db_delete_record
+syn keyword euphoria4Library 	db_delete_table db_dump db_fetch_record db_find_key
+syn keyword euphoria4Library	db_get_errors db_get_recid db_insert db_open
+syn keyword euphoria4Library	db_record_data db_record_key db_record_recid
+syn keyword euphoria4Library 	db_rename_table db_replace_data db_replace_recid
+syn keyword euphoria4Library 	db_select db_select_table db_set_caching
+syn keyword euphoria4Library 	db_table_list db_table_size deallocate decanonical
+syn keyword euphoria4Library 	decode defaulted_value defaultext define_c_func
+syn keyword euphoria4Library 	define_c_proc define_c_var deg2rad delete_file
+syn keyword euphoria4Library 	dep_works dequote deserialize diff dir dir_size
+syn keyword euphoria4Library 	dirname disk_metrics disk_size display
+syn keyword euphoria4Library 	display_text_image dnsquery driveid dump dup emovavg
+syn keyword euphoria4Library 	encode ends ensure_in_list ensure_in_range
+syn keyword euphoria4Library 	error_code error_message error_no error_string
+syn keyword euphoria4Library 	error_to_string escape euphoria_copyright exec
+syn keyword euphoria4Library 	exp extract fetch fib file_exists file_length
+syn keyword euphoria4Library 	file_timestamp file_type filebase fileext filename
+syn keyword euphoria4Library	filter find_all find_all_but find_any find_each
+syn keyword euphoria4Library 	find_nested find_replace find_replace_callback
+syn keyword euphoria4Library	find_replace_limit flags_to_string flatten
+syn keyword euphoria4Library 	float32_to_atom float64_to_atom flush for_each
+syn keyword euphoria4Library 	format frac free free_code free_console free_low
+syn keyword euphoria4Library	free_pointer_array from_date from_unix gcd geomean
+syn keyword euphoria4Library	get get_bytes get_charsets get_def_lang
+syn keyword euphoria4Library 	get_display_page get_dstring get_encoding_properties
+syn keyword euphoria4Library 	get_integer16 get_integer32 get_lang_path get_lcid
+syn keyword euphoria4Library 	get_mouse get_option get_ovector_size get_pid
+syn keyword euphoria4Library 	get_position get_rand get_screen_char get_text
+syn keyword euphoria4Library 	get_vector getaddrinfo getmxrr getnsrr graphics_mode
+syn keyword euphoria4Library 	harmean has has_console has_match hex_text
+syn keyword euphoria4Library 	host_by_addr host_by_name http_get http_post iff
+syn keyword euphoria4Library 	iif info init_class init_curdir insertion_sort
+syn keyword euphoria4Library 	instance int_to_bits int_to_bytes intdiv
+syn keyword euphoria4Library 	is_DEP_supported is_empty is_even is_even_obj
+syn keyword euphoria4Library 	is_in_list is_in_range is_inetaddr is_leap_year
+syn keyword euphoria4Library 	is_match is_using_DEP is_win_nt join join_path
+syn keyword euphoria4Library 	keep_comments keep_newlines key_codes keys keyvalues
+syn keyword euphoria4Library	kill kurtosis lang_load larger_of largest last
+syn keyword euphoria4Library 	listen load load_map locate_file lock_file
+syn keyword euphoria4Library	lock_memory log10 lookup lower malloc mapping
+syn keyword euphoria4Library 	match_all match_any match_replace matches max
+syn keyword euphoria4Library 	maybe_any_key median memory_used merge message_box
+syn keyword euphoria4Library	mid min minsize mod mode money mouse_events
+syn keyword euphoria4Library	mouse_pointer movavg move_file nested_get
+syn keyword euphoria4Library 	nested_put new new_extra new_from_kvpairs
+syn keyword euphoria4Library 	new_from_string new_time next_prime now now_gmt
+syn keyword euphoria4Library 	number open_dll optimize option_spec_to_string
+syn keyword euphoria4Library 	or_all	pad_head pad_tail pairs parse
+syn keyword euphoria4Library 	parse_commandline parse_ip_address parse_querystring
+syn keyword euphoria4Library 	parse_url patch pathinfo pathname pcre_copyright
+syn keyword euphoria4Library 	peek_end peek_top peek_wstring pivot platform_name
+syn keyword euphoria4Library 	poke_string poke_wstring pop powof2 prepare_block
+syn keyword euphoria4Library 	pretty_print pretty_sprint prime_list process_lines
+syn keyword euphoria4Library 	product project prompt_number prompt_string proper
+syn keyword euphoria4Library 	push put put_integer16 put_integer32 put_screen_char
+syn keyword euphoria4Library 	quote rad2deg rand_range range raw_frequency read
+syn keyword euphoria4Library 	read_bitmap read_file read_lines receive receive_from
+syn keyword euphoria4Library	register_block rehash remove_all remove_directory
+syn keyword euphoria4Library 	remove_dups remove_item remove_subseq rename_file
+syn keyword euphoria4Library	repeat_pattern reset retain_all reverse rfind rmatch
+syn keyword euphoria4Library 	rnd rnd_1 roll rotate rotate_bits round safe_address
+syn keyword euphoria4Library 	sample save_bitmap save_map save_text_image scroll
+syn keyword euphoria4Library	seek select send send_to serialize series
+syn keyword euphoria4Library	service_by_name service_by_port set
+syn keyword euphoria4Library 	set_accumulate_summary set_charsets set_colors
+syn keyword euphoria4Library 	set_decimal_mark set_def_lang set_default_charsets
+syn keyword euphoria4Library 	set_encoding_properties set_keycodes set_lang_path
+syn keyword euphoria4Library 	set_option set_rand set_test_abort set_test_verbosity
+syn keyword euphoria4Library 	set_vector set_wait_on_summary setenv shift_bits
+syn keyword euphoria4Library 	show_block show_help show_tokens shuffle shutdown
+syn keyword euphoria4Library 	sign sim_index sinh size skewness sleep slice small
+syn keyword euphoria4Library 	smaller_of smallest sort sort_columns sound split
+syn keyword euphoria4Library 	split_any split_limit split_path sprint start_time
+syn keyword euphoria4Library 	statistics stdev store string_numbers subtract sum
+syn keyword euphoria4Library 	sum_central_moments swap tanh task_delay temp_file
+syn keyword euphoria4Library 	test_equal test_exec test_fail test_false
+syn keyword euphoria4Library 	test_not_equal test_pass test_read test_report
+syn keyword euphoria4Library	test_true test_write text_color text_rows threshold
+syn keyword euphoria4Library 	tick_rate to_integer to_number to_string to_unix
+syn keyword euphoria4Library	tokenize_file tokenize_string top transform translate
+syn keyword euphoria4Library 	transmute trim trim_head trim_tail trsprintf trunc
+syn keyword euphoria4Library 	type_of uname unlock_file unregister_block unsetenv
+syn keyword euphoria4Library	upper use_vesa valid valid_index value values version
+syn keyword euphoria4Library	version_date version_major version_minor version_node
+syn keyword euphoria4Library 	version_patch version_revision version_string
+syn keyword euphoria4Library 	version_string_long version_string_short version_type
+syn keyword euphoria4Library 	video_config vlookup vslice wait_key walk_dir
+syn keyword euphoria4Library 	warning_file weeks_day where which_bit wildcard_file
+syn keyword euphoria4Library 	wildcard_match wrap write write_file write_lines
+syn keyword euphoria4Library 	writef writefln years_day
+
+" Library Identifiers (Type) - grep from $EUDIR/include/*:
+syn keyword euphoria4Type	ascii_string boolean bordered_address byte_range
+syn keyword euphoria4Type	case_flagset_type color cstring datetime
+syn keyword euphoria4Type	file_number file_position graphics_point
+syn keyword euphoria4Type	integer_array lcid lock_type machine_addr map 
+syn keyword euphoria4Type	mixture number_array option_spec
+syn keyword euphoria4Type	page_aligned_address positive_int process regex
+syn keyword euphoria4Type	sequence_array socket stack std_library_address
+syn keyword euphoria4Type	string t_alnum t_alpha t_ascii t_boolean
+syn keyword euphoria4Type	t_bytearray t_cntrl t_consonant t_digit t_display
+syn keyword euphoria4Type	t_graph t_identifier t_lower t_print t_punct
+syn keyword euphoria4Type	t_space t_specword t_text t_upper t_vowel t_xdigit
+syn keyword euphoria4Type	valid_memory_protection_constant valid_wordsize
+
+" Linux shell comment (#!...):
+syn match   euphoria4Comment	"\%^#!.*$"
+" Single and multilines comments: 
+syn region  euphoria4Comment 	start=/--/ end=/$/ 
+syn region  euphoria4Comment 	start="/\*" end="\*/" 
+
+" Delimiters and brackets:
+syn match   euphoria4Delimit	"[([\])]"
+syn match   euphoria4Delimit	"\.\."
+syn match   euphoria4Delimit	":"
+syn match   euphoria4Operator	"[{}]"
+
+" Character constant:
+syn region  euphoria4Char	start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline
+
+" Single and multiline string constant: 
+syn region  euphoria4String	start=/"\|b"\|x"/ skip=/\\"\|\\\\/ end=/"/ oneline
+syn region  euphoria4String	start=/`/ end=/`/
+syn region  euphoria4String	start=/"""/ end=/"""/
+
+" Binary/Octal/Decimal/Hexadecimal integer:
+syn match   euphoria4Number 	"\<0b[01_]\+\>"
+syn match   euphoria4Number 	"\<0t[0-7_]\+\>"
+syn match   euphoria4Number 	"\<0d[0-9_]\+\>"
+syn match   euphoria4Number 	"\<0x[0-9A-Fa-f_]\+\>"
+syn match   euphoria4Number 	"#[0-9A-Fa-f_]\+\>"
+
+" Integer/Floating point without a dot:
+syn match   euphoria4Number	"\<\d\+\>"
+" Floating point with dot:
+syn match   euphoria4Number	"\<\d\+\.\d*\>"
+" Floating point starting with a dot:
+syn match   euphoria4Number	"\.\d\+\>"
+" Boolean constants: 
+syn keyword euphoria4Boolean	true TRUE false FALSE
+
+" Define the default highlighting.
+" Only used when an item doesn't have highlighting yet:
+hi def link euphoria4Comment	Comment
+hi def link euphoria4String	String
+hi def link euphoria4Char	Character
+hi def link euphoria4Number	Number	
+hi def link euphoria4Boolean	Boolean	
+hi def link euphoria4Builtin	Identifier	
+hi def link euphoria4Library 	Function	
+hi def link euphoria4Type 	Type	
+hi def link euphoria4Keyword	Statement	
+hi def link euphoria4Operator	Statement		
+hi def link euphoria4Debug	Debug	
+hi def link euphoria4Delimit	Delimiter	
+hi def link euphoria4PreProc	PreProc	
+	
+let b:current_syntax = "euphoria4"
+
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Vim help file
 " Maintainer:	Bram Moolenaar (Bram@vim.org)
-" Last Change:	2013 Nov 17
+" Last Change:	2014 Feb 12
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -40,7 +40,7 @@ endif
 syn match helpNormal		"|.*====*|"
 syn match helpNormal		"|||"
 syn match helpNormal		":|vim:|"	" for :help modeline
-syn match helpVim		"Vim version [0-9.a-z]\+"
+syn match helpVim		"\<Vim version [0-9][0-9.a-z]*"
 syn match helpVim		"VIM REFERENCE.*"
 syn match helpOption		"'[a-z]\{2,\}'"
 syn match helpOption		"'t_..'"
--- a/runtime/syntax/tcl.vim
+++ b/runtime/syntax/tcl.vim
@@ -6,11 +6,9 @@
 "		(previously Matt Neumann <mattneu@purpleturtle.com>)
 "		(previously Allan Kelly <allan@fruitloaf.co.uk>)
 " Original:	Robin Becker <robin@jessikat.demon.co.uk>
-" Last Change:	2009/04/06 02:38:36
-" Version:	1.13
-" URL:		http://real.metasyntax.net:2357/cvs/cvsweb.cgi/Config/vim/syntax/tcl.vim
-"
-" Keywords TODO: click anchor
+" Last Change:	2014-02-12
+" Version:	1.14
+" URL:		http://bitbucket.org/taylor_venable/metasyntax/src/tip/Config/vim/syntax/tcl.vim
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -20,41 +18,39 @@ elseif exists("b:current_syntax")
   finish
 endif
 
-" Basic Tcl commands: http://www.tcl.tk/man/tcl8.5/TclCmd/contents.htm
-syn keyword tclCommand		after append apply array bgerror binary catch cd chan clock
-syn keyword tclCommand		close concat dde dict encoding eof error eval exec exit
-syn keyword tclCommand		expr fblocked fconfigure fcopy file fileevent filename flush
-syn keyword tclCommand		format gets glob global history incr info interp join
-syn keyword tclCommand		lappend lassign lindex linsert list llength load lrange lrepeat
-syn keyword tclCommand		lreplace lreverse lsearch lset lsort memory namespace open package
-syn keyword tclCommand		pid proc puts pwd read regexp registry regsub rename return
-syn keyword tclCommand		scan seek set socket source split string subst tell time
-syn keyword tclCommand		trace unknown unload unset update uplevel upvar variable vwait
+" Basic Tcl commands: http://www.tcl.tk/man/tcl8.6/TclCmd/contents.htm
+syn keyword tclCommand		after append array bgerror binary cd chan clock close concat
+syn keyword tclCommand		dde dict encoding eof error eval exec exit expr fblocked
+syn keyword tclCommand		fconfigure fcopy file fileevent flush format gets glob
+syn keyword tclCommand		global history http incr info interp join lappend lassign
+syn keyword tclCommand		lindex linsert list llength lmap load lrange lrepeat
+syn keyword tclCommand		lreplace lreverse lsearch lset lsort memory my namespace
+syn keyword tclCommand		next nextto open package pid puts pwd read refchan regexp
+syn keyword tclCommand		registry regsub rename scan seek self set socket source
+syn keyword tclCommand		split string subst tell time trace unknown unload unset
+syn keyword tclCommand		update uplevel upvar variable vwait
 
-" The 'Tcl Standard Library' commands: http://www.tcl.tk/man/tcl8.5/TclCmd/library.htm
-syn keyword tclCommand		auto_execok auto_import auto_load auto_mkindex auto_mkindex_old
-syn keyword tclCommand		auto_qualify auto_reset parray tcl_endOfWord tcl_findLibrary
-syn keyword tclCommand		tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter
-syn keyword tclCommand		tcl_wordBreakBefore
-
-" Commands that were added in Tcl 8.6
+" The 'Tcl Standard Library' commands: http://www.tcl.tk/man/tcl8.6/TclCmd/library.htm
+syn keyword tclCommand		auto_execok auto_import auto_load auto_mkindex auto_reset
+syn keyword tclCommand		auto_qualify tcl_findLibrary parray tcl_endOfWord
+syn keyword tclCommand		tcl_startOfNextWord tcl_startOfPreviousWord
+syn keyword tclCommand		tcl_wordBreakAfter tcl_wordBreakBefore
 
-syn keyword tclCommand		my oo::copy oo::define oo::objdefine self
-syn keyword tclCommand		coroutine tailcall throw yield
-
-" Global variables used by Tcl: http://www.tcl.tk/man/tcl8.5/TclCmd/tclvars.htm
-syn keyword tclVars		env errorCode errorInfo tcl_library tcl_patchLevel tcl_pkgPath
-syn keyword tclVars		tcl_platform tcl_precision tcl_rcFileName tcl_traceCompile
-syn keyword tclVars		tcl_traceExec tcl_wordchars tcl_nonwordchars tcl_version argc argv
-syn keyword tclVars		argv0 tcl_interactive geometry
+" Global variables used by Tcl: http://www.tcl.tk/man/tcl8.6/TclCmd/tclvars.htm
+syn keyword tclVars		auto_path env errorCode errorInfo tcl_library tcl_patchLevel
+syn keyword tclVars		tcl_pkgPath tcl_platform tcl_precision tcl_rcFileName
+syn keyword tclVars		tcl_traceCompile tcl_traceExec tcl_wordchars
+syn keyword tclVars		tcl_nonwordchars tcl_version argc argv argv0 tcl_interactive
 
 " Strings which expr accepts as boolean values, aside from zero / non-zero.
 syn keyword tclBoolean		true false on off yes no
 
-syn keyword tclLabel		case default
+syn keyword tclProcCommand	apply coroutine proc return tailcall yield yieldto
 syn keyword tclConditional	if then else elseif switch
-syn keyword tclConditional	try finally
+syn keyword tclConditional	catch try throw finally
+syn keyword tclLabel		default
 syn keyword tclRepeat		while for foreach break continue
+
 syn keyword tcltkSwitch	contained	insert create polygon fill outline tag
 
 " WIDGETS
@@ -91,6 +87,11 @@ syn match tclVarRef "$\(\(::\)\?\([[:aln
 	" ${...} may contain any character except '}'
 syn match tclVarRef "${[^}]*}"
 
+" Used to facilitate hack to utilize string background for certain color
+" schemes, e.g. inkpot and lettuce.
+syn cluster tclVarRefC add=tclVarRef
+syn cluster tclSpecialC add=tclSpecial
+
 " The syntactic unquote-splicing replacement for [expand].
 syn match tclExpand '\s{\*}'
 syn match tclExpand '^{\*}'
@@ -203,9 +204,9 @@ syn match   tclSpecial contained '\\[\[\
 syn region tclEmbeddedStatement	start='\[' end='\]' contained contains=tclCommand,tclNumber,tclLineContinue,tclString,tclVarRef,tclEmbeddedStatement
 " A string needs the skip argument as it may legitimately contain \".
 " Match at start of line
-syn region  tclString		  start=+^"+ end=+"+ contains=tclSpecial skip=+\\\\\|\\"+
+syn region  tclString		  start=+^"+ end=+"+ contains=@tclSpecialC skip=+\\\\\|\\"+
 "Match all other legal strings.
-syn region  tclString		  start=+[^\\]"+ms=s+1  end=+"+ contains=tclSpecial,tclVarRef,tclEmbeddedStatement skip=+\\\\\|\\"+
+syn region  tclString		  start=+[^\\]"+ms=s+1  end=+"+ contains=@tclSpecialC,@tclVarRefC,tclEmbeddedStatement skip=+\\\\\|\\"+
 
 " Line continuation is backslash immediately followed by newline.
 syn match tclLineContinue '\\$'
@@ -231,6 +232,9 @@ syn case match
 syn region  tclComment		start="^\s*\#" skip="\\$" end="$" contains=tclTodo
 syn region  tclComment		start=/;\s*\#/hs=s+1 skip="\\$" end="$" contains=tclTodo
 
+"syn match tclComment /^\s*\#.*$/
+"syn match tclComment /;\s*\#.*$/hs=s+1
+
 "syn sync ccomment tclComment
 
 " Define the default highlighting.
@@ -252,6 +256,7 @@ if version >= 508 || !exists("did_tcl_sy
   HiLink tclNumber		Number
   HiLink tclError		Error
   HiLink tclCommand		Statement
+  HiLink tclProcCommand		Type
   HiLink tclString		String
   HiLink tclComment		Comment
   HiLink tclSpecial		Special
@@ -279,4 +284,4 @@ endif
 
 let b:current_syntax = "tcl"
 
-" vim: ts=8 noet
+" vim: ts=8 noet nolist