diff options
Diffstat (limited to 'source/ap/vim/patches/7.2.150')
-rw-r--r-- | source/ap/vim/patches/7.2.150 | 1325 |
1 files changed, 0 insertions, 1325 deletions
diff --git a/source/ap/vim/patches/7.2.150 b/source/ap/vim/patches/7.2.150 deleted file mode 100644 index f2b1174ee..000000000 --- a/source/ap/vim/patches/7.2.150 +++ /dev/null @@ -1,1325 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.2.150 (extra) -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=ISO-8859-1 -Content-Transfer-Encoding: 8bit ------------- - -Note: I haven't tested this myself, since I don't have a compiler that -works for this code. - -Patch 7.2.150 (extra) -Problem: Can't use tab pages from VisVim. -Solution: Add tab page support to VisVim. (Adam Slater) -Files: src/VisVim/Commands.cpp, src/VisVim/Resource.h, - src/VisVim/VisVim.rc - - -*** ../vim-7.2.149/src/VisVim/Commands.cpp Thu May 10 20:45:34 2007 ---- src/VisVim/Commands.cpp Mon Mar 2 00:52:15 2009 -*************** -*** 20,39 **** - - static BOOL g_bEnableVim = TRUE; // Vim enabled - static BOOL g_bDevStudioEditor = FALSE; // Open file in Dev Studio editor simultaneously - static int g_ChangeDir = CD_NONE; // CD after file open? - -! static void VimSetEnableState (BOOL bEnableState); -! static BOOL VimOpenFile (BSTR& FileName, long LineNr); -! static DISPID VimGetDispatchId (COleAutomationControl& VimOle, char* Method); -! static void VimErrDiag (COleAutomationControl& VimOle); -! static void VimChangeDir (COleAutomationControl& VimOle, DISPID DispatchId, BSTR& FileName); -! static void DebugMsg (char* Msg, char* Arg = NULL); - - - ///////////////////////////////////////////////////////////////////////////// - // CCommands - -! CCommands::CCommands () - { - // m_pApplication == NULL; M$ Code generation bug!!! - m_pApplication = NULL; ---- 20,40 ---- - - static BOOL g_bEnableVim = TRUE; // Vim enabled - static BOOL g_bDevStudioEditor = FALSE; // Open file in Dev Studio editor simultaneously -+ static BOOL g_bNewTabs = FALSE; - static int g_ChangeDir = CD_NONE; // CD after file open? - -! static void VimSetEnableState(BOOL bEnableState); -! static BOOL VimOpenFile(BSTR& FileName, long LineNr); -! static DISPID VimGetDispatchId(COleAutomationControl& VimOle, char* Method); -! static void VimErrDiag(COleAutomationControl& VimOle); -! static void VimChangeDir(COleAutomationControl& VimOle, DISPID DispatchId, BSTR& FileName); -! static void DebugMsg(char* Msg, char* Arg = NULL); - - - ///////////////////////////////////////////////////////////////////////////// - // CCommands - -! CCommands::CCommands() - { - // m_pApplication == NULL; M$ Code generation bug!!! - m_pApplication = NULL; -*************** -*** 41,57 **** - m_pDebuggerEventsObj = NULL; - } - -! CCommands::~CCommands () - { -! ASSERT (m_pApplication != NULL); - if (m_pApplication) - { -! m_pApplication->Release (); - m_pApplication = NULL; - } - } - -! void CCommands::SetApplicationObject (IApplication * pApplication) - { - // This function assumes pApplication has already been AddRef'd - // for us, which CDSAddIn did in it's QueryInterface call ---- 42,58 ---- - m_pDebuggerEventsObj = NULL; - } - -! CCommands::~CCommands() - { -! ASSERT(m_pApplication != NULL); - if (m_pApplication) - { -! m_pApplication->Release(); - m_pApplication = NULL; - } - } - -! void CCommands::SetApplicationObject(IApplication * pApplication) - { - // This function assumes pApplication has already been AddRef'd - // for us, which CDSAddIn did in it's QueryInterface call -*************** -*** 61,115 **** - return; - - // Create Application event handlers -! XApplicationEventsObj::CreateInstance (&m_pApplicationEventsObj); - if (! m_pApplicationEventsObj) - { -! ReportInternalError ("XApplicationEventsObj::CreateInstance"); - return; - } -! m_pApplicationEventsObj->AddRef (); -! m_pApplicationEventsObj->Connect (m_pApplication); - m_pApplicationEventsObj->m_pCommands = this; - - #ifdef NEVER - // Create Debugger event handler - CComPtr < IDispatch > pDebugger; -! if (SUCCEEDED (m_pApplication->get_Debugger (&pDebugger)) - && pDebugger != NULL) - { -! XDebuggerEventsObj::CreateInstance (&m_pDebuggerEventsObj); -! m_pDebuggerEventsObj->AddRef (); -! m_pDebuggerEventsObj->Connect (pDebugger); - m_pDebuggerEventsObj->m_pCommands = this; - } - #endif - - // Get settings from registry HKEY_CURRENT_USER\Software\Vim\VisVim -! HKEY hAppKey = GetAppKey ("Vim"); - if (hAppKey) - { -! HKEY hSectionKey = GetSectionKey (hAppKey, "VisVim"); - if (hSectionKey) - { -! g_bEnableVim = GetRegistryInt (hSectionKey, "EnableVim", - g_bEnableVim); -! g_bDevStudioEditor = GetRegistryInt(hSectionKey,"DevStudioEditor", -! g_bDevStudioEditor); -! g_ChangeDir = GetRegistryInt (hSectionKey, "ChangeDir", - g_ChangeDir); -! RegCloseKey (hSectionKey); - } -! RegCloseKey (hAppKey); - } - } - -! void CCommands::UnadviseFromEvents () - { -! ASSERT (m_pApplicationEventsObj != NULL); - if (m_pApplicationEventsObj) - { -! m_pApplicationEventsObj->Disconnect (m_pApplication); -! m_pApplicationEventsObj->Release (); - m_pApplicationEventsObj = NULL; - } - ---- 62,118 ---- - return; - - // Create Application event handlers -! XApplicationEventsObj::CreateInstance(&m_pApplicationEventsObj); - if (! m_pApplicationEventsObj) - { -! ReportInternalError("XApplicationEventsObj::CreateInstance"); - return; - } -! m_pApplicationEventsObj->AddRef(); -! m_pApplicationEventsObj->Connect(m_pApplication); - m_pApplicationEventsObj->m_pCommands = this; - - #ifdef NEVER - // Create Debugger event handler - CComPtr < IDispatch > pDebugger; -! if (SUCCEEDED(m_pApplication->get_Debugger(&pDebugger)) - && pDebugger != NULL) - { -! XDebuggerEventsObj::CreateInstance(&m_pDebuggerEventsObj); -! m_pDebuggerEventsObj->AddRef(); -! m_pDebuggerEventsObj->Connect(pDebugger); - m_pDebuggerEventsObj->m_pCommands = this; - } - #endif - - // Get settings from registry HKEY_CURRENT_USER\Software\Vim\VisVim -! HKEY hAppKey = GetAppKey("Vim"); - if (hAppKey) - { -! HKEY hSectionKey = GetSectionKey(hAppKey, "VisVim"); - if (hSectionKey) - { -! g_bEnableVim = GetRegistryInt(hSectionKey, "EnableVim", - g_bEnableVim); -! g_bDevStudioEditor = GetRegistryInt(hSectionKey, -! "DevStudioEditor", g_bDevStudioEditor); -! g_bNewTabs = GetRegistryInt(hSectionKey, "NewTabs", -! g_bNewTabs); -! g_ChangeDir = GetRegistryInt(hSectionKey, "ChangeDir", - g_ChangeDir); -! RegCloseKey(hSectionKey); - } -! RegCloseKey(hAppKey); - } - } - -! void CCommands::UnadviseFromEvents() - { -! ASSERT(m_pApplicationEventsObj != NULL); - if (m_pApplicationEventsObj) - { -! m_pApplicationEventsObj->Disconnect(m_pApplication); -! m_pApplicationEventsObj->Release(); - m_pApplicationEventsObj = NULL; - } - -*************** -*** 121,130 **** - // unadvise from its events (thus the VERIFY_OK below--see - // stdafx.h). - CComPtr < IDispatch > pDebugger; -! VERIFY_OK (m_pApplication->get_Debugger (&pDebugger)); -! ASSERT (pDebugger != NULL); -! m_pDebuggerEventsObj->Disconnect (pDebugger); -! m_pDebuggerEventsObj->Release (); - m_pDebuggerEventsObj = NULL; - } - #endif ---- 124,133 ---- - // unadvise from its events (thus the VERIFY_OK below--see - // stdafx.h). - CComPtr < IDispatch > pDebugger; -! VERIFY_OK(m_pApplication->get_Debugger(&pDebugger)); -! ASSERT(pDebugger != NULL); -! m_pDebuggerEventsObj->Disconnect(pDebugger); -! m_pDebuggerEventsObj->Release(); - m_pDebuggerEventsObj = NULL; - } - #endif -*************** -*** 136,156 **** - - // Application events - -! HRESULT CCommands::XApplicationEvents::BeforeBuildStart () - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::BuildFinish (long nNumErrors, long nNumWarnings) - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::BeforeApplicationShutDown () - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - return S_OK; - } - ---- 139,159 ---- - - // Application events - -! HRESULT CCommands::XApplicationEvents::BeforeBuildStart() - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::BuildFinish(long nNumErrors, long nNumWarnings) - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::BeforeApplicationShutDown() - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - return S_OK; - } - -*************** -*** 158,166 **** - // is done. - // Vim gets called from here. - // -! HRESULT CCommands::XApplicationEvents::DocumentOpen (IDispatch * theDocument) - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - - if (! g_bEnableVim) - // Vim not enabled or empty command line entered ---- 161,169 ---- - // is done. - // Vim gets called from here. - // -! HRESULT CCommands::XApplicationEvents::DocumentOpen(IDispatch * theDocument) - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - - if (! g_bEnableVim) - // Vim not enabled or empty command line entered -*************** -*** 169,175 **** - // First get the current file name and line number - - // Get the document object -! CComQIPtr < ITextDocument, &IID_ITextDocument > pDoc (theDocument); - if (! pDoc) - return S_OK; - ---- 172,178 ---- - // First get the current file name and line number - - // Get the document object -! CComQIPtr < ITextDocument, &IID_ITextDocument > pDoc(theDocument); - if (! pDoc) - return S_OK; - -*************** -*** 177,202 **** - long LineNr = -1; - - // Get the document name -! if (FAILED (pDoc->get_FullName (&FileName))) - return S_OK; - - LPDISPATCH pDispSel; - - // Get a selection object dispatch pointer -! if (SUCCEEDED (pDoc->get_Selection (&pDispSel))) - { - // Get the selection object -! CComQIPtr < ITextSelection, &IID_ITextSelection > pSel (pDispSel); - - if (pSel) - // Get the selection line number -! pSel->get_CurrentLine (&LineNr); - -! pDispSel->Release (); - } - - // Open the file in Vim and position to the current line -! if (VimOpenFile (FileName, LineNr)) - { - if (! g_bDevStudioEditor) - { ---- 180,205 ---- - long LineNr = -1; - - // Get the document name -! if (FAILED(pDoc->get_FullName(&FileName))) - return S_OK; - - LPDISPATCH pDispSel; - - // Get a selection object dispatch pointer -! if (SUCCEEDED(pDoc->get_Selection(&pDispSel))) - { - // Get the selection object -! CComQIPtr < ITextSelection, &IID_ITextSelection > pSel(pDispSel); - - if (pSel) - // Get the selection line number -! pSel->get_CurrentLine(&LineNr); - -! pDispSel->Release(); - } - - // Open the file in Vim and position to the current line -! if (VimOpenFile(FileName, LineNr)) - { - if (! g_bDevStudioEditor) - { -*************** -*** 204,233 **** - CComVariant vSaveChanges = dsSaveChangesPrompt; - DsSaveStatus Saved; - -! pDoc->Close (vSaveChanges, &Saved); - } - } - - // We're done here -! SysFreeString (FileName); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::BeforeDocumentClose (IDispatch * theDocument) - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::DocumentSave (IDispatch * theDocument) - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::NewDocument (IDispatch * theDocument) - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - - if (! g_bEnableVim) - // Vim not enabled or empty command line entered ---- 207,236 ---- - CComVariant vSaveChanges = dsSaveChangesPrompt; - DsSaveStatus Saved; - -! pDoc->Close(vSaveChanges, &Saved); - } - } - - // We're done here -! SysFreeString(FileName); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::BeforeDocumentClose(IDispatch * theDocument) - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::DocumentSave(IDispatch * theDocument) - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::NewDocument(IDispatch * theDocument) - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - - if (! g_bEnableVim) - // Vim not enabled or empty command line entered -*************** -*** 235,253 **** - - // First get the current file name and line number - -! CComQIPtr < ITextDocument, &IID_ITextDocument > pDoc (theDocument); - if (! pDoc) - return S_OK; - - BSTR FileName; - HRESULT hr; - -! hr = pDoc->get_FullName (&FileName); -! if (FAILED (hr)) - return S_OK; - - // Open the file in Vim and position to the current line -! if (VimOpenFile (FileName, 0)) - { - if (! g_bDevStudioEditor) - { ---- 238,256 ---- - - // First get the current file name and line number - -! CComQIPtr < ITextDocument, &IID_ITextDocument > pDoc(theDocument); - if (! pDoc) - return S_OK; - - BSTR FileName; - HRESULT hr; - -! hr = pDoc->get_FullName(&FileName); -! if (FAILED(hr)) - return S_OK; - - // Open the file in Vim and position to the current line -! if (VimOpenFile(FileName, 0)) - { - if (! g_bDevStudioEditor) - { -*************** -*** 255,303 **** - CComVariant vSaveChanges = dsSaveChangesPrompt; - DsSaveStatus Saved; - -! pDoc->Close (vSaveChanges, &Saved); - } - } - -! SysFreeString (FileName); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::WindowActivate (IDispatch * theWindow) - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::WindowDeactivate (IDispatch * theWindow) - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::WorkspaceOpen () - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::WorkspaceClose () - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::NewWorkspace () - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - return S_OK; - } - - // Debugger event - -! HRESULT CCommands::XDebuggerEvents::BreakpointHit (IDispatch * pBreakpoint) - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - return S_OK; - } - ---- 258,306 ---- - CComVariant vSaveChanges = dsSaveChangesPrompt; - DsSaveStatus Saved; - -! pDoc->Close(vSaveChanges, &Saved); - } - } - -! SysFreeString(FileName); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::WindowActivate(IDispatch * theWindow) - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::WindowDeactivate(IDispatch * theWindow) - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::WorkspaceOpen() - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::WorkspaceClose() - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - return S_OK; - } - -! HRESULT CCommands::XApplicationEvents::NewWorkspace() - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - return S_OK; - } - - // Debugger event - -! HRESULT CCommands::XDebuggerEvents::BreakpointHit(IDispatch * pBreakpoint) - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - return S_OK; - } - -*************** -*** 308,324 **** - class CMainDialog : public CDialog - { - public: -! CMainDialog (CWnd * pParent = NULL); // Standard constructor - - //{{AFX_DATA(CMainDialog) - enum { IDD = IDD_ADDINMAIN }; - int m_ChangeDir; - BOOL m_bDevStudioEditor; - //}}AFX_DATA - - //{{AFX_VIRTUAL(CMainDialog) - protected: -! virtual void DoDataExchange (CDataExchange * pDX); // DDX/DDV support - //}}AFX_VIRTUAL - - protected: ---- 311,328 ---- - class CMainDialog : public CDialog - { - public: -! CMainDialog(CWnd * pParent = NULL); // Standard constructor - - //{{AFX_DATA(CMainDialog) - enum { IDD = IDD_ADDINMAIN }; - int m_ChangeDir; - BOOL m_bDevStudioEditor; -+ BOOL m_bNewTabs; - //}}AFX_DATA - - //{{AFX_VIRTUAL(CMainDialog) - protected: -! virtual void DoDataExchange(CDataExchange * pDX); // DDX/DDV support - //}}AFX_VIRTUAL - - protected: -*************** -*** 326,425 **** - afx_msg void OnEnable(); - afx_msg void OnDisable(); - //}}AFX_MSG -! DECLARE_MESSAGE_MAP () - }; - -! CMainDialog::CMainDialog (CWnd * pParent /* =NULL */ ) -! : CDialog (CMainDialog::IDD, pParent) - { - //{{AFX_DATA_INIT(CMainDialog) - m_ChangeDir = -1; - m_bDevStudioEditor = FALSE; - //}}AFX_DATA_INIT - } - -! void CMainDialog::DoDataExchange (CDataExchange * pDX) - { -! CDialog::DoDataExchange (pDX); - //{{AFX_DATA_MAP(CMainDialog) - DDX_Radio(pDX, IDC_CD_SOURCE_PATH, m_ChangeDir); -! DDX_Check (pDX, IDC_DEVSTUDIO_EDITOR, m_bDevStudioEditor); - //}}AFX_DATA_MAP - } - -! BEGIN_MESSAGE_MAP (CMainDialog, CDialog) - //{{AFX_MSG_MAP(CMainDialog) - //}}AFX_MSG_MAP -! END_MESSAGE_MAP () - - - ///////////////////////////////////////////////////////////////////////////// - // CCommands methods - -! STDMETHODIMP CCommands::VisVimDialog () - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - - // Use m_pApplication to access the Developer Studio Application - // object, - // and VERIFY_OK to see error strings in DEBUG builds of your add-in - // (see stdafx.h) - -! VERIFY_OK (m_pApplication->EnableModeless (VARIANT_FALSE)); - - CMainDialog Dlg; - - Dlg.m_bDevStudioEditor = g_bDevStudioEditor; - Dlg.m_ChangeDir = g_ChangeDir; -! if (Dlg.DoModal () == IDOK) - { - g_bDevStudioEditor = Dlg.m_bDevStudioEditor; - g_ChangeDir = Dlg.m_ChangeDir; - - // Save settings to registry HKEY_CURRENT_USER\Software\Vim\VisVim -! HKEY hAppKey = GetAppKey ("Vim"); - if (hAppKey) - { -! HKEY hSectionKey = GetSectionKey (hAppKey, "VisVim"); - if (hSectionKey) - { -! WriteRegistryInt (hSectionKey, "DevStudioEditor", - g_bDevStudioEditor); -! WriteRegistryInt (hSectionKey, "ChangeDir", g_ChangeDir); -! RegCloseKey (hSectionKey); - } -! RegCloseKey (hAppKey); - } - } - -! VERIFY_OK (m_pApplication->EnableModeless (VARIANT_TRUE)); - return S_OK; - } - -! STDMETHODIMP CCommands::VisVimEnable () - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); -! VimSetEnableState (true); - return S_OK; - } - -! STDMETHODIMP CCommands::VisVimDisable () - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); -! VimSetEnableState (false); - return S_OK; - } - -! STDMETHODIMP CCommands::VisVimToggle () - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); -! VimSetEnableState (! g_bEnableVim); - return S_OK; - } - -! STDMETHODIMP CCommands::VisVimLoad () - { -! AFX_MANAGE_STATE (AfxGetStaticModuleState ()); - - // Use m_pApplication to access the Developer Studio Application object, - // and VERIFY_OK to see error strings in DEBUG builds of your add-in ---- 330,435 ---- - afx_msg void OnEnable(); - afx_msg void OnDisable(); - //}}AFX_MSG -! DECLARE_MESSAGE_MAP() - }; - -! CMainDialog::CMainDialog(CWnd * pParent /* =NULL */ ) -! : CDialog(CMainDialog::IDD, pParent) - { - //{{AFX_DATA_INIT(CMainDialog) - m_ChangeDir = -1; - m_bDevStudioEditor = FALSE; -+ m_bNewTabs = FALSE; - //}}AFX_DATA_INIT - } - -! void CMainDialog::DoDataExchange(CDataExchange * pDX) - { -! CDialog::DoDataExchange(pDX); - //{{AFX_DATA_MAP(CMainDialog) - DDX_Radio(pDX, IDC_CD_SOURCE_PATH, m_ChangeDir); -! DDX_Check(pDX, IDC_DEVSTUDIO_EDITOR, m_bDevStudioEditor); -! DDX_Check(pDX, IDC_NEW_TABS, m_bNewTabs); - //}}AFX_DATA_MAP - } - -! BEGIN_MESSAGE_MAP(CMainDialog, CDialog) - //{{AFX_MSG_MAP(CMainDialog) - //}}AFX_MSG_MAP -! END_MESSAGE_MAP() - - - ///////////////////////////////////////////////////////////////////////////// - // CCommands methods - -! STDMETHODIMP CCommands::VisVimDialog() - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - - // Use m_pApplication to access the Developer Studio Application - // object, - // and VERIFY_OK to see error strings in DEBUG builds of your add-in - // (see stdafx.h) - -! VERIFY_OK(m_pApplication->EnableModeless(VARIANT_FALSE)); - - CMainDialog Dlg; - - Dlg.m_bDevStudioEditor = g_bDevStudioEditor; -+ Dlg.m_bNewTabs = g_bNewTabs; - Dlg.m_ChangeDir = g_ChangeDir; -! if (Dlg.DoModal() == IDOK) - { - g_bDevStudioEditor = Dlg.m_bDevStudioEditor; -+ g_bNewTabs = Dlg.m_bNewTabs; - g_ChangeDir = Dlg.m_ChangeDir; - - // Save settings to registry HKEY_CURRENT_USER\Software\Vim\VisVim -! HKEY hAppKey = GetAppKey("Vim"); - if (hAppKey) - { -! HKEY hSectionKey = GetSectionKey(hAppKey, "VisVim"); - if (hSectionKey) - { -! WriteRegistryInt(hSectionKey, "DevStudioEditor", - g_bDevStudioEditor); -! WriteRegistryInt(hSectionKey, "NewTabs", -! g_bNewTabs); -! WriteRegistryInt(hSectionKey, "ChangeDir", g_ChangeDir); -! RegCloseKey(hSectionKey); - } -! RegCloseKey(hAppKey); - } - } - -! VERIFY_OK(m_pApplication->EnableModeless(VARIANT_TRUE)); - return S_OK; - } - -! STDMETHODIMP CCommands::VisVimEnable() - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); -! VimSetEnableState(true); - return S_OK; - } - -! STDMETHODIMP CCommands::VisVimDisable() - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); -! VimSetEnableState(false); - return S_OK; - } - -! STDMETHODIMP CCommands::VisVimToggle() - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); -! VimSetEnableState(! g_bEnableVim); - return S_OK; - } - -! STDMETHODIMP CCommands::VisVimLoad() - { -! AFX_MANAGE_STATE(AfxGetStaticModuleState()); - - // Use m_pApplication to access the Developer Studio Application object, - // and VERIFY_OK to see error strings in DEBUG builds of your add-in -*************** -*** 430,436 **** - CComPtr < IDispatch > pDispDoc, pDispSel; - - // Get a document object dispatch pointer -! VERIFY_OK (m_pApplication->get_ActiveDocument (&pDispDoc)); - if (! pDispDoc) - return S_OK; - ---- 440,446 ---- - CComPtr < IDispatch > pDispDoc, pDispSel; - - // Get a document object dispatch pointer -! VERIFY_OK(m_pApplication->get_ActiveDocument(&pDispDoc)); - if (! pDispDoc) - return S_OK; - -*************** -*** 438,467 **** - long LineNr = -1; - - // Get the document object -! CComQIPtr < ITextDocument, &IID_ITextDocument > pDoc (pDispDoc); - - if (! pDoc) - return S_OK; - - // Get the document name -! if (FAILED (pDoc->get_FullName (&FileName))) - return S_OK; - - // Get a selection object dispatch pointer -! if (SUCCEEDED (pDoc->get_Selection (&pDispSel))) - { - // Get the selection object -! CComQIPtr < ITextSelection, &IID_ITextSelection > pSel (pDispSel); - - if (pSel) - // Get the selection line number -! pSel->get_CurrentLine (&LineNr); - } - - // Open the file in Vim -! VimOpenFile (FileName, LineNr); - -! SysFreeString (FileName); - return S_OK; - } - ---- 448,477 ---- - long LineNr = -1; - - // Get the document object -! CComQIPtr < ITextDocument, &IID_ITextDocument > pDoc(pDispDoc); - - if (! pDoc) - return S_OK; - - // Get the document name -! if (FAILED(pDoc->get_FullName(&FileName))) - return S_OK; - - // Get a selection object dispatch pointer -! if (SUCCEEDED(pDoc->get_Selection(&pDispSel))) - { - // Get the selection object -! CComQIPtr < ITextSelection, &IID_ITextSelection > pSel(pDispSel); - - if (pSel) - // Get the selection line number -! pSel->get_CurrentLine(&LineNr); - } - - // Open the file in Vim -! VimOpenFile(FileName, LineNr); - -! SysFreeString(FileName); - return S_OK; - } - -*************** -*** 472,487 **** - - // Set the enable state and save to registry - // -! static void VimSetEnableState (BOOL bEnableState) - { - g_bEnableVim = bEnableState; -! HKEY hAppKey = GetAppKey ("Vim"); - if (hAppKey) - { -! HKEY hSectionKey = GetSectionKey (hAppKey, "VisVim"); - if (hSectionKey) -! WriteRegistryInt (hSectionKey, "EnableVim", g_bEnableVim); -! RegCloseKey (hAppKey); - } - } - ---- 482,497 ---- - - // Set the enable state and save to registry - // -! static void VimSetEnableState(BOOL bEnableState) - { - g_bEnableVim = bEnableState; -! HKEY hAppKey = GetAppKey("Vim"); - if (hAppKey) - { -! HKEY hSectionKey = GetSectionKey(hAppKey, "VisVim"); - if (hSectionKey) -! WriteRegistryInt(hSectionKey, "EnableVim", g_bEnableVim); -! RegCloseKey(hAppKey); - } - } - -*************** -*** 490,496 **** - // letter. - // 'LineNr' must contain a valid line number or 0, e. g. for a new file - // -! static BOOL VimOpenFile (BSTR& FileName, long LineNr) - { - - // OLE automation object for com. with Vim ---- 500,506 ---- - // letter. - // 'LineNr' must contain a valid line number or 0, e. g. for a new file - // -! static BOOL VimOpenFile(BSTR& FileName, long LineNr) - { - - // OLE automation object for com. with Vim -*************** -*** 507,513 **** - // Get a dispatch id for the SendKeys method of Vim; - // enables connection to Vim if necessary - DISPID DispatchId; -! DispatchId = VimGetDispatchId (VimOle, "SendKeys"); - if (! DispatchId) - // OLE error, can't obtain dispatch id - goto OleError; ---- 517,523 ---- - // Get a dispatch id for the SendKeys method of Vim; - // enables connection to Vim if necessary - DISPID DispatchId; -! DispatchId = VimGetDispatchId(VimOle, "SendKeys"); - if (! DispatchId) - // OLE error, can't obtain dispatch id - goto OleError; -*************** -*** 525,544 **** - #ifdef SINGLE_WINDOW - // Update the current file in Vim if it has been modified. - // Disabled, because it could write the file when you don't want to. -! sprintf (VimCmd + 2, ":up\n"); - #endif -! if (! VimOle.Method (DispatchId, "s", TO_OLE_STR_BUF (VimCmd, Buf))) - goto OleError; - - // Change Vim working directory to where the file is if desired - if (g_ChangeDir != CD_NONE) -! VimChangeDir (VimOle, DispatchId, FileName); - - // Make Vim open the file. - // In the filename convert all \ to /, put a \ before a space. -! sprintf(VimCmd, ":drop "); - sprintf(FileNameTmp, "%S", (char *)FileName); -- s = VimCmd + 6; - for (p = FileNameTmp; *p != '\0' && s < FileNameTmp + MAX_OLE_STR - 4; - ++p) - if (*p == '\\') ---- 535,562 ---- - #ifdef SINGLE_WINDOW - // Update the current file in Vim if it has been modified. - // Disabled, because it could write the file when you don't want to. -! sprintf(VimCmd + 2, ":up\n"); - #endif -! if (! VimOle.Method(DispatchId, "s", TO_OLE_STR_BUF(VimCmd, Buf))) - goto OleError; - - // Change Vim working directory to where the file is if desired - if (g_ChangeDir != CD_NONE) -! VimChangeDir(VimOle, DispatchId, FileName); - - // Make Vim open the file. - // In the filename convert all \ to /, put a \ before a space. -! if (g_bNewTabs) -! { -! sprintf(VimCmd, ":tab drop "); -! s = VimCmd + 11; -! } -! else -! { -! sprintf(VimCmd, ":drop "); -! s = VimCmd + 6; -! } - sprintf(FileNameTmp, "%S", (char *)FileName); - for (p = FileNameTmp; *p != '\0' && s < FileNameTmp + MAX_OLE_STR - 4; - ++p) - if (*p == '\\') -*************** -*** 552,571 **** - *s++ = '\n'; - *s = '\0'; - -! if (! VimOle.Method (DispatchId, "s", TO_OLE_STR_BUF (VimCmd, Buf))) - goto OleError; - - if (LineNr > 0) - { - // Goto line -! sprintf (VimCmd, ":%d\n", LineNr); -! if (! VimOle.Method (DispatchId, "s", TO_OLE_STR_BUF (VimCmd, Buf))) - goto OleError; - } - - // Make Vim come to the foreground -! if (! VimOle.Method ("SetForeground")) -! VimOle.ErrDiag (); - - // We're done - return true; ---- 570,589 ---- - *s++ = '\n'; - *s = '\0'; - -! if (! VimOle.Method(DispatchId, "s", TO_OLE_STR_BUF(VimCmd, Buf))) - goto OleError; - - if (LineNr > 0) - { - // Goto line -! sprintf(VimCmd, ":%d\n", LineNr); -! if (! VimOle.Method(DispatchId, "s", TO_OLE_STR_BUF(VimCmd, Buf))) - goto OleError; - } - - // Make Vim come to the foreground -! if (! VimOle.Method("SetForeground")) -! VimOle.ErrDiag(); - - // We're done - return true; -*************** -*** 573,579 **** - OleError: - // There was an OLE error - // Check if it's the "unknown class string" error -! VimErrDiag (VimOle); - return false; - } - ---- 591,597 ---- - OleError: - // There was an OLE error - // Check if it's the "unknown class string" error -! VimErrDiag(VimOle); - return false; - } - -*************** -*** 581,598 **** - // Create the Vim OLE object if necessary - // Returns a valid dispatch id or null on error - // -! static DISPID VimGetDispatchId (COleAutomationControl& VimOle, char* Method) - { - // Initialize Vim OLE connection if not already done -! if (! VimOle.IsCreated ()) - { -! if (! VimOle.CreateObject ("Vim.Application")) - return NULL; - } - - // Get the dispatch id for the SendKeys method. - // By doing this, we are checking if Vim is still there... -! DISPID DispatchId = VimOle.GetDispatchId ("SendKeys"); - if (! DispatchId) - { - // We can't get a dispatch id. ---- 599,616 ---- - // Create the Vim OLE object if necessary - // Returns a valid dispatch id or null on error - // -! static DISPID VimGetDispatchId(COleAutomationControl& VimOle, char* Method) - { - // Initialize Vim OLE connection if not already done -! if (! VimOle.IsCreated()) - { -! if (! VimOle.CreateObject("Vim.Application")) - return NULL; - } - - // Get the dispatch id for the SendKeys method. - // By doing this, we are checking if Vim is still there... -! DISPID DispatchId = VimOle.GetDispatchId("SendKeys"); - if (! DispatchId) - { - // We can't get a dispatch id. -*************** -*** 604,615 **** - // should not be kept long enough to allow the user to terminate Vim - // to avoid memory corruption (why the heck is there no system garbage - // collection for those damned OLE memory chunks???). -! VimOle.DeleteObject (); -! if (! VimOle.CreateObject ("Vim.Application")) - // If this create fails, it's time for an error msg - return NULL; - -! if (! (DispatchId = VimOle.GetDispatchId ("SendKeys"))) - // There is something wrong... - return NULL; - } ---- 622,633 ---- - // should not be kept long enough to allow the user to terminate Vim - // to avoid memory corruption (why the heck is there no system garbage - // collection for those damned OLE memory chunks???). -! VimOle.DeleteObject(); -! if (! VimOle.CreateObject("Vim.Application")) - // If this create fails, it's time for an error msg - return NULL; - -! if (! (DispatchId = VimOle.GetDispatchId("SendKeys"))) - // There is something wrong... - return NULL; - } -*************** -*** 620,639 **** - // Output an error message for an OLE error - // Check on the classstring error, which probably means Vim wasn't registered. - // -! static void VimErrDiag (COleAutomationControl& VimOle) - { -! SCODE sc = GetScode (VimOle.GetResult ()); - if (sc == CO_E_CLASSSTRING) - { - char Buf[256]; -! sprintf (Buf, "There is no registered OLE automation server named " - "\"Vim.Application\".\n" - "Use the OLE-enabled version of Vim with VisVim and " - "make sure to register Vim by running \"vim -register\"."); -! MessageBox (NULL, Buf, "OLE Error", MB_OK); - } - else -! VimOle.ErrDiag (); - } - - // Change directory to the directory the file 'FileName' is in or it's parent ---- 638,657 ---- - // Output an error message for an OLE error - // Check on the classstring error, which probably means Vim wasn't registered. - // -! static void VimErrDiag(COleAutomationControl& VimOle) - { -! SCODE sc = GetScode(VimOle.GetResult()); - if (sc == CO_E_CLASSSTRING) - { - char Buf[256]; -! sprintf(Buf, "There is no registered OLE automation server named " - "\"Vim.Application\".\n" - "Use the OLE-enabled version of Vim with VisVim and " - "make sure to register Vim by running \"vim -register\"."); -! MessageBox(NULL, Buf, "OLE Error", MB_OK); - } - else -! VimOle.ErrDiag(); - } - - // Change directory to the directory the file 'FileName' is in or it's parent -*************** -*** 644,650 **** - // CD_SOURCE_PATH - // CD_SOURCE_PARENT - // -! static void VimChangeDir (COleAutomationControl& VimOle, DISPID DispatchId, BSTR& FileName) - { - // Do a :cd first - ---- 662,668 ---- - // CD_SOURCE_PATH - // CD_SOURCE_PARENT - // -! static void VimChangeDir(COleAutomationControl& VimOle, DISPID DispatchId, BSTR& FileName) - { - // Do a :cd first - -*************** -*** 655,661 **** - char DirUnix[_MAX_DIR * 2]; - char *s, *t; - -! _splitpath (StrFileName, Drive, Dir, NULL, NULL); - - // Convert to Unix path name format, escape spaces. - t = DirUnix; ---- 673,679 ---- - char DirUnix[_MAX_DIR * 2]; - char *s, *t; - -! _splitpath(StrFileName, Drive, Dir, NULL, NULL); - - // Convert to Unix path name format, escape spaces. - t = DirUnix; -*************** -*** 676,694 **** - OLECHAR Buf[MAX_OLE_STR]; - char VimCmd[MAX_OLE_STR]; - -! sprintf (VimCmd, ":cd %s%s%s\n", Drive, DirUnix, - g_ChangeDir == CD_SOURCE_PARENT && DirUnix[1] ? ".." : ""); -! VimOle.Method (DispatchId, "s", TO_OLE_STR_BUF (VimCmd, Buf)); - } - - #ifdef _DEBUG - // Print out a debug message - // -! static void DebugMsg (char* Msg, char* Arg) - { - char Buf[400]; -! sprintf (Buf, Msg, Arg); -! AfxMessageBox (Buf); - } - #endif -- ---- 694,711 ---- - OLECHAR Buf[MAX_OLE_STR]; - char VimCmd[MAX_OLE_STR]; - -! sprintf(VimCmd, ":cd %s%s%s\n", Drive, DirUnix, - g_ChangeDir == CD_SOURCE_PARENT && DirUnix[1] ? ".." : ""); -! VimOle.Method(DispatchId, "s", TO_OLE_STR_BUF(VimCmd, Buf)); - } - - #ifdef _DEBUG - // Print out a debug message - // -! static void DebugMsg(char* Msg, char* Arg) - { - char Buf[400]; -! sprintf(Buf, Msg, Arg); -! AfxMessageBox(Buf); - } - #endif -*** ../vim-7.2.149/src/VisVim/Resource.h Sun Jun 13 19:17:32 2004 ---- src/VisVim/Resource.h Mon Mar 2 00:39:21 2009 -*************** -*** 16,21 **** ---- 16,22 ---- - #define IDC_CD_SOURCE_PATH 1001 - #define IDC_CD_SOURCE_PARENT 1002 - #define IDC_CD_NONE 1003 -+ #define IDC_NEW_TABS 1004 - - // Next default values for new objects - // -*** ../vim-7.2.149/src/VisVim/VisVim.rc Sun Jun 13 19:38:03 2004 ---- src/VisVim/VisVim.rc Mon Mar 2 00:40:19 2009 -*************** -*** 122,127 **** ---- 122,130 ---- - CONTROL "&Open file in DevStudio editor simultaneously", - IDC_DEVSTUDIO_EDITOR,"Button",BS_AUTOCHECKBOX | WS_GROUP | - WS_TABSTOP,7,7,153,10 -+ CONTROL "Open files in new tabs", -+ IDC_NEW_TABS,"Button",BS_AUTOCHECKBOX | WS_GROUP | -+ WS_TABSTOP,7,21,153,10 - GROUPBOX "Current directory",IDC_STATIC,7,35,164,58,WS_GROUP - CONTROL "Set to &source file path",IDC_CD_SOURCE_PATH,"Button", - BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,17,49,85,10 -*** ../vim-7.2.149/src/version.c Wed Apr 22 12:53:31 2009 ---- src/version.c Wed Apr 22 13:04:32 2009 -*************** -*** 678,679 **** ---- 678,681 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 150, - /**/ - --- -A poem: read aloud: - -<> !*''# Waka waka bang splat tick tick hash, -^"`$$- Caret quote back-tick dollar dollar dash, -!*=@$_ Bang splat equal at dollar under-score, -%*<> ~#4 Percent splat waka waka tilde number four, -&[]../ Ampersand bracket bracket dot dot slash, -|{,,SYSTEM HALTED Vertical-bar curly-bracket comma comma CRASH. - -Fred Bremmer and Steve Kroese (Calvin College & Seminary of Grand Rapids, MI.) - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |