"#, @, www
syn match specNumber '\(^-\=\|[ \t]-\=\|-\)[0-9.-]*[0-9]'
syn match specEmail contained "<\=\<[A-Za-z0-9_.-]\+@\([A-Za-z0-9_-]\+\.\)\+[A-Za-z]\+\>>\="
-syn match specURL contained '\<\(\(https\{0,1}\|ftp\)://\|\(www[23]\{0,1}\.\|ftp\.\)\)[A-Za-z0-9._/~:,#-]\+\>'
+syn match specURL contained '\<\(\(https\{0,1}\|ftp\)://\|\(www[23]\{0,1}\.\|ftp\.\)\)[A-Za-z0-9._/~:,#?=-]\+\>'
syn match specURLMacro contained '\<\(\(https\{0,1}\|ftp\)://\|\(www[23]\{0,1}\.\|ftp\.\)\)[A-Za-z0-9._/~:,#%{}-]\+\>' contains=specMacroIdentifier
"TODO take specSpecialVariables out of the cluster for the sh* contains (ALLBUT)
\ contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2,specSectionMacroBcondArea
"%% Changelog Section %%
-syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1 contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense
-
+syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1
+ \ contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense,specRevision,specLogMessage,specLogTag,specLogError
+syn match specRevision contained "^Revision [.0-9]\+ [/0-9]\+ [:0-9]\+ [a-zA-Z0-9]\+$"
+syn region specLogMessage contained start="^[- ] " end="$" contains=specLogError,specURL,specEmail
+syn region specLogTag contained start="^\$Log" end="\$$"
+syn match specLogError contained "%%"
"------------------------------------------------------------------------------
"here's the shell syntax for all the Script Sections
HiLink specListedFilesPrefix Statement
HiLink specListedFilesShare Statement
+ HiLink specRevision Number
+ HiLink specLogMessage Identifier
+ HiLink specLogTag NONE
+ HiLink specLogError Error
+
delcommand HiLink
endif