syn region factorHelp start=/\v<HELP:>/ skip=/\v<!>.*/ end=/\v<\S+>/ contains=@factorComment
syn match factorHelp /\v<%(ARTICLE|ABOUT):>/ display
-syn region factorDefn matchgroup=NONE start=/\v<%(SYNTAX|CONSTRUCTOR|%(M|MACRO|MEMO|TYPED)?:?):>/ skip=/\v<!>.*/ matchgroup=factorDefnDelims end=/\v<;>/ contains=factorDefnDelims,@factorCluster keepend transparent
+syn region factorDefn matchgroup=NONE start=/\v<%(SYNTAX|CONSTRUCTOR|%(M|MACRO|MEMO|TYPED)?:?):>/ skip=/\v<(!|CHAR:)>.*/ matchgroup=factorDefnDelims end=/\v<;>/ contains=factorDefnDelims,@factorCluster keepend transparent
syn region factorDefnDelims start=/\v<SYNTAX:>/ skip=/\v<!>.*/ end=/\v<\S+>/ contains=@factorComment skipempty keepend contained
syn region factorDefnDelims start=/\v<%(MACRO|MEMO|TYPED)?:?:>/ skip=/\v<!>.*/ end=/\v<\S+>/ contains=@factorComment nextgroup=factorEffectSkip skipempty keepend contained
syn region factorDefnDelims start=/\v<M:>/ skip=/\v<!>.*/ end=/\v<\S+%(\_\s+%(!>.*)?)+\S+>/ contains=@factorComment skipempty keepend contained