Mercurial > vim
view runtime/syntax/mmp.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 " Language: Symbian meta-makefile definition (MMP) " Maintainer: Ron Aaron <ron@ronware.org> " Last Change: 2007/11/07 " URL: http://ronware.org/wiki/vim/mmp " Filetypes: *.mmp " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif syn case ignore syn match mmpComment "//.*" syn region mmpComment start="/\*" end="\*\/" syn keyword mmpKeyword aif asspabi assplibrary aaspexports baseaddress syn keyword mmpKeyword debuglibrary deffile document epocheapsize syn keyword mmpKeyword epocprocesspriority epocstacksize exportunfrozen syn keyword mmpStorage lang library linkas macro nostrictdef option syn keyword mmpStorage resource source sourcepath srcdbg startbitmap syn keyword mmpStorage start end staticlibrary strictdepend systeminclude syn keyword mmpStorage systemresource target targettype targetpath uid syn keyword mmpStorage userinclude win32_library syn match mmpIfdef "\#\(include\|ifdef\|ifndef\|if\|endif\|else\|elif\)" syn match mmpNumber "\d+" syn match mmpNumber "0x\x\+" " Define the default highlighting. " Only when an item doesn't have highlighting yet if !exists("did_mmp_syntax_inits") let did_mmp_syntax_inits=1 hi def link mmpComment Comment hi def link mmpKeyword Keyword hi def link mmpStorage StorageClass hi def link mmpString String hi def link mmpNumber Number hi def link mmpOrdinal Operator hi def link mmpIfdef PreCondit endif let b:current_syntax = "mmp" " vim: ts=8