Mercurial > vim
view src/VisVim/Commands.h @ 16738:b52ea9c5f1db v8.1.1371
patch 8.1.1371: cannot recover from a swap file
commit https://github.com/vim/vim/commit/99499b1c05f85f83876b828eea3f6e14f0f407b4
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu May 23 21:35:48 2019 +0200
patch 8.1.1371: cannot recover from a swap file
Problem: Cannot recover from a swap file.
Solution: Do not expand environment variables in the swap file name.
Do not check the extension when we already know a file is a swap
file. (Ken Takata, closes 4415, closes #4369)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 23 May 2019 21:45:07 +0200 |
parents | 3fc0f57ecb91 |
children |
line wrap: on
line source
// Commands.h : header file // #if !defined(AFX_COMMANDS_H__AC726717_2977_11D1_B2F3_006008040780__INCLUDED_) #define AFX_COMMANDS_H__AC726717_2977_11D1_B2F3_006008040780__INCLUDED_ #include "vsvtypes.h" class CCommands : public CComDualImpl < ICommands, &IID_ICommands, &LIBID_VisVim >, public CComObjectRoot, public CComCoClass < CCommands, &CLSID_Commands > { protected: IApplication * m_pApplication; public: CCommands (); ~CCommands (); void SetApplicationObject (IApplication * m_pApplication); IApplication *GetApplicationObject () { return m_pApplication; } void UnadviseFromEvents (); BEGIN_COM_MAP (CCommands) COM_INTERFACE_ENTRY (IDispatch) COM_INTERFACE_ENTRY (ICommands) END_COM_MAP () DECLARE_NOT_AGGREGATABLE (CCommands) protected: // This class template is used as the base class for the Application // event handler object and the Debugger event handler object, // which are declared below. template < class IEvents, const IID * piidEvents, const GUID * plibid, class XEvents, const CLSID * pClsidEvents > class XEventHandler : public CComDualImpl < IEvents, piidEvents, plibid >, public CComObjectRoot, public CComCoClass < XEvents, pClsidEvents > { public: BEGIN_COM_MAP (XEvents) COM_INTERFACE_ENTRY (IDispatch) COM_INTERFACE_ENTRY_IID (*piidEvents, IEvents) END_COM_MAP () DECLARE_NOT_AGGREGATABLE (XEvents) void Connect (IUnknown * pUnk) { VERIFY (SUCCEEDED (AtlAdvise (pUnk, this, *piidEvents, &m_dwAdvise))); } void Disconnect (IUnknown * pUnk) { AtlUnadvise (pUnk, *piidEvents, m_dwAdvise); } CCommands *m_pCommands; protected: DWORD m_dwAdvise; }; // This object handles events fired by the Application object class XApplicationEvents : public XEventHandler < IApplicationEvents, &IID_IApplicationEvents, &LIBID_VisVim, XApplicationEvents, &CLSID_ApplicationEvents > { public: // IApplicationEvents methods STDMETHOD (BeforeBuildStart) (THIS); STDMETHOD (BuildFinish) (THIS_ long nNumErrors, long nNumWarnings); STDMETHOD (BeforeApplicationShutDown) (THIS); STDMETHOD (DocumentOpen) (THIS_ IDispatch * theDocument); STDMETHOD (BeforeDocumentClose) (THIS_ IDispatch * theDocument); STDMETHOD (DocumentSave) (THIS_ IDispatch * theDocument); STDMETHOD (NewDocument) (THIS_ IDispatch * theDocument); STDMETHOD (WindowActivate) (THIS_ IDispatch * theWindow); STDMETHOD (WindowDeactivate) (THIS_ IDispatch * theWindow); STDMETHOD (WorkspaceOpen) (THIS); STDMETHOD (WorkspaceClose) (THIS); STDMETHOD (NewWorkspace) (THIS); }; typedef CComObject < XApplicationEvents > XApplicationEventsObj; XApplicationEventsObj *m_pApplicationEventsObj; // This object handles events fired by the Application object class XDebuggerEvents : public XEventHandler < IDebuggerEvents, &IID_IDebuggerEvents, &LIBID_VisVim, XDebuggerEvents, &CLSID_DebuggerEvents > { public: // IDebuggerEvents method STDMETHOD (BreakpointHit) (THIS_ IDispatch * pBreakpoint); }; typedef CComObject < XDebuggerEvents > XDebuggerEventsObj; XDebuggerEventsObj *m_pDebuggerEventsObj; public: // ICommands methods STDMETHOD (VisVimDialog) (THIS); STDMETHOD (VisVimEnable) (THIS); STDMETHOD (VisVimDisable) (THIS); STDMETHOD (VisVimToggle) (THIS); STDMETHOD (VisVimLoad) (THIS); }; typedef CComObject < CCommands > CCommandsObj; //{{AFX_INSERT_LOCATION}} #endif // !defined(AFX_COMMANDS_H__AC726717_2977_11D1_B2F3_006008040780__INCLUDED)