view runtime/syntax/gnash.vim @ 33090:461541d860ac v9.0.1830

patch 9.0.1830: Vim9: crash when accessing a null object Commit: https://github.com/vim/vim/commit/d7085a06358c22250a27186bb7d52112ed4addd1 Author: Gianmaria Bajo <mg1979.git@gmail.com> Date: Thu Aug 31 18:15:26 2023 +0200 patch 9.0.1830: Vim9: crash when accessing a null object Problem: Vim9: crash when accessing a null object Solution: Check accessing a NULL object in def function An object is NULL when the variable is declared, but the constructor isn't called. Accessing/setting a member on the object crashed Vim. Note: this happens inside def functions, at script level things work differently. Accessing a NULL object member results in E1360 (correctly), while setting a value on it results in E1012 (type mismatch) so there's still something to fix. closes: #12973 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Gianmaria Bajo <mg1979.git@gmail.com>
author Christian Brabandt <cb@256bit.org>
date Thu, 31 Aug 2023 18:30:03 +0200
parents 43efa4f5a8ea
children
line wrap: on
line source

" Vim syntax file
" Maintainer: 	Thilo Six
" Contact:	<vim-dev at vim dot org>
"		http://www.vim.org/maillist.php#vim-dev
"
" Description: 	highlight gnash configuration files
"		http://www.gnu.org/software/gnash/manual/gnashuser.html#gnashrc
" File:		runtime/syntax/gnash.vim
" Last Change: 	2012 May 19
" Modeline:	vim: ts=8:sw=2:sts=2:
"
" Credits:	derived from Nikolai Weibulls readline.vim
"
" License:	VIM License
"		Vim is Charityware, see ":help Uganda"
"

" quit when a syntax file was already loaded
if exists("b:current_syntax") || &compatible
    finish
endif

syn case match
syn keyword GnashTodo	    contained TODO FIXME XXX NOTE

" Comments
syn match   GnashComment    "^#.*$"   contains=@Spell,GnashTodo
syn match   GnashComment    "\s#.*$"  contains=@Spell,GnashTodo

syn match   GnashNumber	    display '\<\d\+\>'

syn case ignore
syn keyword GnashOn	    ON YES TRUE
syn keyword GnashOff	    OFF NO FALSE

syn match GnashSet	    '^\s*set\>'
syn match GnashSet	    '^\s*append\>'

syn match GnashKeyword	    '\<CertDir\>'
syn match GnashKeyword      '\<ASCodingErrorsVerbosity\>'
syn match GnashKeyword      '\<CertFile\>'
syn match GnashKeyword      '\<EnableExtensions\>'
syn match GnashKeyword      '\<HWAccel\>'
syn match GnashKeyword      '\<LCShmKey\>'
syn match GnashKeyword      '\<LocalConnection\>'
syn match GnashKeyword      '\<MalformedSWFVerbosity\>'
syn match GnashKeyword      '\<Renderer\>'
syn match GnashKeyword      '\<RootCert\>'
syn match GnashKeyword      '\<SOLReadOnly\>'
syn match GnashKeyword      '\<SOLSafeDir\>'
syn match GnashKeyword      '\<SOLreadonly\>'
syn match GnashKeyword      '\<SOLsafedir\>'
syn match GnashKeyword      '\<StartStopped\>'
syn match GnashKeyword      '\<StreamsTimeout\>'
syn match GnashKeyword      '\<URLOpenerFormat\>'
syn match GnashKeyword      '\<XVideo\>'
syn match GnashKeyword      '\<actionDump\>'
syn match GnashKeyword      '\<blacklist\>'
syn match GnashKeyword      '\<debugger\>'
syn match GnashKeyword      '\<debuglog\>'
syn match GnashKeyword      '\<delay\>'
syn match GnashKeyword      '\<enableExtensions\>'
syn match GnashKeyword      '\<flashSystemManufacturer\>'
syn match GnashKeyword      '\<flashSystemOS\>'
syn match GnashKeyword      '\<flashVersionString\>'
syn match GnashKeyword      '\<ignoreFSCommand\>'
syn match GnashKeyword      '\<ignoreShowMenu\>'
syn match GnashKeyword      '\<insecureSSL\>'
syn match GnashKeyword      '\<localSandboxPath\>'
syn match GnashKeyword      '\<localdomain\>'
syn match GnashKeyword      '\<localhost\>'
syn match GnashKeyword      '\<microphoneDevice\>'
syn match GnashKeyword      '\<parserDump\>'
syn match GnashKeyword      '\<pluginsound\>'
syn match GnashKeyword      '\<quality\>'
syn match GnashKeyword      '\<solLocalDomain\>'
syn match GnashKeyword      '\<sound\>'
syn match GnashKeyword      '\<splashScreen\>'
syn match GnashKeyword      '\<startStopped\>'
syn match GnashKeyword      '\<streamsTimeout\>'
syn match GnashKeyword      '\<urlOpenerFormat\>'
syn match GnashKeyword      '\<verbosity\>'
syn match GnashKeyword      '\<webcamDevice\>'
syn match GnashKeyword      '\<whitelist\>'
syn match GnashKeyword      '\<writelog\>'

hi def link GnashOn	    Identifier
hi def link GnashOff	    Preproc
hi def link GnashComment    Comment
hi def link GnashTodo	    Todo
hi def link GnashNumber	    Type
hi def link GnashSet	    String
hi def link GnashKeyword    Keyword

let b:current_syntax = "gnash"