annotate runtime/syntax/model.vim @ 34074:1629cc65d78d v9.1.0006

patch 9.1.0006: is*() and to*() function may be unsafe Commit: https://github.com/vim/vim/commit/184f71cc6868a240dc872ed2852542bbc1d43e28 Author: Keith Thompson <Keith.S.Thompson@gmail.com> Date: Thu Jan 4 21:19:04 2024 +0100 patch 9.1.0006: is*() and to*() function may be unsafe Problem: is*() and to*() function may be unsafe Solution: Add SAFE_* macros and start using those instead (Keith Thompson) Use SAFE_() macros for is*() and to*() functions The standard is*() and to*() functions declared in <ctype.h> have undefined behavior for negative arguments other than EOF. If plain char is signed, passing an unchecked value from argv for from user input to one of these functions has undefined behavior. Solution: Add SAFE_*() macros that cast the argument to unsigned char. Most implementations behave sanely for negative arguments, and most character values in practice are non-negative, but it's still best to avoid undefined behavior. The change from #13347 has been omitted, as this has already been separately fixed in commit ac709e2fc0db6d31abb7da96f743c40956b60c3a (v9.0.2054) fixes: #13332 closes: #13347 Signed-off-by: Keith Thompson <Keith.S.Thompson@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Thu, 04 Jan 2024 21:30:04 +0100
parents 71cbad0921c9
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
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
2 " Language: Model
32770
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 344
diff changeset
3 " Maintainer: The Vim Project <https://github.com/vim/vim>
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 344
diff changeset
4 " Last Change: 2023 Aug 10
4027cefc2aab Farewell to Bram and dedicate upcoming Vim 9.1 to him (#12749)
Christian Brabandt <cb@256bit.org>
parents: 344
diff changeset
5 " Former Maintainer: Bram Moolenaar <Bram@vim.org>
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
6
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
7 " very basic things only (based on the vgrindefs file).
32975
71cbad0921c9 runtime: Remove Brams name from a few more runtime files (#12780)
Christian Brabandt <cb@256bit.org>
parents: 32770
diff changeset
8 " If you use this language, please improve it, and send patches!
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
9
344
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
10 " Quit when a (custom) syntax file was already loaded
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
11 if exists("b:current_syntax")
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
12 finish
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
13 endif
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
14
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
15 " A bunch of keywords
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
16 syn keyword modelKeyword abs and array boolean by case cdnl char copied dispose
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
17 syn keyword modelKeyword div do dynamic else elsif end entry external FALSE false
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
18 syn keyword modelKeyword fi file for formal fortran global if iff ift in integer include
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
19 syn keyword modelKeyword inline is lbnd max min mod new NIL nil noresult not notin od of
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
20 syn keyword modelKeyword or procedure public read readln readonly record recursive rem rep
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
21 syn keyword modelKeyword repeat res result return set space string subscript such then TRUE
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
22 syn keyword modelKeyword true type ubnd union until varies while width
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
23
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
24 " Special keywords
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
25 syn keyword modelBlock beginproc endproc
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
26
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
27 " Comments
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
28 syn region modelComment start="\$" end="\$" end="$"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
29
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
30 " Strings
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
31 syn region modelString start=+"+ end=+"+
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
32
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
33 " Character constant (is this right?)
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
34 syn match modelString "'."
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
35
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
36 " Define the default highlighting.
344
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
37 " Only used when an item doesn't have highlighting yet
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
38 hi def link modelKeyword Statement
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
39 hi def link modelBlock PreProc
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
40 hi def link modelComment Comment
7033303ea0c0 updated for version 7.0089
vimboss
parents: 7
diff changeset
41 hi def link modelString String
7
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
42
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
43 let b:current_syntax = "model"
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
44
3fc0f57ecb91 updated for version 7.0001
vimboss
parents:
diff changeset
45 " vim: ts=8 sw=2