Mercurial > vim
view runtime/syntax/slpreg.vim @ 22627:1064b9f05b0a v8.2.1862
patch 8.2.1862: vim9: memory leak when compiling lambda fails
Commit: https://github.com/vim/vim/commit/2ea79ad83584f5d668adfb935be67ee0e0e9995b
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Oct 18 23:32:13 2020 +0200
patch 8.2.1862: vim9: memory leak when compiling lambda fails
Problem: vim9: memory leak when compiling lambda fails.
Solution: Call clear_evalarg().
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 18 Oct 2020 23:45:03 +0200 |
parents | 1218c5353e2b |
children |
line wrap: on
line source
" Vim syntax file " Language: RFC 2614 - An API for Service Location registration file " Previous Maintainer: Nikolai Weibull <now@bitwi.se> " Latest Revision: 2006-04-19 if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim syn keyword slpregTodo contained TODO FIXME XXX NOTE syn region slpregComment display oneline start='^[#;]' end='$' \ contains=slpregTodo,@Spell syn match slpregBegin display '^' \ nextgroup=slpregServiceURL, \ slpregComment syn match slpregServiceURL contained display 'service:' \ nextgroup=slpregServiceType syn match slpregServiceType contained display '\a[[:alpha:][:digit:]+-]*\%(\.\a[[:alpha:][:digit:]+-]*\)\=\%(:\a[[:alpha:][:digit:]+-]*\)\=' \ nextgroup=slpregServiceSAPCol syn match slpregServiceSAPCol contained display ':' \ nextgroup=slpregSAP syn match slpregSAP contained '[^,]\+' \ nextgroup=slpregLangSep "syn match slpregSAP contained display '\%(//\%(\%([[:alpha:][:digit:]$-_.~!*\'(),+;&=]*@\)\=\%([[:alnum:]][[:alnum:]-]*[[:alnum:]]\|[[:alnum:]]\.\)*\%(\a[[:alnum:]-]*[[:alnum:]]\|\a\)\%(:\d\+\)\=\)\=\|/at/\%([[:alpha:][:digit:]$-_.~]\|\\\x\x\)\{1,31}:\%([[:alpha:][:digit:]$-_.~]\|\\\x\x\)\{1,31}\%([[:alpha:][:digit:]$-_.~]\|\\\x\x\)\{1,31}\|/ipx/\x\{8}:\x\{12}:\x\{4}\)\%(/\%([[:alpha:][:digit:]$-_.~!*\'()+;?:@&=+]\|\\\x\x\)*\)*\%(;[^()\\!<=>~[:cntrl:]* \t_]\+\%(=[^()\\!<=>~[:cntrl:] ]\+\)\=\)*' syn match slpregLangSep contained display ',' \ nextgroup=slpregLang syn match slpregLang contained display '\a\{1,8}\%(-\a\{1,8\}\)\=' \ nextgroup=slpregLTimeSep syn match slpregLTimeSep contained display ',' \ nextgroup=slpregLTime syn match slpregLTime contained display '\d\{1,5}' \ nextgroup=slpregType,slpregUNewline syn match slpregType contained display '\a[[:alpha:][:digit:]+-]*' \ nextgroup=slpregUNewLine syn match slpregUNewLine contained '\s*\n' \ nextgroup=slpregScopes,slpregAttrList skipnl syn keyword slpregScopes contained scopes \ nextgroup=slpregScopesEq syn match slpregScopesEq contained '=' nextgroup=slpregScopeName syn match slpregScopeName contained '[^(),\\!<=>[:cntrl:];*+ ]\+' \ nextgroup=slpregScopeNameSep, \ slpregScopeNewline syn match slpregScopeNameSep contained ',' \ nextgroup=slpregScopeName syn match slpregScopeNewline contained '\s*\n' \ nextgroup=slpregAttribute skipnl syn match slpregAttribute contained '[^(),\\!<=>[:cntrl:]* \t_]\+' \ nextgroup=slpregAttributeEq, \ slpregScopeNewline syn match slpregAttributeEq contained '=' \ nextgroup=@slpregAttrValue syn cluster slpregAttrValueCon contains=slpregAttribute,slpregAttrValueSep syn cluster slpregAttrValue contains=slpregAttrIValue,slpregAttrSValue, \ slpregAttrBValue,slpregAttrSSValue syn match slpregAttrSValue contained display '[^(),\\!<=>~[:cntrl:]]\+' \ nextgroup=@slpregAttrValueCon skipwhite skipnl syn match slpregAttrSSValue contained display '\\FF\%(\\\x\x\)\+' \ nextgroup=@slpregAttrValueCon skipwhite skipnl syn match slpregAttrIValue contained display '[-]\=\d\+\>' \ nextgroup=@slpregAttrValueCon skipwhite skipnl syn keyword slpregAttrBValue contained true false \ nextgroup=@slpregAttrValueCon skipwhite skipnl syn match slpregAttrValueSep contained display ',' \ nextgroup=@slpregAttrValue skipwhite skipnl hi def link slpregTodo Todo hi def link slpregComment Comment hi def link slpregServiceURL Type hi def link slpregServiceType slpregServiceURL hi def link slpregServiceSAPCol slpregServiceURL hi def link slpregSAP slpregServiceURL hi def link slpregDelimiter Delimiter hi def link slpregLangSep slpregDelimiter hi def link slpregLang String hi def link slpregLTimeSep slpregDelimiter hi def link slpregLTime Number hi def link slpregType Type hi def link slpregScopes Identifier hi def link slpregScopesEq Operator hi def link slpregScopeName String hi def link slpregScopeNameSep slpregDelimiter hi def link slpregAttribute Identifier hi def link slpregAttributeEq Operator hi def link slpregAttrSValue String hi def link slpregAttrSSValue slpregAttrSValue hi def link slpregAttrIValue Number hi def link slpregAttrBValue Boolean hi def link slpregAttrValueSep slpregDelimiter let b:current_syntax = "slpreg" let &cpo = s:cpo_save unlet s:cpo_save