Mercurial > vim
view src/if_ole.h @ 34067:dbe616160092 v9.1.0003
patch 9.1.0003: Cannot build against Ruby 33 dynamically
Commit: https://github.com/vim/vim/commit/443657b32becb2318ae40e30a849bbe5cc1a153c
Author: Isao Sato <svardew@gmail.com>
Date: Wed Jan 3 19:31:05 2024 +0100
patch 9.1.0003: Cannot build against Ruby 33 dynamically
Problem: Cannot build against Ruby 33 dynamically
Solution: Ruby 33 removed transient heap, so do not use
rb_ary_transient anymore, NoMethodError format changed,
so update test for expected error message
(Isao Sato)
- ruby-3.3 removed transient heap for ruby/dyn
when +ruby/dyn with ruby-3.3 do command :ruby, E448 occur.
ruby-3.3 has no transient heap anymore, so disable rb_ary_transient etc.
$ LC_ALL=C VIMRUNTIME=runtime ./src/vim -u NONE -c 'ruby puts RUBY_VERSION'
"=> Error detected while processing command line:
"=> E448: Could not load library function rb_ary_detransient
"=> E266: Sorry, this command is disabled, the Ruby library could not be
loaded.
- ruby-3.3 changed NoMethodError format:
$ rvm 3.2.2, 3.3.0-rc1 do ruby -e 'begin; nil.name; rescue => e; puts "%s : %s"%[RUBY_VERSION, e.message]; end '
=> 3.2.2 : undefined method `name' for nil:NilClass
=> 3.3.0 : undefined method `name' for nil
so loose pattern in Test_ruby_Vim_buffer_get()
closes: #13741
Signed-off-by: Isao Sato <svardew@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 03 Jan 2024 20:00:04 +0100 |
parents | 6e3dc2d630c2 |
children |
line wrap: on
line source
// this ALWAYS GENERATED file contains the definitions for the interfaces // File created by MIDL compiler version 3.01.75 // at Wed Jun 06 18:20:37 2001 // Compiler settings for .\if_ole.idl: // Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext // error checks: none //@@MIDL_FILE_HEADING( ) #include "rpc.h" #include "rpcndr.h" #ifndef COM_NO_WINDOWS_H #include "windows.h" #include "ole2.h" #endif //COM_NO_WINDOWS_H #ifndef __if_ole_h__ #define __if_ole_h__ #ifdef __cplusplus extern "C"{ #endif // Forward Declarations #ifndef __IVim_FWD_DEFINED__ #define __IVim_FWD_DEFINED__ typedef interface IVim IVim; #endif // __IVim_FWD_DEFINED__ #ifndef __Vim_FWD_DEFINED__ #define __Vim_FWD_DEFINED__ #ifdef __cplusplus typedef class Vim Vim; #else typedef struct Vim Vim; #endif // __cplusplus #endif // __Vim_FWD_DEFINED__ // header files for imported files #include "oaidl.h" #ifndef __MIDL_user_allocate_free_DEFINED__ #define __MIDL_user_allocate_free_DEFINED__ void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t); void __RPC_USER MIDL_user_free( void __RPC_FAR * ); #endif #ifndef __IVim_INTERFACE_DEFINED__ #define __IVim_INTERFACE_DEFINED__ //*************************************** // Generated header for interface: IVim // at Wed Jun 06 18:20:37 2001 // using MIDL 3.01.75 //************************************** // [oleautomation][dual][unique][helpstring][uuid][object] EXTERN_C const IID IID_IVim; #if defined(__cplusplus) && !defined(CINTERFACE) interface DECLSPEC_UUID("0F0BFAE2-4C90-11d1-82D7-0004AC368519") IVim : public IDispatch { public: virtual HRESULT STDMETHODCALLTYPE SendKeys( /* [in] */ BSTR keys) = 0; virtual HRESULT STDMETHODCALLTYPE Eval( /* [in] */ BSTR expr, /* [retval][out] */ BSTR __RPC_FAR *result) = 0; virtual HRESULT STDMETHODCALLTYPE SetForeground( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetHwnd( /* [retval][out] */ UINT_PTR __RPC_FAR *result) = 0; }; #else // C style interface typedef struct IVimVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( IVim __RPC_FAR * This, /* [in] */ REFIID riid, /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject); ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( IVim __RPC_FAR * This); ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( IVim __RPC_FAR * This); HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )( IVim __RPC_FAR * This, /* [out] */ UINT __RPC_FAR *pctinfo); HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )( IVim __RPC_FAR * This, /* [in] */ UINT iTInfo, /* [in] */ LCID lcid, /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo); HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )( IVim __RPC_FAR * This, /* [in] */ REFIID riid, /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames, /* [in] */ UINT cNames, /* [in] */ LCID lcid, /* [size_is][out] */ DISPID __RPC_FAR *rgDispId); /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )( IVim __RPC_FAR * This, /* [in] */ DISPID dispIdMember, /* [in] */ REFIID riid, /* [in] */ LCID lcid, /* [in] */ WORD wFlags, /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams, /* [out] */ VARIANT __RPC_FAR *pVarResult, /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo, /* [out] */ UINT __RPC_FAR *puArgErr); HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SendKeys )( IVim __RPC_FAR * This, /* [in] */ BSTR keys); HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Eval )( IVim __RPC_FAR * This, /* [in] */ BSTR expr, /* [retval][out] */ BSTR __RPC_FAR *result); HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetForeground )( IVim __RPC_FAR * This); HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetHwnd )( IVim __RPC_FAR * This, /* [retval][out] */ UINT_PTR __RPC_FAR *result); END_INTERFACE } IVimVtbl; interface IVim { CONST_VTBL struct IVimVtbl __RPC_FAR *lpVtbl; }; #ifdef COBJMACROS #define IVim_QueryInterface(This,riid,ppvObject) \ (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) #define IVim_AddRef(This) \ (This)->lpVtbl -> AddRef(This) #define IVim_Release(This) \ (This)->lpVtbl -> Release(This) #define IVim_GetTypeInfoCount(This,pctinfo) \ (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) #define IVim_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) #define IVim_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) #define IVim_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) #define IVim_SendKeys(This,keys) \ (This)->lpVtbl -> SendKeys(This,keys) #define IVim_Eval(This,expr,result) \ (This)->lpVtbl -> Eval(This,expr,result) #define IVim_SetForeground(This) \ (This)->lpVtbl -> SetForeground(This) #define IVim_GetHwnd(This,result) \ (This)->lpVtbl -> GetHwnd(This,result) #endif // COBJMACROS #endif // C style interface HRESULT STDMETHODCALLTYPE IVim_SendKeys_Proxy( IVim __RPC_FAR * This, /* [in] */ BSTR keys); void __RPC_STUB IVim_SendKeys_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IVim_Eval_Proxy( IVim __RPC_FAR * This, /* [in] */ BSTR expr, /* [retval][out] */ BSTR __RPC_FAR *result); void __RPC_STUB IVim_Eval_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IVim_SetForeground_Proxy( IVim __RPC_FAR * This); void __RPC_STUB IVim_SetForeground_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT STDMETHODCALLTYPE IVim_GetHwnd_Proxy( IVim __RPC_FAR * This, /* [retval][out] */ UINT_PTR __RPC_FAR *result); void __RPC_STUB IVim_GetHwnd_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #endif // __IVim_INTERFACE_DEFINED__ #ifndef __Vim_LIBRARY_DEFINED__ #define __Vim_LIBRARY_DEFINED__ //*************************************** // Generated header for library: Vim // at Wed Jun 06 18:20:37 2001 // using MIDL 3.01.75 //************************************** // [version][helpstring][uuid] EXTERN_C const IID LIBID_Vim; #ifdef __cplusplus EXTERN_C const CLSID CLSID_Vim; class DECLSPEC_UUID("0F0BFAE1-4C90-11d1-82D7-0004AC368519") Vim; #endif #endif // __Vim_LIBRARY_DEFINED__ // Additional Prototypes for ALL interfaces unsigned long __RPC_USER BSTR_UserSize( unsigned long __RPC_FAR *, unsigned long , BSTR __RPC_FAR * ); unsigned char __RPC_FAR * __RPC_USER BSTR_UserMarshal( unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); unsigned char __RPC_FAR * __RPC_USER BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * ); void __RPC_USER BSTR_UserFree( unsigned long __RPC_FAR *, BSTR __RPC_FAR * ); // end of Additional Prototypes #ifdef __cplusplus } #endif #endif