Mercurial > vim
view src/os_w32exe.c @ 35935:cb7c51807296 v9.1.0668
patch 9.1.0668: build-error with python3.12 and stable ABI
Commit: https://github.com/vim/vim/commit/9abd7158d7d10b2b6a6b786c5ef0d428f690e37d
Author: Ken Takata <kentkt@csc.jp>
Date: Sat Aug 10 09:44:20 2024 +0200
patch 9.1.0668: build-error with python3.12 and stable ABI
Problem: build-error with python3.12 and stable ABI (zdohnal)
Solution: Add type casts, define Py_INCREF for Python3.12 and higher
(Ken Takata)
fixes: #15460
Signed-off-by: Ken Takata <kentkt@csc.jp>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 10 Aug 2024 10:00:03 +0200 |
parents | 7062d2a09d31 |
children |
line wrap: on
line source
/* vi:set ts=8 sts=4 sw=4 noet: * * VIM - Vi IMproved by Bram Moolenaar * GUI support by Robert Webb * * Do ":help uganda" in Vim to read copying and usage conditions. * Do ":help credits" in Vim to see a list of people who contributed. * See README.txt for an overview of the Vim source code. */ /* * Windows GUI/Console: main program (EXE) entry point: * * Ron Aaron <ronaharon@yahoo.com> wrote this and the DLL support code. * Adapted by Ken Takata. */ #include "vim.h" // cproto doesn't create a prototype for VimMain() #ifdef VIMDLL __declspec(dllimport) #endif int VimMain(int argc, char **argv); #ifdef VIMDLL # define SaveInst(hInst) // Do nothing #else void SaveInst(HINSTANCE hInst); #endif #ifdef FEAT_GUI int WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInst UNUSED, LPWSTR lpszCmdLine UNUSED, int nCmdShow UNUSED) { SaveInst(hInstance); return VimMain(0, NULL); } #else int wmain(int argc UNUSED, wchar_t **argv UNUSED) { SaveInst(GetModuleHandleW(NULL)); return VimMain(0, NULL); } #endif #ifdef USE_OWNSTARTUP // Use our own entry point and don't use the default CRT startup code to // reduce the size of (g)vim.exe. This works only when VIMDLL is defined. // // For MSVC, the /GS- compiler option is needed to avoid the undefined symbol // error. (It disables the security check. However, it affects only this // function and doesn't have any effect on Vim itself.) // For MinGW, the -nostdlib compiler option and the --entry linker option are // needed. # ifdef FEAT_GUI void WINAPI wWinMainCRTStartup(void) { VimMain(0, NULL); } # else void wmainCRTStartup(void) { VimMain(0, NULL); } # endif #endif // USE_OWNSTARTUP #if defined(VIMDLL) && defined(FEAT_MZSCHEME) # if defined(_MSC_VER) static __declspec(thread) void *tls_space; extern intptr_t _tls_index; # elif defined(__MINGW32__) static __thread void *tls_space; extern intptr_t _tls_index; # endif // Get TLS information that is needed for if_mzsch. __declspec(dllexport) void get_tls_info(void ***ptls_space, intptr_t *ptls_index) { *ptls_space = &tls_space; *ptls_index = _tls_index; return; } #endif