Mercurial > vim
view runtime/syntax/texinfo.vim @ 26773:80e134cbee4b v8.2.3915
patch 8.2.3915: illegal memory access when completing with invalid bytes
Commit: https://github.com/vim/vim/commit/4b28ba3245df8274303c79429972f9dc9438e4aa
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Dec 27 19:28:37 2021 +0000
patch 8.2.3915: illegal memory access when completing with invalid bytes
Problem: illegal memory access when completing with invalid bytes.
Solution: Avoid going over the end of the completion text.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 27 Dec 2021 20:30:03 +0100 |
parents | 3a63b1e4a6f4 |
children |
line wrap: on
line source
" Vim syntax file " Language: Texinfo (documentation format) " Maintainer: Robert Dodier <robert.dodier@gmail.com> " Latest Revision: 2021-12-15 if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim syn match texinfoControlSequence display '\(@end [a-zA-Z@]\+\|@[a-zA-Z@]\+\)' syn match texinfoComment display '^\s*\(@comment\|@c\)\>.*$' syn region texinfoCode matchgroup=texinfoControlSequence start="@code{" end="}" contains=ALL syn region texinfoVerb matchgroup=texinfoControlSequence start="@verb{" end="}" contains=ALL syn region texinfoArgument matchgroup=texinfoBrace start="{" end="}" contains=ALLBUT syn region texinfoExample matchgroup=texinfoControlSequence start="^@example\s*$" end="^@end example\s*$" contains=ALL syn region texinfoVerbatim matchgroup=texinfoControlSequence start="^@verbatim\s*$" end="^@end verbatim\s*$" syn region texinfoMenu matchgroup=texinfoControlSequence start="^@menu\s*$" end="^@end menu\s*$" if exists("g:texinfo_delimiters") syn match texinfoDelimiter display '[][{}]' endif hi def link texinfoDelimiter Delimiter hi def link texinfoComment Comment hi def link texinfoControlSequence Identifier hi def link texinfoBrace Operator hi def link texinfoArgument Special hi def link texinfoExample String hi def link texinfoVerbatim String hi def link texinfoVerb String hi def link texinfoCode String hi def link texinfoMenu String let b:current_syntax = "texinfo" let &cpo = s:cpo_save unlet s:cpo_save