Mercurial > vim
view src/if_cscope.h @ 10076:bc30991c3e98 v7.4.2309
commit https://github.com/vim/vim/commit/11fbc2866ccc11b4dd1726abdaf582a78ef3f743
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Sep 2 21:48:32 2016 +0200
patch 7.4.2309
Problem: Crash when doing tabnext in a BufUnload autocmd. (Dominique Pelle)
Solution: When detecting that the tab page changed, don't just abort but
delete the window where w_buffer is NULL.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 02 Sep 2016 22:00:07 +0200 |
parents | 4aead6a9b7a9 |
children | 7fad90423bd2 |
line wrap: on
line source
/* vi:set ts=8 sts=4 sw=4 noet: * * CSCOPE support for Vim added by Andy Kahn <kahn@zk3.dec.com> * Ported to Win32 by Sergey Khorev <sergey.khorev@gmail.com> * * The basic idea/structure of cscope for Vim was borrowed from Nvi. * There might be a few lines of code that look similar to what Nvi * has. If this is a problem and requires inclusion of the annoying * BSD license, then sue me; I'm not worth much anyway. */ #if defined(FEAT_CSCOPE) || defined(PROTO) #if defined (WIN32) # ifndef WIN32_LEAN_AND_MEAN # define WIN32_LEAN_AND_MEAN # endif # include <windows.h> #endif #define CSCOPE_SUCCESS 0 #define CSCOPE_FAILURE -1 #define CSCOPE_DBFILE "cscope.out" #define CSCOPE_PROMPT ">> " /* * See ":help cscope-find" for the possible queries. */ typedef struct { char * name; int (*func)(exarg_T *eap); char * help; char * usage; int cansplit; /* if supports splitting window */ } cscmd_T; typedef struct csi { char * fname; /* cscope db name */ char * ppath; /* path to prepend (the -P option) */ char * flags; /* additional cscope flags/options (e.g, -p2) */ #if defined(UNIX) pid_t pid; /* PID of the connected cscope process. */ dev_t st_dev; /* ID of dev containing cscope db */ ino_t st_ino; /* inode number of cscope db */ #else # if defined(WIN32) DWORD pid; /* PID of the connected cscope process. */ HANDLE hProc; /* cscope process handle */ DWORD nVolume; /* Volume serial number, instead of st_dev */ DWORD nIndexHigh; /* st_ino has no meaning in the Windows */ DWORD nIndexLow; # endif #endif FILE * fr_fp; /* from cscope: FILE. */ FILE * to_fp; /* to cscope: FILE. */ } csinfo_T; typedef enum { Add, Find, Help, Kill, Reset, Show } csid_e; typedef enum { Store, Get, Free, Print } mcmd_e; #endif /* FEAT_CSCOPE */ /* the end */