Mercurial > vim
view runtime/syntax/chatito.vim @ 34257:8a91d18f1789 v9.1.0069
patch 9.1.0069: ScreenLines may not be correctly initialized, causing hang
Commit: https://github.com/vim/vim/commit/fd472655a93fd539c731c8daf3adc4e65ddce341
Author: Olaf Seibert <rhialto@falu.nl>
Date: Thu Feb 1 21:11:16 2024 +0100
patch 9.1.0069: ScreenLines may not be correctly initialized, causing hang
Problem: ScreenLines may not be correctly initialized, causing hang
(Olaf Seibert, after 9.0.0220)
Solution: always initialize ScreneLines when allocating a screen
(Olaf Seibert)
ScreenLines and related structures could be left uninitialized
causing a screen update to run into an infinite loop when using latin1
encoding.
Partly caused because by patch 9.0.0220, which makes mb_ptr2len return
zero for NUL
related: #12671
closes: #13946
Signed-off-by: Olaf Seibert <rhialto@falu.nl>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 01 Feb 2024 21:30:02 +0100 |
parents | 1e91e26ceebf |
children |
line wrap: on
line source
" Vim syntax file " Language: Chatito " Maintainer: ObserverOfTime <chronobserver@disroot.org> " Filenames: *.chatito " Last Change: 2022 Sep 19 if exists('b:current_syntax') finish endif " Comment syn keyword chatitoTodo contained TODO FIXME XXX syn match chatitoComment /^#.*/ contains=chatitoTodo,@Spell syn match chatitoComment +^//.*+ contains=chatitoTodo,@Spell " Import syn match chatitoImport /^import \+.*$/ transparent contains=chatitoImportKeyword,chatitoImportFile syn keyword chatitoImportKeyword import contained nextgroup=chatitoImportFile syn match chatitoImportFile /.*$/ contained skipwhite " Intent syn match chatitoIntent /^%\[[^\]?]\+\]\((.\+)\)\=$/ contains=chatitoArgs " Slot syn match chatitoSlot /^@\[[^\]?#]\+\(#[^\]?#]\+\)\=\]\((.\+)\)\=$/ contains=chatitoArgs,chatitoVariation syn match chatitoSlot /@\[[^\]?#]\+\(#[^\]?#]\+\)\=?\=\]/ contained contains=chatitoOpt,chatitoVariation " Alias syn match chatitoAlias /^\~\[[^\]?]\+\]\=$/ syn match chatitoAlias /\~\[[^\]?]\+?\=\]/ contained contains=chatitoOpt " Probability syn match chatitoProbability /\*\[\d\+\(\.\d\+\)\=%\=\]/ contained " Optional syn match chatitoOpt '?' contained " Arguments syn match chatitoArgs /(.\+)/ contained " Variation syn match chatitoVariation /#[^\]?#]\+/ contained " Value syn match chatitoValue /^ \{4\}\zs.\+$/ contains=chatitoProbability,chatitoSlot,chatitoAlias,@Spell " Errors syn match chatitoError /^\t/ hi def link chatitoAlias String hi def link chatitoArgs Special hi def link chatitoComment Comment hi def link chatitoError Error hi def link chatitoImportKeyword Include hi def link chatitoIntent Statement hi def link chatitoOpt SpecialChar hi def link chatitoProbability Number hi def link chatitoSlot Identifier hi def link chatitoTodo Todo hi def link chatitoVariation Special let b:current_syntax = 'chatito'