summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-02-24 02:51:51 +0100
committerBram Moolenaar <Bram@vim.org>2014-02-24 02:51:51 +0100
commit251835e14f6fb4134a041c2ba9d3e7b84b783e86 (patch)
tree7cde7fafc2eb2735e0491f7fc085f27320b07d6e /runtime
parent26df092843de91ea0c5c5c130d0d0695d2d81c07 (diff)
Update runtime files. Add Euphoria syntax files.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/change.txt5
-rw-r--r--runtime/doc/cmdline.txt10
-rw-r--r--runtime/doc/eval.txt2
-rw-r--r--runtime/doc/map.txt2
-rw-r--r--runtime/doc/tags2
-rw-r--r--runtime/doc/todo.txt36
-rw-r--r--runtime/filetype.vim18
-rw-r--r--runtime/syntax/euphoria3.vim129
-rw-r--r--runtime/syntax/euphoria4.vim240
-rw-r--r--runtime/syntax/help.vim4
-rw-r--r--runtime/syntax/tcl.vim79
11 files changed, 461 insertions, 66 deletions
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 1ff39c3999..d6daf50d44 100644
--- 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*
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 9d7c5f56f0..f58389af8c 100644
--- 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 are not special keys!
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 order:
: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": >
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 7b57e7fd4b..efbac91e1c 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -7460,7 +7460,7 @@ This does NOT work: >
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"
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 4ae902c578..d77197996f 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -593,7 +593,7 @@ illogical when compared to other commands.
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'
diff --git a/runtime/doc/tags b/runtime/doc/tags
index f885e84a4e..2c46bff487 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -12,6 +12,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
% 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 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
: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*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index b15d633950..a955ddaa31 100644
--- 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 extra information.
*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?
+Using autoconf 2.69 gives a lot of warnings.
-Patch to add :S modifier for excaping the current file name.
-(ZyX, 2013 Nov 30) Update Dec 5.
+Patch to allow for negative index in string. (LCD, 2014 Feb 13)
+Feb 14 with test. Or does this intentionally not work?
-Issu 197: ]P doesn't paste over Visual selection. With patch from Christian
-Brabandt, Feb 6.
+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 @@ Additional remark by glts: the suggested words are marked bad?
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, Siarzhuk Zharski, 2013 Oct 24)
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() doesn't always do the right thing.
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
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 96207e0b27..b2d34de0ba 100644
--- 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/*.cfg setf 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
diff --git a/runtime/syntax/euphoria3.vim b/runtime/syntax/euphoria3.vim
new file mode 100644
index 0000000000..e449c511df
--- /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"
+
diff --git a/runtime/syntax/euphoria4.vim b/runtime/syntax/euphoria4.vim
new file mode 100644
index 0000000000..8ea4622c17
--- /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"
+
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index 52c96fc66b..3368b1ddc5 100644
--- 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_..'"
diff --git a/runtime/syntax/tcl.vim b/runtime/syntax/tcl.vim
index d15422daa8..3c598267dc 100644
--- 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
-
-" 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
-
-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
+" 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.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
+
+" 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 "$\(\(::\)\?\([[:alnum:]_]*::\)*\)\a[[:alnum:]_]*"
" ${...} 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