Mercurial > vim
view runtime/syntax/asn.vim @ 33791:370543108ba1 v9.0.2114
patch 9.0.2114: overflow detection not accurate when adding digits
Commit: https://github.com/vim/vim/commit/22cbc8a4e17ce61aa460c451a26e1bff2c3d2af9
Author: Christian Brabandt <cb@256bit.org>
Date: Sun Nov 19 10:47:21 2023 +0100
patch 9.0.2114: overflow detection not accurate when adding digits
Problem: overflow detection not accurate when adding digits
Solution: Use a helper function
Use a helper function to better detect overflows before adding integer
digits to a long or an integer variable respectively. Signal the
overflow to the caller function.
closes: #13539
Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Michael Henry <vim@drmikehenry.com>
Signed-off-by: Ernie Rael <errael@raelity.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 19 Nov 2023 11:00:07 +0100 |
parents | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: ASN.1 " Maintainer: Claudio Fleiner <claudio@fleiner.com> " URL: http://www.fleiner.com/vim/syntax/asn.vim " Last Change: 2012 Oct 05 " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim " keyword definitions syn keyword asnExternal DEFINITIONS BEGIN END IMPORTS EXPORTS FROM syn match asnExternal "\<IMPLICIT\s\+TAGS\>" syn match asnExternal "\<EXPLICIT\s\+TAGS\>" syn keyword asnFieldOption DEFAULT OPTIONAL syn keyword asnTagModifier IMPLICIT EXPLICIT syn keyword asnTypeInfo ABSENT PRESENT SIZE UNIVERSAL APPLICATION PRIVATE syn keyword asnBoolValue TRUE FALSE syn keyword asnNumber MIN MAX syn match asnNumber "\<PLUS-INFINITY\>" syn match asnNumber "\<MINUS-INFINITY\>" syn keyword asnType INTEGER REAL STRING BIT BOOLEAN OCTET NULL EMBEDDED PDV syn keyword asnType BMPString IA5String TeletexString GeneralString GraphicString ISO646String NumericString PrintableString T61String UniversalString VideotexString VisibleString syn keyword asnType ANY DEFINED syn match asnType "\.\.\." syn match asnType "OBJECT\s\+IDENTIFIER" syn match asnType "TYPE-IDENTIFIER" syn keyword asnType UTF8String syn keyword asnStructure CHOICE SEQUENCE SET OF ENUMERATED CONSTRAINED BY WITH COMPONENTS CLASS " Strings and constants syn match asnSpecial contained "\\\d\d\d\|\\." syn region asnString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=asnSpecial syn match asnCharacter "'[^\\]'" syn match asnSpecialCharacter "'\\.'" syn match asnNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" syn match asnLineComment "--.*" syn match asnLineComment "--.*--" syn match asnDefinition "^\s*[a-zA-Z][-a-zA-Z0-9_.\[\] \t{}]* *::="me=e-3 contains=asnType syn match asnBraces "[{}]" syn sync ccomment asnComment " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link asnDefinition Function hi def link asnBraces Function hi def link asnStructure Statement hi def link asnBoolValue Boolean hi def link asnSpecial Special hi def link asnString String hi def link asnCharacter Character hi def link asnSpecialCharacter asnSpecial hi def link asnNumber asnValue hi def link asnComment Comment hi def link asnLineComment asnComment hi def link asnType Type hi def link asnTypeInfo PreProc hi def link asnValue Number hi def link asnExternal Include hi def link asnTagModifier Function hi def link asnFieldOption Type let &cpo = s:cpo_save unlet s:cpo_save let b:current_syntax = "asn" " vim: ts=8