Found a problem with c.vim runtime files regarding the syntax region definitions.

Attached pictures shows the error in color regions.

Color scheme used is Zenburn.
http://vim.sourceforge.net/scripts/script.php?script_id=415

The diff of c.vim that is causing problem:
--- H:\PortableApps\gVimPortable\App\vim\vim72\syntax\c.vim 2009-07-26 21:09:22.000000000 +-0800 +++ D:\devel\vim\runtime\syntax\c.vim 2010-06-22 18:24:58.000000000 +-0800
@@ -1,10 +1,10 @@
 " Vim syntax file
 " Language:    C
 " Maintainer:    Bram Moolenaar <b...@vim.org>
-" Last Change:    2009 Jun 03
+" Last Change:    2009 Nov 17

 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
   finish
 endif

@@ -267,13 +267,13 @@
 endif
 if !exists("c_no_c99") " ISO C99
   syn keyword cConstant true false
 endif

 " Accept %: for # (C99)
-syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=cComment,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError +syn region cPreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
 syn match    cPreCondit    display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
 if !exists("c_no_if0")
   if !exists("c_no_if0_fold")
syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end="....@=\|$" contains=cCppOut2 fold
   else
syn region cCppOut start="^\s*\(%:\|#\)\s*if\s\+0\+\>" end="....@=\|$" contains=cCppOut2
@@ -283,13 +283,13 @@
 endif
syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
 syn match    cIncluded    display contained "<[^>]*>"
syn match cInclude display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
 "syn match cLineSkip    "\\$"
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti -syn region cDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 keepend contains=ALLBUT,@cPreProcGroup,@Spell +syn region cDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell syn region cPreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell

 " Highlight User Labels
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOut,cCppOut2,cCppSkip,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString syn region cMulti transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell " Avoid matching foo::bar() in C++ by requiring that the next char is not ':'

Regards,
KF

---
Removed NOSPAM when replying...


--
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

<<attachment: c-syntax-error.png>>

<<attachment: c-syntax-correct.png>>

Raspunde prin e-mail lui