Mercurial > vim
view runtime/syntax/xdefaults.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: X resources files like ~/.Xdefaults (xrdb) " Maintainer: Johannes Zellner <johannes@zellner.org> " Author and previous maintainer: " Gautam H. Mudunuri <gmudunur@informatica.com> " Last Change: Di, 09 Mai 2006 23:10:23 CEST " $Id: xdefaults.vim,v 1.2 2007/05/05 17:19:40 vimboss Exp $ " " REFERENCES: " xrdb manual page " xrdb source: ftp://ftp.x.org/pub/R6.4/xc/programs/xrdb/xrdb.c " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " turn case on syn case match if !exists("xdefaults_no_colon_errors") " mark lines which do not contain a colon as errors. " This does not really catch all errors but only lines " which contain at least two WORDS and no colon. This " was done this way so that a line is not marked as " error while typing (which would be annoying). syntax match xdefaultsErrorLine "^\s*[a-zA-Z.*]\+\s\+[^: ]\+" endif " syn region xdefaultsLabel start=+^[^:]\{-}:+he=e-1 skip=+\\+ end="$" syn match xdefaultsLabel +^[^:]\{-}:+he=e-1 contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEnd syn region xdefaultsValue keepend start=+:+lc=1 skip=+\\+ end=+$+ contains=xdefaultsSpecial,xdefaultsLabel,xdefaultsLineEnd syn match xdefaultsSpecial contained +#override+ syn match xdefaultsSpecial contained +#augment+ syn match xdefaultsPunct contained +[.*:]+ syn match xdefaultsLineEnd contained +\\$+ syn match xdefaultsLineEnd contained +\\n\\$+ syn match xdefaultsLineEnd contained +\\n$+ " COMMENTS " note, that the '!' must be at the very first position of the line syn match xdefaultsComment "^!.*$" contains=xdefaultsTodo,@Spell " lines starting with a '#' mark and which are not preprocessor " lines are skipped. This is not part of the xrdb documentation. " It was reported by Bram Moolenaar and could be confirmed by " having a look at xrdb.c:GetEntries() syn match xdefaultsCommentH "^#.*$" "syn region xdefaultsComment start="^#" end="$" keepend contains=ALL syn region xdefaultsComment start="/\*" end="\*/" contains=xdefaultsTodo,@Spell syntax match xdefaultsCommentError "\*/" syn keyword xdefaultsTodo contained TODO FIXME XXX display " PREPROCESSOR STUFF syn region xdefaultsPreProc start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\|else\|endif\)\>" skip="\\$" end="$" contains=xdefaultsSymbol if !exists("xdefaults_no_if0") syn region xdefaultsCppOut start="^\s*#\s*if\s\+0\>" end=".\|$" contains=xdefaultsCppOut2 syn region xdefaultsCppOut2 contained start="0" end="^\s*#\s*\(endif\>\|else\>\|elif\>\)" contains=xdefaultsCppSkip syn region xdefaultsCppSkip contained start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*#\s*endif\>" contains=xdefaultsCppSkip endif syn region xdefaultsIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ syn match xdefaultsIncluded contained "<[^>]*>" syn match xdefaultsInclude "^\s*#\s*include\>\s*["<]" contains=xdefaultsIncluded syn cluster xdefaultsPreProcGroup contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefine,xdefaultsCppOut,xdefaultsCppOut2,xdefaultsCppSkip syn region xdefaultsDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue syn region xdefaultsPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue " symbols as defined by xrdb syn keyword xdefaultsSymbol contained SERVERHOST syn match xdefaultsSymbol contained "SRVR_[a-zA-Z0-9_]\+" syn keyword xdefaultsSymbol contained HOST syn keyword xdefaultsSymbol contained DISPLAY_NUM syn keyword xdefaultsSymbol contained CLIENTHOST syn match xdefaultsSymbol contained "CLNT_[a-zA-Z0-9_]\+" syn keyword xdefaultsSymbol contained RELEASE syn keyword xdefaultsSymbol contained REVISION syn keyword xdefaultsSymbol contained VERSION syn keyword xdefaultsSymbol contained VENDOR syn match xdefaultsSymbol contained "VNDR_[a-zA-Z0-9_]\+" syn match xdefaultsSymbol contained "EXT_[a-zA-Z0-9_]\+" syn keyword xdefaultsSymbol contained NUM_SCREENS syn keyword xdefaultsSymbol contained SCREEN_NUM syn keyword xdefaultsSymbol contained BITS_PER_RGB syn keyword xdefaultsSymbol contained CLASS syn keyword xdefaultsSymbol contained StaticGray GrayScale StaticColor PseudoColor TrueColor DirectColor syn match xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)" syn keyword xdefaultsSymbol contained COLOR syn match xdefaultsSymbol contained "CLASS_\(StaticGray\|GrayScale\|StaticColor\|PseudoColor\|TrueColor\|DirectColor\)_[0-9]\+" syn keyword xdefaultsSymbol contained HEIGHT syn keyword xdefaultsSymbol contained WIDTH syn keyword xdefaultsSymbol contained PLANES syn keyword xdefaultsSymbol contained X_RESOLUTION syn keyword xdefaultsSymbol contained Y_RESOLUTION " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link xdefaultsLabel Type hi def link xdefaultsValue Constant hi def link xdefaultsComment Comment hi def link xdefaultsCommentH xdefaultsComment hi def link xdefaultsPreProc PreProc hi def link xdefaultsInclude xdefaultsPreProc hi def link xdefaultsCppSkip xdefaultsCppOut hi def link xdefaultsCppOut2 xdefaultsCppOut hi def link xdefaultsCppOut Comment hi def link xdefaultsIncluded String hi def link xdefaultsDefine Macro hi def link xdefaultsSymbol Statement hi def link xdefaultsSpecial Statement hi def link xdefaultsErrorLine Error hi def link xdefaultsCommentError Error hi def link xdefaultsPunct Normal hi def link xdefaultsLineEnd Special hi def link xdefaultsTodo Todo let b:current_syntax = "xdefaults" " vim:ts=8