annotate runtime/syntax/hex.vim @ 29843:256418aa72ed v9.0.0260

patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively Commit: https://github.com/vim/vim/commit/d6c67629ed05aae436164eec474832daf8ba7420 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Aug 24 20:07:22 2022 +0100 patch 9.0.0260: using freed memory when using 'quickfixtextfunc' recursively Problem: Using freed memory when using 'quickfixtextfunc' recursively. Solution: Do not allow for recursion.
author Bram Moolenaar <Bram@vim.org>
date Wed, 24 Aug 2022 21:15:03 +0200
parents 46763b01cd9a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
1 " Vim syntax file
6697
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
2 " Language: Intel HEX
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
3 " Maintainer: Markus Heidelberg <markus.heidelberg@web.de>
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
4 " Previous version: Sams Ricahrd <sams@ping.at>
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
5 " Last Change: 2015 Feb 24
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
6
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
7 " Each record (line) is built as follows:
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
8 "
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
9 " field digits states
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
10 "
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
11 " +----------+
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
12 " | start | 1 (':') hexRecStart
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
13 " +----------+
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
14 " | count | 2 hexDataByteCount
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
15 " +----------+
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
16 " | address | 4 hexNoAddress, hexDataAddress, (hexAddressFieldUnknown)
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
17 " +----------+
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
18 " | type | 2 hexRecType, (hexRecTypeUnknown)
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
19 " +----------+
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
20 " | data | 0..510 hexDataOdd, hexDataEven, hexExtendedAddress, hexStartAddress, (hexDataFieldUnknown, hexDataUnexpected)
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
21 " +----------+
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
22 " | checksum | 2 hexChecksum
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
23 " +----------+
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
24 "
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
25 " States in parentheses in the upper format description indicate that they
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
26 " should not appear in a valid file.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 6697
diff changeset
28 " quit when a syntax file was already loaded
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 6697
diff changeset
29 if exists("b:current_syntax")
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32
6697
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
33 syn match hexRecStart "^:"
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
34
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
35 syn match hexDataByteCount "^:[0-9a-fA-F]\{2}" contains=hexRecStart nextgroup=hexAddress
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36
6697
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
37 syn match hexAddress "[0-9a-fA-F]\{4}" transparent contained nextgroup=hexRecTypeUnknown,hexRecType
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
38 " The address field groups include the record type field in the last 2
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
39 " characters, the proper match for highlighting follows below.
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
40 syn match hexAddressFieldUnknown "^:[0-9a-fA-F]\{8}" contains=hexDataByteCount nextgroup=hexDataFieldUnknown,hexChecksum
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
41 syn match hexDataAddress "^:[0-9a-fA-F]\{6}00" contains=hexDataByteCount nextgroup=hexDataOdd,hexChecksum
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
42 syn match hexNoAddress "^:[0-9a-fA-F]\{6}01" contains=hexDataByteCount nextgroup=hexDataUnexpected,hexChecksum
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
43 syn match hexNoAddress "^:[0-9a-fA-F]\{6}0[24]" contains=hexDataByteCount nextgroup=hexExtendedAddress
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
44 syn match hexNoAddress "^:[0-9a-fA-F]\{6}0[35]" contains=hexDataByteCount nextgroup=hexStartAddress
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
45
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
46 syn match hexRecTypeUnknown "[0-9a-fA-F]\{2}" contained
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
47 syn match hexRecType "0[0-5]" contained
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
48
6697
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
49 syn match hexDataFieldUnknown "[0-9a-fA-F]\{2}" contained nextgroup=hexDataFieldUnknown,hexChecksum
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
50 " alternating highlight per byte for easier reading
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
51 syn match hexDataOdd "[0-9a-fA-F]\{2}" contained nextgroup=hexDataEven,hexChecksum
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
52 syn match hexDataEven "[0-9a-fA-F]\{2}" contained nextgroup=hexDataOdd,hexChecksum
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
53 " data bytes which should not exist
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
54 syn match hexDataUnexpected "[0-9a-fA-F]\{2}" contained nextgroup=hexDataUnexpected,hexChecksum
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
55 " Data digit pair regex usage also results in only highlighting the checksum
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
56 " if the number of data characters is even.
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
57
6697
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
58 " special data fields
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
59 syn match hexExtendedAddress "[0-9a-fA-F]\{4}" contained nextgroup=hexDataUnexpected,hexChecksum
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
60 syn match hexStartAddress "[0-9a-fA-F]\{8}" contained nextgroup=hexDataUnexpected,hexChecksum
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
61
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
62 syn match hexChecksum "[0-9a-fA-F]\{2}$" contained
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
63
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
64 " Folding Data Records below an Extended Segment/Linear Address Record
12155a47f6c2 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 7
diff changeset
65 syn region hexExtAdrBlock start="^:[0-9a-fA-F]\{7}[24]" skip="^:[0-9a-fA-F]\{7}0" end="^:"me=s-1 fold transparent
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
66
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
67 " Define the default highlighting.
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 6697
diff changeset
68 " Only when an item doesn't have highlighting yet
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
69
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 6697
diff changeset
70 " The default methods for highlighting. Can be overridden later
10051
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
71 hi def link hexRecStart hexRecType
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
72 hi def link hexDataByteCount Constant
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 6697
diff changeset
73 hi def hexAddressFieldUnknown term=italic cterm=italic gui=italic
10051
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
74 hi def link hexDataAddress Comment
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
75 hi def link hexNoAddress DiffAdd
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
76 hi def link hexRecTypeUnknown hexRecType
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
77 hi def link hexRecType WarningMsg
10048
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 6697
diff changeset
78 hi def hexDataFieldUnknown term=italic cterm=italic gui=italic
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 6697
diff changeset
79 hi def hexDataOdd term=bold cterm=bold gui=bold
43efa4f5a8ea commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents: 6697
diff changeset
80 hi def hexDataEven term=NONE cterm=NONE gui=NONE
10051
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
81 hi def link hexDataUnexpected Error
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
82 hi def link hexExtendedAddress hexDataAddress
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
83 hi def link hexStartAddress hexDataAddress
46763b01cd9a commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents: 10048
diff changeset
84 hi def link hexChecksum DiffChange
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
85
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
86
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
87 let b:current_syntax = "hex"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
88
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
89 " vim: ts=8