Mercurial > vim
view runtime/syntax/cl.vim @ 33988:7c30841c60a0 v9.0.2180
patch 9.0.2180: POSIX function name in exarg causes issues
Commit: https://github.com/vim/vim/commit/6fdb6280821a822768df5689a5d727e37d38306c
Author: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Date: Tue Dec 19 20:53:07 2023 +0100
patch 9.0.2180: POSIX function name in exarg causes issues
Problem: POSIX function name in exarg struct causes issues
on OpenVMS
Solution: Rename getline member in exarg struct to ea_getline,
remove isinf() workaround for VMS
There are compilers that do not treat well POSIX functions - like
getline - usage in the structs.
Older VMS compilers could digest this... but the newer OpenVMS compilers
( like VSI C x86-64 X7.4-843 (GEM 50XB9) ) cannot deal with these
structs. This could be limited to getline() that is defined via
getdelim() and might not affect all POSIX functions in general - but
avoiding POSIX function names usage in the structs is a "safe side"
practice without compromising the functionality or the code readability.
The previous OpenVMS X86 port used a workaround limiting the compiler
capabilities using __CRTL_VER_OVERRIDE=80400000
In order to make the OpenVMS port future proof, this pull request
proposes a possible solution.
closes: #13704
Signed-off-by: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 19 Dec 2023 21:00:04 +0100 |
parents | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: CL " (pronounced alphabetically: "Cee-El". " CL stands for Clever Language, " but the language is CL, not "Clever". " CL was created by Multibase, http://www.mbase.com.au) " Filename extensions: *.ent " *.eni " Maintainer: Philip Uren <philuSPAX@ieee.org> Remove SPAX spam block " Version: 6 " Last Change: Mar 06 2013 " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif setlocal iskeyword=@,48-57,_,- syn case ignore syn sync lines=300 "If/else/elsif/endif and while/wend mismatch errors syn match clifError "\<wend\>" syn match clifError "\<elsif\>" syn match clifError "\<else\>" syn match clifError "\<endif\>" syn match clSpaceError "\s\+$" " If and while regions syn region clLoop transparent matchgroup=clWhile start="\<while\>" matchgroup=clWhile end="\<wend\>" contains=ALLBUT,clBreak,clProcedure syn region clIf transparent matchgroup=clConditional start="\<if\>" matchgroup=clConditional end="\<endif\>" contains=ALLBUT,clBreak,clProcedure " Make those TODO notes and debugging stand out! syn keyword clTodo contained TODO BUG DEBUG FIX syn match clNeedsWork contained "NEED[S]*\s\s*WORK" syn keyword clDebug contained debug syn match clComment "#.*$" contains=clTodo,clNeedsWork,@Spell syn region clProcedure oneline start="^\s*[{}]" end="$" syn match clInclude "^\s*include\s.*" " We don't put "debug" in the clSetOptions; " we contain it in clSet so we can make it stand out. syn keyword clSetOptions transparent aauto abort align convert E fill fnum goback hangup justify null_exit output rauto rawprint rawdisplay repeat skip tab trim syn match clSet "^\s*set\s.*" contains=clSetOptions,clDebug syn match clPreProc "^\s*#P.*" syn keyword clConditional else elsif syn keyword clWhile continue endloop " 'break' needs to be a region so we can sync on it above. syn region clBreak oneline start="^\s*break" end="$" syn match clOperator "[!;|)(:.><+*=-]" syn match clNumber "\<\d\+\(u\=l\=\|lu\|f\)\>" syn region clString matchgroup=clQuote start=+"+ end=+"+ skip=+\\"+ contains=@Spell syn region clString matchgroup=clQuote start=+'+ end=+'+ skip=+\\'+ contains=@Spell syn keyword clReserved ERROR EXIT INTERRUPT LOCKED LREPLY MODE MCOL MLINE MREPLY NULL REPLY V1 V2 V3 V4 V5 V6 V7 V8 V9 ZERO BYPASS GOING_BACK AAUTO ABORT ABORT ALIGN BIGE CONVERT FNUM GOBACK HANGUP JUSTIFY NEXIT OUTPUT RAUTO RAWDISPLAY RAWPRINT REPEAT SKIP TAB TRIM LCOUNT PCOUNT PLINES SLINES SCOLS MATCH LMATCH syn keyword clFunction asc asize chr name random slen srandom day getarg getcgi getenv lcase scat sconv sdel skey smult srep substr sword trim ucase match syn keyword clStatement clear clear_eol clear_eos close copy create unique with where empty define define ldefine delay_form delete escape exit_block exit_do exit_process field fork format get getfile getnext getprev goto head join maintain message no_join on_eop on_key on_exit on_delete openin openout openapp pause popenin popenout popenio print put range read redisplay refresh restart_block screen select sleep text unlock write and not or do " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link clifError Error hi def link clSpaceError Error hi def link clWhile Repeat hi def link clConditional Conditional hi def link clDebug Debug hi def link clNeedsWork Todo hi def link clTodo Todo hi def link clComment Comment hi def link clProcedure Procedure hi def link clBreak Procedure hi def link clInclude Include hi def link clSetOption Statement hi def link clSet Identifier hi def link clPreProc PreProc hi def link clOperator Operator hi def link clNumber Number hi def link clString String hi def link clQuote Delimiter hi def link clReserved Identifier hi def link clFunction Function hi def link clStatement Statement let b:current_syntax = "cl" " vim: ts=8 sw=8