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