Mercurial > vim
view runtime/syntax/chicken.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 | 9c221ad9634a |
children | 738ff39db93f |
line wrap: on
line source
" Vim syntax file " Language: Scheme (CHICKEN) " Last Change: 2021 Oct 01 " Author: Evan Hanson <evhan@foldling.org> " Maintainer: Evan Hanson <evhan@foldling.org> " Repository: https://git.foldling.org/vim-scheme.git " URL: https://foldling.org/vim/syntax/chicken.vim " Notes: This is supplemental syntax, to be loaded after the core Scheme " syntax file (syntax/scheme.vim). Enable it by setting b:is_chicken=1 " and filetype=scheme. " Only to be used on top of the Scheme syntax. if !exists('b:did_scheme_syntax') finish endif " Lighten parentheses. hi! def link schemeParentheses Comment " foo#bar syn match schemeExtraSyntax /[^ #'`\t\n()\[\]"|;]\+#[^ '`\t\n()\[\]"|;]\+/ " ##foo#bar syn match schemeExtraSyntax /##[^ '`\t\n()\[\]"|;]\+/ " Heredocs. syn region schemeString start=/#<[<#]\s*\z(.*\)/ end=/^\z1$/ " Keywords. syn match schemeKeyword /#[!:][a-zA-Z0-9!$%&*+-./:<=>?@^_~#]\+/ syn match schemeKeyword /[a-zA-Z0-9!$%&*+-./:<=>?@^_~#]\+:\>/ " C/C++ syntax. let s:c = globpath(&rtp, 'syntax/cpp.vim', 0, 1) if len(s:c) exe 'syn include @c ' s:c[0] syn region c matchgroup=schemeComment start=/#>/ end=/<#/ contains=@c endif " SRFI 26 syn match schemeSyntax /\(([ \t\n]*\)\@<=\(cut\|cute\)\>/ syn keyword schemeSyntax and-let* syn keyword schemeSyntax define-record syn keyword schemeSyntax set!-values syn keyword schemeSyntax fluid-let syn keyword schemeSyntax let-optionals syn keyword schemeSyntax let-optionals* syn keyword schemeSyntax letrec-values syn keyword schemeSyntax nth-value syn keyword schemeSyntax receive syn keyword schemeLibrarySyntax declare syn keyword schemeLibrarySyntax define-interface syn keyword schemeLibrarySyntax functor syn keyword schemeLibrarySyntax include-relative syn keyword schemeLibrarySyntax module syn keyword schemeLibrarySyntax reexport syn keyword schemeLibrarySyntax require-library syn keyword schemeTypeSyntax --> syn keyword schemeTypeSyntax -> syn keyword schemeTypeSyntax : syn keyword schemeTypeSyntax assume syn keyword schemeTypeSyntax compiler-typecase syn keyword schemeTypeSyntax define-specialization syn keyword schemeTypeSyntax define-type syn keyword schemeTypeSyntax the syn keyword schemeExtraSyntax match syn keyword schemeExtraSyntax match-lambda syn keyword schemeExtraSyntax match-lambda* syn keyword schemeExtraSyntax match-let syn keyword schemeExtraSyntax match-let* syn keyword schemeExtraSyntax match-letrec syn keyword schemeSpecialSyntax define-compiler-syntax syn keyword schemeSpecialSyntax define-constant syn keyword schemeSpecialSyntax define-external syn keyword schemeSpecialSyntax define-inline syn keyword schemeSpecialSyntax foreign-code syn keyword schemeSpecialSyntax foreign-declare syn keyword schemeSpecialSyntax foreign-lambda syn keyword schemeSpecialSyntax foreign-lambda* syn keyword schemeSpecialSyntax foreign-primitive syn keyword schemeSpecialSyntax foreign-safe-lambda syn keyword schemeSpecialSyntax foreign-safe-lambda* syn keyword schemeSpecialSyntax foreign-value syn keyword schemeSyntaxSyntax begin-for-syntax syn keyword schemeSyntaxSyntax define-for-syntax syn keyword schemeSyntaxSyntax er-macro-transformer syn keyword schemeSyntaxSyntax ir-macro-transformer syn keyword schemeSyntaxSyntax require-library-for-syntax