Mercurial > vim
view .appveyor.yml @ 33949:84b93d95a952 v9.0.2169
patch 9.0.2169: Vim9: builtin funcs may accept a non-value
Commit: https://github.com/vim/vim/commit/d8bf87c9fbd92fd6b837446e886d47e557adadbc
Author: Ernie Rael <errael@raelity.com>
Date: Sat Dec 16 14:03:33 2023 +0100
patch 9.0.2169: Vim9: builtin funcs may accept a non-value
Problem: Vim9: builtin funcs may accept a non-value
Solution: Restrict builtin functions that accept `type`
This PR finishes off detection and prevention of using a type as a
value. It takes care of builtin functions. However there are some
builtin functions, that need to be able to handle types as well as
non-args: instanceof(), type(), typename(), string().
A "bit", FE_X, is added to funcentry_T; when set, the builtin function
can handle a type (class or type-alias) in addition to a value.
Noteworthy change: Discovered that in compile_call() the builtin add()
is compiled inline instead of calling the builtin. Had to add a check
there.
closes: #13688
Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 16 Dec 2023 14:15:03 +0100 |
parents | 93c715c63a4a |
children |
line wrap: on
line source
version: "{build}" image: Visual Studio 2015 skip_tags: true environment: matrix: - FEATURE: HUGE # Alternate environments, not used right now. 2022 is a lot slower. # # - job_name: VS-2015 # appveyor_build_worker_image: Visual Studio 2015 # FEATURE: HUGE # - job_name: VS-2017 # appveyor_build_worker_image: Visual Studio 2017 # FEATURE: HUGE # - job_name: VS-2019 # appveyor_build_worker_image: Visual Studio 2019 # FEATURE: HUGE # - job_name: VS-2022 # appveyor_build_worker_image: Visual Studio 2022 # FEATURE: HUGE # disabled # - FEATURE: TINY # - FEATURE: NORMAL matrix: fast_finish: true before_build: - call ver - ci\appveyor.bat install build_script: - ci\appveyor.bat build test_script: - ci\appveyor.bat test artifacts: - path: src/vim.exe name: vim - path: src/gvim.exe name: gvim # vim: sw=2 sts=2 et ts=8 sr