> . Will create the patch in the evening.

# HG changeset patch
# User ZyX <[email protected]>
# Date 1350488709 -14400
# Node ID 5e7c747c555351b5923d82f3e8997befaedddf1f
# Parent  3346d901546830f9d20ee456e86fc60b9e393ffc
Fixed syntax/vim.vim embedded external languages support

diff -r 3346d9015468 -r 5e7c747c5553 runtime/doc/syntax.txt
--- a/runtime/doc/syntax.txt    Sun Oct 14 05:19:47 2012 +0200
+++ b/runtime/doc/syntax.txt    Wed Oct 17 19:44:44 2012 +0400
@@ -3023,20 +3023,16 @@
 embedded script highlighting they wish to have. >
 
    g:vimsyn_embed == 0   : don't embed any scripts
-   g:vimsyn_embed =~ 'm' : embed mzscheme (but only if vim supports it)
-   g:vimsyn_embed =~ 'p' : embed perl     (but only if vim supports it)
-   g:vimsyn_embed =~ 'P' : embed python   (but only if vim supports it)
-   g:vimsyn_embed =~ 'r' : embed ruby     (but only if vim supports it)
-   g:vimsyn_embed =~ 't' : embed tcl      (but only if vim supports it)
+   g:vimsyn_embed =~ 'm' : embed mzscheme
+   g:vimsyn_embed =~ 'p' : embed perl
+   g:vimsyn_embed =~ 'P' : embed python
+   g:vimsyn_embed =~ 'r' : embed ruby
+   g:vimsyn_embed =~ 't' : embed tcl
 <
-By default, g:vimsyn_embed is "mpPr"; ie. syntax/vim.vim will support
-highlighting mzscheme, perl, python, and ruby by default.  Vim's has("tcl")
-test appears to hang vim when tcl is not truly available.  Thus, by default,
-tcl is not supported for embedding (but those of you who like tcl embedded in
-their vim syntax highlighting can simply include it in the g:vimembedscript
-option).
+By default, g:vimsyn_embed is "mpPrt"; ie. syntax/vim.vim will support
+highlighting all of the supported languages.
+
                                                *g:vimsyn_folding*
-
 Some folding is now supported with syntax/vim.vim: >
 
    g:vimsyn_folding == 0 or doesn't exist: no syntax-based folding
diff -r 3346d9015468 -r 5e7c747c5553 runtime/syntax/vim.vim
--- a/runtime/syntax/vim.vim    Sun Oct 14 05:19:47 2012 +0200
+++ b/runtime/syntax/vim.vim    Wed Oct 17 19:44:44 2012 +0400
@@ -549,24 +549,27 @@
 " Allows users to specify the type of embedded script highlighting
 " they want:  (perl/python/ruby/tcl support)
 "   g:vimsyn_embed == 0   : don't embed any scripts
-"   g:vimsyn_embed ~= 'l' : embed lua      (but only if vim supports it)
-"   g:vimsyn_embed ~= 'm' : embed mzscheme (but only if vim supports it)
-"   g:vimsyn_embed ~= 'p' : embed perl     (but only if vim supports it)
-"   g:vimsyn_embed ~= 'P' : embed python   (but only if vim supports it)
-"   g:vimsyn_embed ~= 'r' : embed ruby     (but only if vim supports it)
-"   g:vimsyn_embed ~= 't' : embed tcl      (but only if vim supports it)
+"   g:vimsyn_embed ~= 'l' : embed lua
+"   g:vimsyn_embed ~= 'm' : embed mzscheme
+"   g:vimsyn_embed ~= 'p' : embed perl
+"   g:vimsyn_embed ~= 'P' : embed python
+"   g:vimsyn_embed ~= 'r' : embed ruby
+"   g:vimsyn_embed ~= 't' : embed tcl
 if !exists("g:vimsyn_embed")
- let g:vimsyn_embed= "lmpPr"
+ let g:vimsyn_embed= "lmpPrt"
 endif
 
 " [-- lua --] {{{3
-let s:luapath= fnameescape(expand("<sfile>:p:h")."/lua.vim")
-if !filereadable(s:luapath)
- let s:luapath= fnameescape(globpath(&rtp,"syntax/lua.vim"))
+let s:use_lua=0
+if stridx(g:vimsyn_embed, 'l')!=-1
+ try
+  unlet! b:current_syntax
+  syntax include @vimLuaScript syntax/lua.vim
+  let s:use_lua=1
+ catch /^Vim(syntax):E484:/
+ endtry
 endif
-if (g:vimsyn_embed =~ 'l' && has("lua")) && filereadable(s:luapath)
- unlet! b:current_syntax
- exe "syn include @vimLuaScript ".s:luapath
+if s:use_lua
  if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'l'
   syn region vimLuaRegion fold matchgroup=vimScriptDelim 
start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+       contains=@vimLuaScript
   syn region vimLuaRegion fold matchgroup=vimScriptDelim start=+lua\s*<<\s*$+ 
end=+\.$+                contains=@vimLuaScript
@@ -579,16 +582,19 @@
  syn region vimEmbedError start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+
  syn region vimEmbedError start=+lua\s*<<\s*$+ end=+\.$+
 endif
-unlet s:luapath
+unlet s:use_lua
 
 " [-- perl --] {{{3
-let s:perlpath= fnameescape(expand("<sfile>:p:h")."/perl.vim")
-if !filereadable(s:perlpath)
- let s:perlpath= fnameescape(globpath(&rtp,"syntax/perl.vim"))
+let s:use_perl=0
+if stridx(g:vimsyn_embed, 'p')!=-1
+ try
+  unlet! b:current_syntax
+  syntax include @vimPerlScript syntax/perl.vim
+  let s:use_perl=1
+ catch /^Vim(syntax):E484:/
+ endtry
 endif
-if (g:vimsyn_embed =~ 'p' && has("perl")) && filereadable(s:perlpath)
- unlet! b:current_syntax
- exe "syn include @vimPerlScript ".s:perlpath
+if s:use_perl
  if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'p'
   syn region vimPerlRegion fold matchgroup=vimScriptDelim 
start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPerlScript
   syn region vimPerlRegion fold matchgroup=vimScriptDelim 
start=+pe\%[rl]\s*<<\s*$+ end=+\.$+  contains=@vimPerlScript
@@ -601,16 +607,19 @@
  syn region vimEmbedError start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+
  syn region vimEmbedError start=+pe\%[rl]\s*<<\s*$+ end=+\.$+
 endif
-unlet s:perlpath
+unlet s:use_perl
 
 " [-- ruby --] {{{3
-let s:rubypath= fnameescape(expand("<sfile>:p:h")."/ruby.vim")
-if !filereadable(s:rubypath)
- let s:rubypath= fnameescape(globpath(&rtp,"syntax/ruby.vim"))
+let s:use_ruby=0
+if stridx(g:vimsyn_embed, 'r')!=-1
+ try
+  unlet! b:current_syntax
+  syntax include @vimRubyScript syntax/ruby.vim
+  let s:use_ruby=1
+ catch /^Vim(syntax):E484:/
+ endtry
 endif
-if (g:vimsyn_embed =~ 'r' && has("ruby")) && filereadable(s:rubypath)
- unlet! b:current_syntax
- exe "syn include @vimRubyScript ".s:rubypath
+if s:use_ruby
  if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'r'
   syn region vimRubyRegion fold matchgroup=vimScriptDelim 
start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+   contains=@vimRubyScript
  else
@@ -622,16 +631,19 @@
  syn region vimEmbedError start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+
  syn region vimEmbedError start=+rub[y]\s*<<\s*$+ end=+\.$+
 endif
-unlet s:rubypath
+unlet s:use_ruby
 
 " [-- python --] {{{3
-let s:pythonpath= fnameescape(expand("<sfile>:p:h")."/python.vim")
-if !filereadable(s:pythonpath)
- let s:pythonpath= fnameescape(globpath(&rtp,"syntax/python.vim"))
+let s:use_python=0
+if stridx(g:vimsyn_embed, 'P')!=-1
+ try
+  unlet! b:current_syntax
+  syntax include @vimPythonScript syntax/python.vim
+  let s:use_python=1
+ catch /^Vim(syntax):E484:/
+ endtry
 endif
-if (g:vimsyn_embed =~ 'P' && has("python")) && filereadable(s:pythonpath)
- unlet! b:current_syntax
- exe "syn include @vimPythonScript ".s:pythonpath
+if s:use_python
  if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'P'
   syn region vimPythonRegion fold matchgroup=vimScriptDelim 
start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+  contains=@vimPythonScript
   syn region vimPythonRegion fold matchgroup=vimScriptDelim 
start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+           contains=@vimPythonScript
@@ -644,52 +656,49 @@
  syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
  syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+
 endif
-unlet s:pythonpath
+unlet s:use_python
 
 " [-- tcl --] {{{3
-if has("win32") || has("win95") || has("win64") || has("win16")
- " apparently has("tcl") has been hanging vim on some windows systems with 
cygwin
- let s:trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
-else
- let s:trytcl= 1
+let s:use_tcl=0
+if stridx(g:vimsyn_embed, 't')!=-1
+ try
+  unlet! b:current_syntax
+  syntax include @vimTclScript syntax/tcl.vim
+  let s:use_tcl=1
+ catch /^Vim(syntax):E484:/
+ endtry
 endif
-if s:trytcl
- let s:tclpath= fnameescape(expand("<sfile>:p:h")."/tcl.vim")
- if !filereadable(s:tclpath)
-  let s:tclpath= fnameescape(globpath(&rtp,"syntax/tcl.vim"))
+if s:use_tcl
+ if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 't'
+  syn region vimTclRegion fold matchgroup=vimScriptDelim 
start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+   contains=@vimTclScript
+  syn region vimTclRegion fold matchgroup=vimScriptDelim 
start=+tc[l]\=\s*<<\s*$+ end=+\.$+    contains=@vimTclScript
+ else
+  syn region vimTclRegion matchgroup=vimScriptDelim 
start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+        contains=@vimTclScript
+  syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ 
end=+\.$+         contains=@vimTclScript
  endif
- if (g:vimsyn_embed =~ 't' && has("tcl")) && filereadable(s:tclpath)
-  unlet! b:current_syntax
-  exe "syn include @vimTclScript ".s:tclpath
-  if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 't'
-   syn region vimTclRegion fold matchgroup=vimScriptDelim 
start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+  contains=@vimTclScript
-   syn region vimTclRegion fold matchgroup=vimScriptDelim 
start=+tc[l]\=\s*<<\s*$+ end=+\.$+   contains=@vimTclScript
-  else
-   syn region vimTclRegion matchgroup=vimScriptDelim 
start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+       contains=@vimTclScript
-   syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ 
end=+\.$+                contains=@vimTclScript
-  endif
-  syn cluster vimFuncBodyList  add=vimTclScript
- else
-  syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
-  syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
- endif
- unlet s:tclpath
+ syn cluster vimFuncBodyList   add=vimTclScript
 else
  syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
  syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
 endif
-unlet s:trytcl
+unlet s:use_tcl
 
 " [-- mzscheme --] {{{3
-let s:mzschemepath= fnameescape(expand("<sfile>:p:h")."/scheme.vim")
-if !filereadable(s:mzschemepath)
- let s:mzschemepath= fnameescape(globpath(&rtp,"syntax/scheme.vim"))
+let s:use_mzscheme=0
+if stridx(g:vimsyn_embed, 'm')!=-1
+ try
+  unlet! b:current_syntax
+  let iskKeep= &l:isk
+  try
+   syntax include @vimMzSchemeScript syntax/scheme.vim
+  finally
+   let &l:isk= iskKeep
+  endtry
+  let s:use_mzscheme=1
+ catch /^Vim(syntax):E484:/
+ endtry
 endif
-if (g:vimsyn_embed =~ 'm' && has("mzscheme")) && filereadable(s:mzschemepath)
- unlet! b:current_syntax
- let iskKeep= &isk
- exe "syn include @vimMzSchemeScript ".s:mzschemepath
- let &isk= iskKeep
+if s:use_mzscheme
  if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'm'
   syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim 
start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimMzSchemeScript
   syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim 
start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+          contains=@vimMzSchemeScript
@@ -702,7 +711,7 @@
  syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+
  syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+
 endif
-unlet s:mzschemepath
+unlet s:use_mzscheme
 
 " Synchronize (speed) {{{2
 "============

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
diff -cr vim.3346d9015468/runtime/doc/syntax.txt vim.5e7c747c5553/runtime/doc/syntax.txt
*** vim.3346d9015468/runtime/doc/syntax.txt	2012-10-17 19:45:39.000000000 +0400
--- vim.5e7c747c5553/runtime/doc/syntax.txt	2012-10-17 19:45:39.000000000 +0400
***************
*** 3023,3042 ****
  embedded script highlighting they wish to have. >
  
     g:vimsyn_embed == 0   : don't embed any scripts
!    g:vimsyn_embed =~ 'm' : embed mzscheme (but only if vim supports it)
!    g:vimsyn_embed =~ 'p' : embed perl     (but only if vim supports it)
!    g:vimsyn_embed =~ 'P' : embed python   (but only if vim supports it)
!    g:vimsyn_embed =~ 'r' : embed ruby     (but only if vim supports it)
!    g:vimsyn_embed =~ 't' : embed tcl      (but only if vim supports it)
  <
! By default, g:vimsyn_embed is "mpPr"; ie. syntax/vim.vim will support
! highlighting mzscheme, perl, python, and ruby by default.  Vim's has("tcl")
! test appears to hang vim when tcl is not truly available.  Thus, by default,
! tcl is not supported for embedding (but those of you who like tcl embedded in
! their vim syntax highlighting can simply include it in the g:vimembedscript
! option).
! 						*g:vimsyn_folding*
  
  Some folding is now supported with syntax/vim.vim: >
  
     g:vimsyn_folding == 0 or doesn't exist: no syntax-based folding
--- 3023,3038 ----
  embedded script highlighting they wish to have. >
  
     g:vimsyn_embed == 0   : don't embed any scripts
!    g:vimsyn_embed =~ 'm' : embed mzscheme
!    g:vimsyn_embed =~ 'p' : embed perl
!    g:vimsyn_embed =~ 'P' : embed python
!    g:vimsyn_embed =~ 'r' : embed ruby
!    g:vimsyn_embed =~ 't' : embed tcl
  <
! By default, g:vimsyn_embed is "mpPrt"; ie. syntax/vim.vim will support
! highlighting all of the supported languages.
  
+ 						*g:vimsyn_folding*
  Some folding is now supported with syntax/vim.vim: >
  
     g:vimsyn_folding == 0 or doesn't exist: no syntax-based folding
diff -cr vim.3346d9015468/runtime/syntax/vim.vim vim.5e7c747c5553/runtime/syntax/vim.vim
*** vim.3346d9015468/runtime/syntax/vim.vim	2012-10-17 19:45:39.000000000 +0400
--- vim.5e7c747c5553/runtime/syntax/vim.vim	2012-10-17 19:45:39.000000000 +0400
***************
*** 549,572 ****
  " Allows users to specify the type of embedded script highlighting
  " they want:  (perl/python/ruby/tcl support)
  "   g:vimsyn_embed == 0   : don't embed any scripts
! "   g:vimsyn_embed ~= 'l' : embed lua      (but only if vim supports it)
! "   g:vimsyn_embed ~= 'm' : embed mzscheme (but only if vim supports it)
! "   g:vimsyn_embed ~= 'p' : embed perl     (but only if vim supports it)
! "   g:vimsyn_embed ~= 'P' : embed python   (but only if vim supports it)
! "   g:vimsyn_embed ~= 'r' : embed ruby     (but only if vim supports it)
! "   g:vimsyn_embed ~= 't' : embed tcl      (but only if vim supports it)
  if !exists("g:vimsyn_embed")
!  let g:vimsyn_embed= "lmpPr"
  endif
  
  " [-- lua --] {{{3
! let s:luapath= fnameescape(expand("<sfile>:p:h")."/lua.vim")
! if !filereadable(s:luapath)
!  let s:luapath= fnameescape(globpath(&rtp,"syntax/lua.vim"))
! endif
! if (g:vimsyn_embed =~ 'l' && has("lua")) && filereadable(s:luapath)
!  unlet! b:current_syntax
!  exe "syn include @vimLuaScript ".s:luapath
   if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'l'
    syn region vimLuaRegion fold matchgroup=vimScriptDelim start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimLuaScript
    syn region vimLuaRegion fold matchgroup=vimScriptDelim start=+lua\s*<<\s*$+ end=+\.$+		contains=@vimLuaScript
--- 549,575 ----
  " Allows users to specify the type of embedded script highlighting
  " they want:  (perl/python/ruby/tcl support)
  "   g:vimsyn_embed == 0   : don't embed any scripts
! "   g:vimsyn_embed ~= 'l' : embed lua
! "   g:vimsyn_embed ~= 'm' : embed mzscheme
! "   g:vimsyn_embed ~= 'p' : embed perl
! "   g:vimsyn_embed ~= 'P' : embed python
! "   g:vimsyn_embed ~= 'r' : embed ruby
! "   g:vimsyn_embed ~= 't' : embed tcl
  if !exists("g:vimsyn_embed")
!  let g:vimsyn_embed= "lmpPrt"
  endif
  
  " [-- lua --] {{{3
! let s:use_lua=0
! if stridx(g:vimsyn_embed, 'l')!=-1
!  try
!   unlet! b:current_syntax
!   syntax include @vimLuaScript syntax/lua.vim
!   let s:use_lua=1
!  catch /^Vim(syntax):E484:/
!  endtry
! endif
! if s:use_lua
   if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'l'
    syn region vimLuaRegion fold matchgroup=vimScriptDelim start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimLuaScript
    syn region vimLuaRegion fold matchgroup=vimScriptDelim start=+lua\s*<<\s*$+ end=+\.$+		contains=@vimLuaScript
***************
*** 579,594 ****
   syn region vimEmbedError start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+
   syn region vimEmbedError start=+lua\s*<<\s*$+ end=+\.$+
  endif
! unlet s:luapath
  
  " [-- perl --] {{{3
! let s:perlpath= fnameescape(expand("<sfile>:p:h")."/perl.vim")
! if !filereadable(s:perlpath)
!  let s:perlpath= fnameescape(globpath(&rtp,"syntax/perl.vim"))
! endif
! if (g:vimsyn_embed =~ 'p' && has("perl")) && filereadable(s:perlpath)
!  unlet! b:current_syntax
!  exe "syn include @vimPerlScript ".s:perlpath
   if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'p'
    syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimPerlScript
    syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+	contains=@vimPerlScript
--- 582,600 ----
   syn region vimEmbedError start=+lua\s*<<\s*\z(.*\)$+ end=+^\z1$+
   syn region vimEmbedError start=+lua\s*<<\s*$+ end=+\.$+
  endif
! unlet s:use_lua
  
  " [-- perl --] {{{3
! let s:use_perl=0
! if stridx(g:vimsyn_embed, 'p')!=-1
!  try
!   unlet! b:current_syntax
!   syntax include @vimPerlScript syntax/perl.vim
!   let s:use_perl=1
!  catch /^Vim(syntax):E484:/
!  endtry
! endif
! if s:use_perl
   if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'p'
    syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimPerlScript
    syn region vimPerlRegion fold matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+	contains=@vimPerlScript
***************
*** 601,616 ****
   syn region vimEmbedError start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+
   syn region vimEmbedError start=+pe\%[rl]\s*<<\s*$+ end=+\.$+
  endif
! unlet s:perlpath
  
  " [-- ruby --] {{{3
! let s:rubypath= fnameescape(expand("<sfile>:p:h")."/ruby.vim")
! if !filereadable(s:rubypath)
!  let s:rubypath= fnameescape(globpath(&rtp,"syntax/ruby.vim"))
! endif
! if (g:vimsyn_embed =~ 'r' && has("ruby")) && filereadable(s:rubypath)
!  unlet! b:current_syntax
!  exe "syn include @vimRubyScript ".s:rubypath
   if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'r'
    syn region vimRubyRegion fold matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimRubyScript
   else
--- 607,625 ----
   syn region vimEmbedError start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+
   syn region vimEmbedError start=+pe\%[rl]\s*<<\s*$+ end=+\.$+
  endif
! unlet s:use_perl
  
  " [-- ruby --] {{{3
! let s:use_ruby=0
! if stridx(g:vimsyn_embed, 'r')!=-1
!  try
!   unlet! b:current_syntax
!   syntax include @vimRubyScript syntax/ruby.vim
!   let s:use_ruby=1
!  catch /^Vim(syntax):E484:/
!  endtry
! endif
! if s:use_ruby
   if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'r'
    syn region vimRubyRegion fold matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimRubyScript
   else
***************
*** 622,637 ****
   syn region vimEmbedError start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+
   syn region vimEmbedError start=+rub[y]\s*<<\s*$+ end=+\.$+
  endif
! unlet s:rubypath
  
  " [-- python --] {{{3
! let s:pythonpath= fnameescape(expand("<sfile>:p:h")."/python.vim")
! if !filereadable(s:pythonpath)
!  let s:pythonpath= fnameescape(globpath(&rtp,"syntax/python.vim"))
! endif
! if (g:vimsyn_embed =~ 'P' && has("python")) && filereadable(s:pythonpath)
!  unlet! b:current_syntax
!  exe "syn include @vimPythonScript ".s:pythonpath
   if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'P'
    syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimPythonScript
    syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+		contains=@vimPythonScript
--- 631,649 ----
   syn region vimEmbedError start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+
   syn region vimEmbedError start=+rub[y]\s*<<\s*$+ end=+\.$+
  endif
! unlet s:use_ruby
  
  " [-- python --] {{{3
! let s:use_python=0
! if stridx(g:vimsyn_embed, 'P')!=-1
!  try
!   unlet! b:current_syntax
!   syntax include @vimPythonScript syntax/python.vim
!   let s:use_python=1
!  catch /^Vim(syntax):E484:/
!  endtry
! endif
! if s:use_python
   if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'P'
    syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimPythonScript
    syn region vimPythonRegion fold matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+		contains=@vimPythonScript
***************
*** 644,695 ****
   syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
   syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+
  endif
! unlet s:pythonpath
  
  " [-- tcl --] {{{3
! if has("win32") || has("win95") || has("win64") || has("win16")
!  " apparently has("tcl") has been hanging vim on some windows systems with cygwin
!  let s:trytcl= (&shell !~ '\<\%(bash\>\|4[nN][tT]\|\<zsh\)\>\%(\.exe\)\=$')
! else
!  let s:trytcl= 1
! endif
! if s:trytcl
!  let s:tclpath= fnameescape(expand("<sfile>:p:h")."/tcl.vim")
!  if !filereadable(s:tclpath)
!   let s:tclpath= fnameescape(globpath(&rtp,"syntax/tcl.vim"))
!  endif
!  if (g:vimsyn_embed =~ 't' && has("tcl")) && filereadable(s:tclpath)
!   unlet! b:current_syntax
!   exe "syn include @vimTclScript ".s:tclpath
!   if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 't'
!    syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimTclScript
!    syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+	contains=@vimTclScript
!   else
!    syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimTclScript
!    syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+		contains=@vimTclScript
!   endif
!   syn cluster vimFuncBodyList	add=vimTclScript
   else
!   syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
!   syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
   endif
!  unlet s:tclpath
  else
   syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
   syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
  endif
! unlet s:trytcl
  
  " [-- mzscheme --] {{{3
! let s:mzschemepath= fnameescape(expand("<sfile>:p:h")."/scheme.vim")
! if !filereadable(s:mzschemepath)
!  let s:mzschemepath= fnameescape(globpath(&rtp,"syntax/scheme.vim"))
! endif
! if (g:vimsyn_embed =~ 'm' && has("mzscheme")) && filereadable(s:mzschemepath)
!  unlet! b:current_syntax
!  let iskKeep= &isk
!  exe "syn include @vimMzSchemeScript ".s:mzschemepath
!  let &isk= iskKeep
   if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'm'
    syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimMzSchemeScript
    syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+		contains=@vimMzSchemeScript
--- 656,704 ----
   syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
   syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+
  endif
! unlet s:use_python
  
  " [-- tcl --] {{{3
! let s:use_tcl=0
! if stridx(g:vimsyn_embed, 't')!=-1
!  try
!   unlet! b:current_syntax
!   syntax include @vimTclScript syntax/tcl.vim
!   let s:use_tcl=1
!  catch /^Vim(syntax):E484:/
!  endtry
! endif
! if s:use_tcl
!  if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 't'
!   syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimTclScript
!   syn region vimTclRegion fold matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+	contains=@vimTclScript
   else
!   syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimTclScript
!   syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+		contains=@vimTclScript
   endif
!  syn cluster vimFuncBodyList	add=vimTclScript
  else
   syn region vimEmbedError start=+tc[l]\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
   syn region vimEmbedError start=+tc[l]\=\s*<<\s*$+ end=+\.$+
  endif
! unlet s:use_tcl
  
  " [-- mzscheme --] {{{3
! let s:use_mzscheme=0
! if stridx(g:vimsyn_embed, 'm')!=-1
!  try
!   unlet! b:current_syntax
!   let iskKeep= &l:isk
!   try
!    syntax include @vimMzSchemeScript syntax/scheme.vim
!   finally
!    let &l:isk= iskKeep
!   endtry
!   let s:use_mzscheme=1
!  catch /^Vim(syntax):E484:/
!  endtry
! endif
! if s:use_mzscheme
   if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'm'
    syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+	contains=@vimMzSchemeScript
    syn region vimMzSchemeRegion fold matchgroup=vimScriptDelim start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+		contains=@vimMzSchemeScript
***************
*** 702,708 ****
   syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+
   syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+
  endif
! unlet s:mzschemepath
  
  " Synchronize (speed) {{{2
  "============
--- 711,717 ----
   syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*\z(.*\)$+ end=+^\z1$+
   syn region vimEmbedError start=+mz\%[scheme]\s*<<\s*$+ end=+\.$+
  endif
! unlet s:use_mzscheme
  
  " Synchronize (speed) {{{2
  "============

Raspunde prin e-mail lui