changeset 6663:056809de0b29 v7.4.656

updated for version 7.4.656 Problem: Missing changes for glob() in one file. Solution: Add the missing changes.
author Bram Moolenaar <bram@vim.org>
date Thu, 05 Mar 2015 21:21:19 +0100
parents 5e7cbaa2417b
children 41703afe4b59
files runtime/doc/eval.txt runtime/doc/todo.txt runtime/indent/html.vim runtime/syntax/c.vim runtime/syntax/cpp.vim runtime/syntax/upstreamdat.vim runtime/syntax/upstreamrpt.vim runtime/syntax/usw2kagtlog.vim src/misc1.c src/version.c
diffstat 10 files changed, 423 insertions(+), 62 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4.  Last change: 2015 Feb 10
+*eval.txt*	For Vim version 7.4.  Last change: 2015 Mar 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1834,9 +1834,9 @@ getwinposx()			Number	X coord in pixels 
 getwinposy()			Number	Y coord in pixels of GUI Vim window
 getwinvar( {nr}, {varname} [, {def}])
 				any	variable {varname} in window {nr}
-glob( {expr} [, {nosuf} [, {list}]])
+glob( {expr} [, {nosuf} [, {list} [, {alllinks}]]])
 				any	expand file wildcards in {expr}
-globpath( {path}, {expr} [, {nosuf} [, {list}]])
+globpath( {path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
 				String	do glob({expr}) for all dirs in {path}
 has( {feature})			Number	TRUE if feature {feature} supported
 has_key( {dict}, {key})		Number	TRUE if {dict} has entry {key}
@@ -3638,7 +3638,7 @@ getwinvar({winnr}, {varname} [, {def}])	
 			:let list_is_on = getwinvar(2, '&list')
 			:echo "myvar = " . getwinvar(1, 'myvar')
 <
-glob({expr} [, {nosuf} [, {list}]])				*glob()*
+glob({expr} [, {nosuf} [, {list} [, {alllinks}]]])		*glob()*
 		Expand the file wildcards in {expr}.  See |wildcards| for the
 		use of special characters.
 
@@ -3655,8 +3655,11 @@ glob({expr} [, {nosuf} [, {list}]])				*
 		matches, they are separated by <NL> characters.
 
 		If the expansion fails, the result is an empty String or List.
+
 		A name for a non-existing file is not included.  A symbolic
 		link is only included if it points to an existing file.
+		However, when the {alllinks} argument is present and it is
+		non-zero then all symbolic links are included.
 
 		For most systems backticks can be used to get files names from
 		any external command.  Example: >
@@ -3668,7 +3671,8 @@ glob({expr} [, {nosuf} [, {list}]])				*
 		See |expand()| for expanding special Vim variables.  See
 		|system()| for getting the raw output of an external command.
 
-globpath({path}, {expr} [, {nosuf} [, {list}]])			*globpath()*
+								*globpath()*
+globpath({path}, {expr} [, {nosuf} [, {list} [, {allinks}]]])
 		Perform glob() on all directories in {path} and concatenate
 		the results.  Example: >
 			:echo globpath(&rtp, "syntax/c.vim")
@@ -3694,6 +3698,8 @@ globpath({path}, {expr} [, {nosuf} [, {l
 		they are separated by <NL> characters.  Example: >
 			:echo globpath(&rtp, "syntax/c.vim", 0, 1)
 <
+		{allinks} is used as with |glob()|.
+
 		The "**" item can be used to search in a directory tree.
 		For example, to find all "README.txt" files in the directories
 		in 'runtimepath' and below: >
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2015 Mar 02
+*todo.txt*      For Vim version 7.4.  Last change: 2015 Mar 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -78,14 +78,9 @@ https://github.com/neovim/neovim/commit/
 Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
 More info Jul 24.  Not clear why.
 
-Patch for c.vim and cpp.vim. (Yasuhiro Matsumoto, 2015 Feb 28)
-
 Better .ico file for Windows. (Pat Suwalski, 2015 Feb 13)
 Waiting for response on remark from Edward Fox.
 
-Patch to put -ldl in LIBs rather than LDFLAGS, so that python2 and python3 can
-both be used. (Oazki Kiichi, 2015 Feb 28)
-
 Patch to make getregtype() return the right size for non-linux systems.
 (Yasuhiro Matsumoto, 2014 Jul 8)
 Breaks test_eval.  Inefficient, can we only compute y_width when needed?
@@ -98,10 +93,10 @@ Problem using ":try" inside ":execute". 
 ":cd C:\Windows\System32\drivers\etc*" does not work, even though the
 directory exists. (Sergio Gallelli, 2013 Dec 29)
 
-Patch to make 7.4.582 work for multi-byte. (Yasuhiro Matsumoto, 2015 Mar 1)
-
 C indent: should recognize C11 raw strings. (Mark Lodato, 2015 Mar 1)
 
+Intel Hex syntax file update, Markus Heidelberg 2015 Mar 2
+
 Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
 
 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
@@ -126,43 +121,17 @@ Goes away when disabling the swap file. 
 MS-Windows: Crash opening very long file name starting with "\\".
 (Christian Brock, 2012 Jun 29)
 
-Syntax files for Innovation Data processing. (Rob Owens, 2015 Feb 4)
-
-Add a few features to xxd. (Vadim Vygonets, 2013 Nov 11)
-Patches: 2013 Nov 19
-1: Add -e: little endian hexdump
-2: Add -o: add offset to displayed position
-3: Change displayed file position width to 8 chars
-
-Using CTRL-L while popup menu is visible behaves like CTRL-P, which is wrong.
-Patch by Yasuhiro Matsumoto, 2015 Jan 5.
-Is this right?  Comment from Amadeus Demarzi.
-Another patch from Christian, Jan 6.
-Comment from Hirohito Higashi, Jan 6, update Feb 8, update Feb 17.
-
-HTML indenting: adjustments for html5. (Michaelpg, 2015 Feb 23)
-
-glob() omits symbolic links to non-existing files.
-(Charles Campbell, 2015 Feb 19)
-Patch by James McCoy, 2015 Feb 20.
-Docs change suggestion by Roland Eggner, 2015 Feb 21.
-Probably "to a not existing file" should be "to a non-existing file".
-Also fix globpath().
+Patch to handle directories better for --remote. (xaizek, 2015 Mar 1)
 
 Cursorline background color not mixed with character highlight.
 Patch by Yasuhiro Matsumoto, 2014 Dec 3.
 
-Patch to fix temp directories for Windows, so that it works without tweaking.
-Issue 28.
-Also see http://superuser.com/questions/364879/how-to-open-a-new-file-in-gvim-e303-unable-to-open-swap-file
+The argument for "-S" is not taken literally, the ":so" command expands
+wildcards.  Add a ":nowild" command modifier?  (ZyX, 2015 March 4)
 
 Problem using diff syntax with cp932 encoding.  Idea from Yasuhiro Matsumoto,
 patch from Ken Takata (2014 Nov 6)
 
-text deleted by "dit" depends on indent of closing tag.
-(Jan Parthey, 2015 Feb 8)
-Patch by Christian, Feb 9.  Update Feb 13.
-
 ml_updatechunk() is slow when retrying for another encoding. (John Little,
 2014 Sep 11)
 
--- a/runtime/indent/html.vim
+++ b/runtime/indent/html.vim
@@ -245,6 +245,10 @@ call s:AddITags(s:indent_tags, [
     \ 'header', 'group', 'keygen', 'mark', 'math', 'meter', 'nav', 'output',
     \ 'progress', 'ruby', 'section', 'svg', 'texture', 'time', 'video',
     \ 'wbr', 'text'])
+
+" Tags added for web components:
+call s:AddITags(s:indent_tags, [
+    \ 'content', 'shadow', 'template'])
 "}}}
 
 " Add Block Tags: these contain alien content
@@ -287,7 +291,7 @@ func! s:CountITags(text)
   let s:nextrel = 0  " relative indent steps for next line [unit &sw]:
   let s:block = 0		" assume starting outside of a block
   let s:countonly = 1	" don't change state
-  call substitute(a:text, '<\zs/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
+  call substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
   let s:countonly = 0
 endfunc "}}}
 
@@ -299,7 +303,7 @@ func! s:CountTagsAndState(text)
   let s:nextrel = 0  " relative indent steps for next line [unit &sw]:
 
   let s:block = b:hi_newstate.block
-  let tmp = substitute(a:text, '<\zs/\=\w\+\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
+  let tmp = substitute(a:text, '<\zs/\=\w\+\(-\w\+\)*\>\|<!--\|-->', '\=s:CheckTag(submatch(0))', 'g')
   if s:block == 3
     let b:hi_newstate.scripttype = s:GetScriptType(matchstr(tmp, '\C.*<SCRIPT\>\zs[^>]*'))
   endif
@@ -311,6 +315,9 @@ func! s:CheckTag(itag)
   "{{{
   " Returns an empty string or "SCRIPT".
   " a:itag can be "tag" or "/tag" or "<!--" or "-->"
+  if (s:CheckCustomTag(a:itag))
+    return ""
+  endif
   let ind = s:get_tag(a:itag)
   if ind == -1
     " closing tag
@@ -365,6 +372,36 @@ func! s:CheckBlockTag(blocktag, ind)
   return ""
 endfunc "}}}
 
+" Used by s:CheckTag().
+func! s:CheckCustomTag(ctag)
+  "{{{
+  " Returns 1 if ctag is the tag for a custom element, 0 otherwise.
+  " a:ctag can be "tag" or "/tag" or "<!--" or "-->"
+  let pattern = '\%\(\w\+-\)\+\w\+'
+  if match(a:ctag, pattern) == -1
+    return 0
+  endif
+  if matchstr(a:ctag, '\/\ze.\+') == "/"
+    " closing tag
+    if s:block != 0
+      " ignore ctag within a block
+      return 1
+    endif
+    if s:nextrel == 0
+      let s:curind -= 1
+    else
+      let s:nextrel -= 1
+    endif
+  else
+    " opening tag
+    if s:block != 0
+      return 1
+    endif
+    let s:nextrel += 1
+  endif
+  return 1
+endfunc "}}}
+
 " Return the <script> type: either "javascript" or ""
 func! s:GetScriptType(str)
   "{{{
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	C
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2015 Feb 27
+" Last Change:	2015 Mar 05
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -47,16 +47,17 @@ if !exists("c_no_cformat")
 endif
 
 " cCppString: same as cString, but ends at end of line
-if s:ft ==# "cpp" && !exists("cpp_no_cpp11")
+if s:ft ==# "cpp" && !exists("cpp_no_cpp11") && !exists("c_no_cformat")
   " ISO C++11
   syn region	cString		start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
   syn region 	cCppString	start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
-elseif s:ft ==# "c" && !exists("c_no_c11")
+elseif s:ft ==# "c" && !exists("c_no_c11") && !exists("c_no_cformat")
   " ISO C99
   syn region	cString		start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
   syn region	cCppString	start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
 else
   " older C or C++
+  syn match	cFormat		display "%%" contained
   syn region	cString		start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
   syn region	cCppString	start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
 endif
@@ -80,7 +81,11 @@ syn match	cSpecialCharacter display "L'\
 
 if (s:ft ==# "c" && !exists("c_no_c11")) || (s:ft ==# "cpp" && !exists("cpp_no_cpp11"))
   " ISO C11 or ISO C++ 11
-  syn region	cString		start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
+  if exists("c_no_cformat")
+    syn region	cString		start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend
+  else
+    syn region	cString		start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
+  endif
   syn match	cCharacter	"[Uu]'[^\\]'"
   syn match	cCharacter	"[Uu]'[^']*'" contains=cSpecial
   if exists("c_gnu")
@@ -389,8 +394,13 @@ endif
 syn cluster	cLabelGroup	contains=cUserLabel
 syn match	cUserCont	display "^\s*\I\i*\s*:$" contains=@cLabelGroup
 syn match	cUserCont	display ";\s*\I\i*\s*:$" contains=@cLabelGroup
-syn match	cUserCont	display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
-syn match	cUserCont	display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
+if s:ft ==# 'cpp'
+  syn match	cUserCont	display "^\s*\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
+  syn match	cUserCont	display ";\s*\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
+else
+  syn match	cUserCont	display "^\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
+  syn match	cUserCont	display ";\s*\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
+endif
 
 syn match	cUserLabel	display "\I\i*" contained
 
--- a/runtime/syntax/cpp.vim
+++ b/runtime/syntax/cpp.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	C++
-" Current Maintainer:	vim-jp (https://github.com/vim-jp/cpp-vim)
+" Current Maintainer:	vim-jp (https://github.com/vim-jp/vim-cpp)
 " Previous Maintainer:	Ken Shan <ccshan@post.harvard.edu>
-" Last Change:	2014 May 14
+" Last Change:	2015 Mar 1
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -32,14 +32,21 @@ syn match cppCast		"\<\(const\|static\|d
 syn keyword cppStorageClass	mutable
 syn keyword cppStructure	class typename template namespace
 syn keyword cppBoolean		true false
+syn keyword cppConstant		__cplusplus
 
 " C++ 11 extensions
 if !exists("cpp_no_cpp11")
   syn keyword cppType		override final
   syn keyword cppExceptions	noexcept
-  syn keyword cppStorageClass	constexpr decltype
+  syn keyword cppStorageClass	constexpr decltype thread_local
   syn keyword cppConstant	nullptr
-  syn region cppRawString       matchgroup=cppRawDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
+  syn keyword cppConstant	ATOMIC_FLAG_INIT ATOMIC_VAR_INIT
+  syn keyword cppConstant	ATOMIC_BOOL_LOCK_FREE ATOMIC_CHAR_LOCK_FREE
+  syn keyword cppConstant	ATOMIC_CHAR16_T_LOCK_FREE ATOMIC_CHAR32_T_LOCK_FREE
+  syn keyword cppConstant	ATOMIC_WCHAR_T_LOCK_FREE ATOMIC_SHORT_LOCK_FREE
+  syn keyword cppConstant	ATOMIC_INT_LOCK_FREE ATOMIC_LONG_LOCK_FREE
+  syn keyword cppConstant	ATOMIC_LLONG_LOCK_FREE ATOMIC_POINTER_LOCK_FREE
+  syn region cppRawString	matchgroup=cppRawDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
 endif
 
 " The minimum and maximum operators in GNU C++
--- a/runtime/syntax/upstreamdat.vim
+++ b/runtime/syntax/upstreamdat.vim
@@ -1,13 +1,14 @@
 " Vim syntax file
 " Language:		Innovation Data Processing upstream.dat file
 " Maintainer:		Rob Owens <rowens@fdrinnovation.com>
-" Latest Revision:	2013-06-17
+" Latest Revision:	2013-11-27
 
 " Quit when a syntax file was already loaded
 if exists("b:current_syntax")
   finish
 endif
 
+" Parameters:
 syn keyword upstreamdat_Parameter ACCEPTPCREMOTE 
 syn keyword upstreamdat_Parameter ACCEPTREMOTE 
 syn keyword upstreamdat_Parameter ACTION 
@@ -291,6 +292,14 @@ syn keyword upstreamdat_Parameter XFEREC
 syn keyword upstreamdat_Parameter XFERRECSEP 
 syn keyword upstreamdat_Parameter XFERRECUSECR 
 
+" File Specs:
+syn match upstreamdat_Filespec /file spec\c \d\{1,3}.*/
+
+" Comments:
+syn match upstreamdat_Comment /^#.*/
+
 hi def link upstreamdat_Parameter Type
+"hi def link upstreamdat_Filespec Underlined
+hi def link upstreamdat_Comment Comment
 
 let b:current_syntax = "upstreamdat"
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/upstreamrpt.vim
@@ -0,0 +1,310 @@
+" Vim syntax file
+" Language:		Innovation Data Processing upstream.rpt file
+" Maintainer:		Rob Owens <rowens@fdrinnovation.com>
+" Latest Revision:	2014-03-13
+
+" Quit when a syntax file was already loaded
+if exists("b:current_syntax")
+  finish
+endif
+
+setlocal foldmethod=syntax
+
+" Parameters:
+syn keyword upstreamdat_Parameter ACCEPTPCREMOTE 
+syn keyword upstreamdat_Parameter ACCEPTREMOTE 
+syn keyword upstreamdat_Parameter ACTION 
+syn keyword upstreamdat_Parameter ACTIVATEONENTRY 
+syn keyword upstreamdat_Parameter ARCHIVEBIT 
+syn keyword upstreamdat_Parameter ARCHIVEBIT 
+syn keyword upstreamdat_Parameter ASCTOEBC 
+syn keyword upstreamdat_Parameter ASRBACKUP 
+syn keyword upstreamdat_Parameter ATTENDED 
+syn keyword upstreamdat_Parameter AUTHORITATIVE 
+syn keyword upstreamdat_Parameter AUTHORITATIVERESTORE 
+syn keyword upstreamdat_Parameter AUTHORITATIVERESTORE 
+syn keyword upstreamdat_Parameter BACKUPPROFILE 
+syn keyword upstreamdat_Parameter BACKUPPROFILE2 
+syn keyword upstreamdat_Parameter BACKUPREPARSEFILES 
+syn keyword upstreamdat_Parameter BACKUPREPARSEFILES 
+syn keyword upstreamdat_Parameter BACKUPVERIFY 
+syn keyword upstreamdat_Parameter BLANKTRUNC 
+syn keyword upstreamdat_Parameter CALCDASDSIZE 
+syn keyword upstreamdat_Parameter CHANGEDIRATTRIBS 
+syn keyword upstreamdat_Parameter CHANGEDIRATTRIBS 
+syn keyword upstreamdat_Parameter COMPRESSLEVEL 
+syn keyword upstreamdat_Parameter CONTROLFILE 
+syn keyword upstreamdat_Parameter DASDOVERRIDE 
+syn keyword upstreamdat_Parameter DATELIMIT 
+syn keyword upstreamdat_Parameter DATELIMIT 
+syn keyword upstreamdat_Parameter DAYSOLD 
+syn keyword upstreamdat_Parameter DAYSOLD 
+syn keyword upstreamdat_Parameter DELETED 
+syn keyword upstreamdat_Parameter DELETED 
+syn keyword upstreamdat_Parameter DELETEPROMPTS 
+syn keyword upstreamdat_Parameter DELETEPROMPTS 
+syn keyword upstreamdat_Parameter DESTINATION 
+syn keyword upstreamdat_Parameter DESTINATION 
+syn keyword upstreamdat_Parameter DIRDELETE 
+syn keyword upstreamdat_Parameter DIRECTORVMC 
+syn keyword upstreamdat_Parameter DIRONLYRESTOREOK 
+syn keyword upstreamdat_Parameter DIRSONLY 
+syn keyword upstreamdat_Parameter DIRSONLY 
+syn keyword upstreamdat_Parameter DISASTERRECOVERY 
+syn keyword upstreamdat_Parameter DISPLAY 
+syn keyword upstreamdat_Parameter DRIVEALIAS 
+syn keyword upstreamdat_Parameter DRIVEALIAS 
+syn keyword upstreamdat_Parameter DUALCOPY 
+syn keyword upstreamdat_Parameter DUPDAYS 
+syn keyword upstreamdat_Parameter DUPLICATE 
+syn keyword upstreamdat_Parameter EBCTOASC 
+syn keyword upstreamdat_Parameter ENCRYPT 
+syn keyword upstreamdat_Parameter ENCRYPTLEVEL 
+syn keyword upstreamdat_Parameter EXCLUDELISTNAME 
+syn keyword upstreamdat_Parameter FAILBACKUPONERROR 
+syn keyword upstreamdat_Parameter FAILBACKUPONERROR 
+syn keyword upstreamdat_Parameter FAILIFNOFILES 
+syn keyword upstreamdat_Parameter FAILIFNOFILES 
+syn keyword upstreamdat_Parameter FAILIFSKIP 
+syn keyword upstreamdat_Parameter FAILJOB 
+syn keyword upstreamdat_Parameter FAILRESTOREONERROR 
+syn keyword upstreamdat_Parameter FAILRESTOREONERROR 
+syn keyword upstreamdat_Parameter FILEDATE 
+syn keyword upstreamdat_Parameter FILEDATE 
+syn keyword upstreamdat_Parameter FILEDELETE 
+syn keyword upstreamdat_Parameter FILEDELETE 
+syn keyword upstreamdat_Parameter FILES 
+syn keyword upstreamdat_Parameter FILES 
+syn keyword upstreamdat_Parameter FILESOPENFORUPDAT 
+syn keyword upstreamdat_Parameter FILESOPENFORUPDAT 
+syn keyword upstreamdat_Parameter FILETRANSFER 
+syn keyword upstreamdat_Parameter GETREMOTEFILES 
+syn keyword upstreamdat_Parameter HARDLINKDB 
+syn keyword upstreamdat_Parameter HARDLINKS 
+syn keyword upstreamdat_Parameter HARDLINKS 
+syn keyword upstreamdat_Parameter HIDDENFILES 
+syn keyword upstreamdat_Parameter HIDDENFILES 
+syn keyword upstreamdat_Parameter HOLDTAPE 
+syn keyword upstreamdat_Parameter HOLDUSERDIRS 
+syn keyword upstreamdat_Parameter HOSTFILENAME 
+syn keyword upstreamdat_Parameter HOSTRECORD 
+syn keyword upstreamdat_Parameter HOSTSORT 
+syn keyword upstreamdat_Parameter IGNOREPLUGINSFORRESTORE 
+syn keyword upstreamdat_Parameter INCRDB 
+syn keyword upstreamdat_Parameter INCRDBARCHIVEBIT 
+syn keyword upstreamdat_Parameter INCRDBDELETEDFILES 
+syn keyword upstreamdat_Parameter INCREMENTAL 
+syn keyword upstreamdat_Parameter INCREMENTAL 
+syn keyword upstreamdat_Parameter INQOPTIONS 
+syn keyword upstreamdat_Parameter INSTALLWIN2KAGENT 
+syn keyword upstreamdat_Parameter INSTALLWIN2KAGENT 
+syn keyword upstreamdat_Parameter JOBOPTIONS 
+syn keyword upstreamdat_Parameter JOBRETURNCODEMAP 
+syn keyword upstreamdat_Parameter JOBWAITTIMELIMIT 
+syn keyword upstreamdat_Parameter KEEPALIVE 
+syn keyword upstreamdat_Parameter LANINTERFACE 
+syn keyword upstreamdat_Parameter LANWSNAME 
+syn keyword upstreamdat_Parameter LANWSPASSWORD 
+syn keyword upstreamdat_Parameter LASTACCESS 
+syn keyword upstreamdat_Parameter LASTACCESS 
+syn keyword upstreamdat_Parameter LATESTDATE 
+syn keyword upstreamdat_Parameter LATESTDATE 
+syn keyword upstreamdat_Parameter LATESTTIME 
+syn keyword upstreamdat_Parameter LATESTTIME 
+syn keyword upstreamdat_Parameter LATESTVERSION 
+syn keyword upstreamdat_Parameter LINEBLOCK 
+syn keyword upstreamdat_Parameter LINETRUNC 
+syn keyword upstreamdat_Parameter LISTENFORREMOTE 
+syn keyword upstreamdat_Parameter LOCALBACKUP 
+syn keyword upstreamdat_Parameter LOCALBACKUPDIR 
+syn keyword upstreamdat_Parameter LOCALBACKUPMAX 
+syn keyword upstreamdat_Parameter LOCALBACKUPMAXFILESIZE 
+syn keyword upstreamdat_Parameter LOCALBACKUPMAXSIZE 
+syn keyword upstreamdat_Parameter LOCALEXCLUDEFILE 
+syn keyword upstreamdat_Parameter LOCALPARAMETERS 
+syn keyword upstreamdat_Parameter LOCALPASSWORD 
+syn keyword upstreamdat_Parameter LOCALRESTORE 
+syn keyword upstreamdat_Parameter LOCALUSER 
+syn keyword upstreamdat_Parameter LOFS 
+syn keyword upstreamdat_Parameter LOGNONFATAL 
+syn keyword upstreamdat_Parameter MAXBACKUPFILESFAIL 
+syn keyword upstreamdat_Parameter MAXBACKUPTIME 
+syn keyword upstreamdat_Parameter MAXDUPS 
+syn keyword upstreamdat_Parameter MAXFILENAMESIZE 
+syn keyword upstreamdat_Parameter MAXKFILESIZE 
+syn keyword upstreamdat_Parameter MAXLOGDAYS 
+syn keyword upstreamdat_Parameter MAXRESTOREFILESFAIL 
+syn keyword upstreamdat_Parameter MAXRESTORETIME 
+syn keyword upstreamdat_Parameter MAXRETRY 
+syn keyword upstreamdat_Parameter MAXRPTDAYS 
+syn keyword upstreamdat_Parameter MERGE 
+syn keyword upstreamdat_Parameter MIGRBITS 
+syn keyword upstreamdat_Parameter MIGRBITS 
+syn keyword upstreamdat_Parameter MINCOMPRESSSIZE 
+syn keyword upstreamdat_Parameter MINIMIZE 
+syn keyword upstreamdat_Parameter MODIFYFILE 
+syn keyword upstreamdat_Parameter MOUNTPOINTS 
+syn keyword upstreamdat_Parameter MOUNTPOINTS 
+syn keyword upstreamdat_Parameter NDS 
+syn keyword upstreamdat_Parameter NDS 
+syn keyword upstreamdat_Parameter NEWFILECOMPARE 
+syn keyword upstreamdat_Parameter NFSBELOW 
+syn keyword upstreamdat_Parameter NODATAOK 
+syn keyword upstreamdat_Parameter NODIRFORINCREMENTAL 
+syn keyword upstreamdat_Parameter NODIRFORINCREMENTAL 
+syn keyword upstreamdat_Parameter NONFILEDATABITMAP 
+syn keyword upstreamdat_Parameter NONFILEDATABITMAP 
+syn keyword upstreamdat_Parameter NOPOINTRESTORE 
+syn keyword upstreamdat_Parameter NOSPECINHERITANCE 
+syn keyword upstreamdat_Parameter NOTIFYEVENTS 
+syn keyword upstreamdat_Parameter NOTIFYFAILUREATTACHMENT 
+syn keyword upstreamdat_Parameter NOTIFYSUCCESSATTACHMENT 
+syn keyword upstreamdat_Parameter NOTIFYTARGETS 
+syn keyword upstreamdat_Parameter NOUIDGIDNAMES 
+syn keyword upstreamdat_Parameter NOUIDGIDNAMES 
+syn keyword upstreamdat_Parameter NOVELLMIGRATE 
+syn keyword upstreamdat_Parameter NOVELLMIGRATE 
+syn keyword upstreamdat_Parameter NOVELLMIGRATEADDEXT 
+syn keyword upstreamdat_Parameter NOVELLMIGRATEADDEXT 
+syn keyword upstreamdat_Parameter NOVELLPROFILE 
+syn keyword upstreamdat_Parameter NOVELLRECALL 
+syn keyword upstreamdat_Parameter NTFSADDPERMISSION 
+syn keyword upstreamdat_Parameter NTFSADDPERMISSION 
+syn keyword upstreamdat_Parameter NTREGRESTORE 
+syn keyword upstreamdat_Parameter OSTYPE 
+syn keyword upstreamdat_Parameter OUTPORT 
+syn keyword upstreamdat_Parameter PACKFLUSHAFTERFILE 
+syn keyword upstreamdat_Parameter PACKRECSIZE 
+syn keyword upstreamdat_Parameter PARAMETER 
+syn keyword upstreamdat_Parameter PASSWORD 
+syn keyword upstreamdat_Parameter PATHNAME 
+syn keyword upstreamdat_Parameter PATHNAME 
+syn keyword upstreamdat_Parameter PERFORMBITMAP 
+syn keyword upstreamdat_Parameter PERFORMNUMRECORDS 
+syn keyword upstreamdat_Parameter PERFORMRECORDSIZE 
+syn keyword upstreamdat_Parameter PLUGIN 
+syn keyword upstreamdat_Parameter PLUGIN 
+syn keyword upstreamdat_Parameter PLUGINPARAMETERS 
+syn keyword upstreamdat_Parameter PLUGINPARAMETERS 
+syn keyword upstreamdat_Parameter POSTJOB 
+syn keyword upstreamdat_Parameter PREJOB 
+syn keyword upstreamdat_Parameter PRTYCLASS 
+syn keyword upstreamdat_Parameter PRTYLEVEL 
+syn keyword upstreamdat_Parameter RECALLCLEANUP 
+syn keyword upstreamdat_Parameter RECALLOFFLINEFILES 
+syn keyword upstreamdat_Parameter RECALLOFFLINEFILES 
+syn keyword upstreamdat_Parameter RECORDSIZE 
+syn keyword upstreamdat_Parameter REMOTEADDR 
+syn keyword upstreamdat_Parameter REMOTEAPPLPREF 
+syn keyword upstreamdat_Parameter REMOTEAPPLRETRY 
+syn keyword upstreamdat_Parameter REMOTECONNECTTYPE 
+syn keyword upstreamdat_Parameter REMOTEFLAGS 
+syn keyword upstreamdat_Parameter REMOTEIPADAPTER 
+syn keyword upstreamdat_Parameter REMOTELOCALPARAMETERS 
+syn keyword upstreamdat_Parameter REMOTELOGMODE 
+syn keyword upstreamdat_Parameter REMOTELUNAME 
+syn keyword upstreamdat_Parameter REMOTEMAXRETRIES 
+syn keyword upstreamdat_Parameter REMOTEMODENAME 
+syn keyword upstreamdat_Parameter REMOTEPARAMETERFILE 
+syn keyword upstreamdat_Parameter REMOTEPORT 
+syn keyword upstreamdat_Parameter REMOTEREQUEST 
+syn keyword upstreamdat_Parameter REMOTERESTART 
+syn keyword upstreamdat_Parameter REMOTEROUTE 
+syn keyword upstreamdat_Parameter REMOTETARGETNAME 
+syn keyword upstreamdat_Parameter REMOTETCP 
+syn keyword upstreamdat_Parameter REMOTETIMEOUT 
+syn keyword upstreamdat_Parameter REMOTETMAXRETRY 
+syn keyword upstreamdat_Parameter REMOTETPN 
+syn keyword upstreamdat_Parameter REMOTEUSAPPL 
+syn keyword upstreamdat_Parameter REMOTEVERIFY 
+syn keyword upstreamdat_Parameter REMOTEWTOCOMP 
+syn keyword upstreamdat_Parameter REPORTNAME 
+syn keyword upstreamdat_Parameter REPORTOPTIONS 
+syn keyword upstreamdat_Parameter RESTARTLASTFILE 
+syn keyword upstreamdat_Parameter RESTART 
+syn keyword upstreamdat_Parameter RESTARTTYPE 
+syn keyword upstreamdat_Parameter RESTARTVERSIONDATE 
+syn keyword upstreamdat_Parameter RESTOREARCHIVEBIT 
+syn keyword upstreamdat_Parameter RESTORECHECKPOINT 
+syn keyword upstreamdat_Parameter RESTOREDATELIMIT 
+syn keyword upstreamdat_Parameter RESTOREDATELIMIT 
+syn keyword upstreamdat_Parameter RESTOREFILEFAIL 
+syn keyword upstreamdat_Parameter RESTOREMOUNTPOINTS 
+syn keyword upstreamdat_Parameter RESTOREMOUNTPOINTS 
+syn keyword upstreamdat_Parameter RESTORESEGMENTS 
+syn keyword upstreamdat_Parameter RESTORESEGMENTS 
+syn keyword upstreamdat_Parameter RESTORETODIFFFS 
+syn keyword upstreamdat_Parameter RETAIN 
+syn keyword upstreamdat_Parameter RETAIN 
+syn keyword upstreamdat_Parameter ROOTENTRY 
+syn keyword upstreamdat_Parameter ROOTENTRY 
+syn keyword upstreamdat_Parameter SAN 
+syn keyword upstreamdat_Parameter SCHEDULENAME 
+syn keyword upstreamdat_Parameter SEGMENTEDFILESIZE 
+syn keyword upstreamdat_Parameter SEGMENTEDFILESIZE 
+syn keyword upstreamdat_Parameter SEGMENTSIZE 
+syn keyword upstreamdat_Parameter SEGMENTSIZE 
+syn keyword upstreamdat_Parameter SENDHOSTDETAILS 
+syn keyword upstreamdat_Parameter SINGLEFS 
+syn keyword upstreamdat_Parameter SIZETRC 
+syn keyword upstreamdat_Parameter SKIP 
+syn keyword upstreamdat_Parameter SKIPBACKUPSCAN 
+syn keyword upstreamdat_Parameter SKIPOLD 
+syn keyword upstreamdat_Parameter SKIPOLD 
+syn keyword upstreamdat_Parameter SMSTARGETSERVICENAME 
+syn keyword upstreamdat_Parameter SMSTSA 
+syn keyword upstreamdat_Parameter SOLO 
+syn keyword upstreamdat_Parameter SORTBACKUP 
+syn keyword upstreamdat_Parameter SOSDISK 
+syn keyword upstreamdat_Parameter SOSDISK 
+syn keyword upstreamdat_Parameter SOSTIMESTAMP 
+syn keyword upstreamdat_Parameter SOSTIMESTAMP 
+syn keyword upstreamdat_Parameter SOSTIMESTAMPPATH 
+syn keyword upstreamdat_Parameter SOSTIMESTAMPPATH 
+syn keyword upstreamdat_Parameter SPECNUMBER 
+syn keyword upstreamdat_Parameter SPECNUMBER 
+syn keyword upstreamdat_Parameter SPECTYPE 
+syn keyword upstreamdat_Parameter SPECTYPE 
+syn keyword upstreamdat_Parameter STARTTIME 
+syn keyword upstreamdat_Parameter STORAGETYPE 
+syn keyword upstreamdat_Parameter SUBDIRECTORIES 
+syn keyword upstreamdat_Parameter SUBDIRECTORIES 
+syn keyword upstreamdat_Parameter SWITCHTOTAPEMB 
+syn keyword upstreamdat_Parameter TCPADDRESS 
+syn keyword upstreamdat_Parameter TCPTIMEOUT 
+syn keyword upstreamdat_Parameter TIMEOVERRIDE 
+syn keyword upstreamdat_Parameter TRACE 
+syn keyword upstreamdat_Parameter TRANSLATE 
+syn keyword upstreamdat_Parameter ULTRACOMP 
+syn keyword upstreamdat_Parameter ULTREG 
+syn keyword upstreamdat_Parameter ULTUPD 
+syn keyword upstreamdat_Parameter UNCMACHINEALIAS 
+syn keyword upstreamdat_Parameter UNCMACHINEALIAS 
+syn keyword upstreamdat_Parameter USEALEBRA 
+syn keyword upstreamdat_Parameter USECONTROLFILE 
+syn keyword upstreamdat_Parameter USEGID 
+syn keyword upstreamdat_Parameter USERID 
+syn keyword upstreamdat_Parameter USEUID 
+syn keyword upstreamdat_Parameter USNOUIDGIDERRORS 
+syn keyword upstreamdat_Parameter UTF8 
+syn keyword upstreamdat_Parameter VAULTNUMBER 
+syn keyword upstreamdat_Parameter VERSIONDATE 
+syn keyword upstreamdat_Parameter WRITESPARSE 
+syn keyword upstreamdat_Parameter XFERECORDSIZE 
+syn keyword upstreamdat_Parameter XFERRECSEP 
+syn keyword upstreamdat_Parameter XFERRECUSECR 
+
+" File Specs:
+syn match upstreamdat_Filespec /file spec\c \d\{1,3}.*/
+
+" Comments:
+syn match upstreamdat_Comment /^#.*/
+
+" List Of Parameters:
+syn region upstreamdat_Parms start="Current Parameters:" end="End Of Parameters" transparent fold
+
+hi def link upstreamdat_Parameter Type
+"hi def link upstreamdat_Filespec Underlined
+hi def link upstreamdat_Comment Comment
+
+let b:current_syntax = "upstreamdat"
--- a/runtime/syntax/usw2kagtlog.vim
+++ b/runtime/syntax/usw2kagtlog.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:             Innovation Data Processing USW2KAgt.log file
 " Maintainer:           Rob Owens <rowens@fdrinnovation.com>
-" Latest Revision:      2013-09-19
+" Latest Revision:      2014-04-01
 
 " Quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -17,8 +17,12 @@ syn match usw2kagtlog_MsgI /Msg #\(Agt\|
 syn match usw2kagtlog_MsgW /Msg #\(Agt\|PC\|Srv\)\d\{4,5}W/ nextgroup=usw2kagtlog_Process skipwhite
 " Processes:
 syn region usw2kagtlog_Process start="(" end=")" contained
-syn region usw2kagtlog_Process start="Starting the processing for a \zs\"" end="\ze client request"
-syn region usw2kagtlog_Process start="Ending the processing for a \zs\"" end="\ze client request"
+"syn region usw2kagtlog_Process start="Starting the processing for a \zs\"" end="\ze client request"
+"syn region usw2kagtlog_Process start="Ending the processing for a \zs\"" end="\ze client request"
+"syn region usw2kagtlog_Process start="Starting the processing for a \zs\"" end="\ze client\s\{0,1}\r\{0,1}\s\{1,9}request"
+"syn region usw2kagtlog_Process start="Ending the processing for a \zs\"" end="\ze client\s\{0,1}\r\{0,1}\s\{1,9}request"
+syn region usw2kagtlog_Process start="Starting the processing for a \zs\"" end="\ze client"
+syn region usw2kagtlog_Process start="Ending the processing for a \zs\"" end="\ze client"
 " IP Address:
 syn match usw2kagtlog_IPaddr / \d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
 " Profile:
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -10168,11 +10168,15 @@ unix_expandpath(gap, path, wildoff, flag
 		}
 		else
 		{
+		    struct stat sb;
+
 		    /* no more wildcards, check if there is a match */
 		    /* remove backslashes for the remaining components only */
 		    if (*path_end != NUL)
 			backslash_halve(buf + len + 1);
-		    if (mch_getperm(buf) >= 0)	/* add existing file */
+		    /* add existing file or symbolic link */
+		    if ((flags & EW_ALLLINKS) ? mch_lstat(buf, &sb) >= 0
+						      : mch_getperm(buf) >= 0)
 		    {
 #ifdef MACOS_CONVERT
 			size_t precomp_len = STRLEN(buf)+1;
@@ -10919,6 +10923,7 @@ expand_backtick(gap, pat, flags)
  * EW_EXEC	add executable files
  * EW_NOTFOUND	add even when it doesn't exist
  * EW_ADDSLASH	add slash after directory name
+ * EW_ALLLINKS	add symlink also when the referred file does not exist
  */
     void
 addfile(gap, f, flags)
@@ -10928,9 +10933,11 @@ addfile(gap, f, flags)
 {
     char_u	*p;
     int		isdir;
-
-    /* if the file/dir doesn't exist, may not add it */
-    if (!(flags & EW_NOTFOUND) && mch_getperm(f) < 0)
+    struct stat sb;
+
+    /* if the file/dir/link doesn't exist, may not add it */
+    if (!(flags & EW_NOTFOUND) && ((flags & EW_ALLLINKS)
+				? mch_lstat(f, &sb) < 0 : mch_getperm(f) < 0))
 	return;
 
 #ifdef FNAME_ILLEGAL
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    656,
+/**/
     655,
 /**/
     654,