devel/vim 7.1.100, NONE, 1.1 README.patches, 1.82, 1.83 vim.spec, 1.174, 1.175
Karsten Hopp (karsten)
fedora-extras-commits at redhat.com
Fri Sep 7 14:05:40 UTC 2007
- Previous message (by thread): rpms/redhat-menus/devel categories.patch, 1.4, 1.5 redhat-menus.spec, 1.84, 1.85
- Next message (by thread): rpms/gdm/devel .cvsignore, 1.54, 1.55 gdm.spec, 1.279, 1.280 sources, 1.57, 1.58
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: karsten
Update of /cvs/extras/devel/vim
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27178
Modified Files:
README.patches vim.spec
Added Files:
7.1.100
Log Message:
- patchlevel 100
--- NEW FILE 7.1.100 ---
To: vim-dev at vim.org
Subject: patch 7.1.100
Fcc: outbox
From: Bram Moolenaar <Bram at moolenaar.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
------------
Patch 7.1.100
Problem: Win32: Executing cscope doesn't always work properly.
Solution: Use another way to invoke cscope. (Mike Williams)
Files: src/if_cscope.c, src/if_cscope.h, src/main.c,
src/proto/if_cscope.pro
*** ../vim-7.1.099/src/if_cscope.c Tue Aug 21 18:02:58 2007
--- src/if_cscope.c Sun Sep 2 16:50:50 2007
***************
*** 24,34 ****
/* not UNIX, must be WIN32 */
# include "vimio.h"
# include <fcntl.h>
- # include <process.h>
- # define STDIN_FILENO 0
- # define STDOUT_FILENO 1
- # define STDERR_FILENO 2
- # define pipe(fds) _pipe(fds, 256, O_TEXT|O_NOINHERIT)
#endif
#include "if_cscope.h"
--- 24,29 ----
***************
*** 65,71 ****
static char * cs_parse_results __ARGS((int cnumber, char *buf, int bufsize, char **context, char **linenumber, char **search));
static char * cs_pathcomponents __ARGS((char *path));
static void cs_print_tags_priv __ARGS((char **, char **, int));
! static int cs_read_prompt __ARGS((int ));
static void cs_release_csp __ARGS((int, int freefnpp));
static int cs_reset __ARGS((exarg_T *eap));
static char * cs_resolve_file __ARGS((int, char *));
--- 60,66 ----
static char * cs_parse_results __ARGS((int cnumber, char *buf, int bufsize, char **context, char **linenumber, char **search));
static char * cs_pathcomponents __ARGS((char *path));
static void cs_print_tags_priv __ARGS((char **, char **, int));
! static int cs_read_prompt __ARGS((int));
static void cs_release_csp __ARGS((int, int freefnpp));
static int cs_reset __ARGS((exarg_T *eap));
static char * cs_resolve_file __ARGS((int, char *));
***************
*** 504,510 ****
#if defined(UNIX)
else if (S_ISREG(statbuf.st_mode) || S_ISLNK(statbuf.st_mode))
#else
! /* substitute define S_ISREG from os_unix.h */
else if (((statbuf.st_mode) & S_IFMT) == S_IFREG)
#endif
{
--- 499,505 ----
#if defined(UNIX)
else if (S_ISREG(statbuf.st_mode) || S_ISLNK(statbuf.st_mode))
#else
! /* WIN32 - substitute define S_ISREG from os_unix.h */
else if (((statbuf.st_mode) & S_IFMT) == S_IFREG)
#endif
{
***************
*** 717,733 ****
cs_create_connection(i)
int i;
{
! int to_cs[2], from_cs[2], len;
! char *prog, *cmd, *ppath = NULL;
! #ifndef UNIX
! int in_save, out_save, err_save;
! long_i ph;
! # ifdef FEAT_GUI
! HWND activewnd = NULL;
! HWND consolewnd = NULL;
! # endif
#endif
/*
* Cscope reads from to_cs[0] and writes to from_cs[1]; vi reads from
* from_cs[0] and writes to to_cs[1].
--- 712,734 ----
cs_create_connection(i)
int i;
{
! #ifdef UNIX
! int to_cs[2], from_cs[2];
! #endif
! int len;
! char *prog, *cmd, *ppath = NULL;
! #ifdef WIN32
! int fd;
! SECURITY_ATTRIBUTES sa;
! PROCESS_INFORMATION pi;
! STARTUPINFO si;
! BOOL pipe_stdin = FALSE, pipe_stdout = FALSE;
! HANDLE stdin_rd, stdout_rd;
! HANDLE stdout_wr, stdin_wr;
! BOOL created;
#endif
+ #if defined(UNIX)
/*
* Cscope reads from to_cs[0] and writes to from_cs[1]; vi reads from
* from_cs[0] and writes to to_cs[1].
***************
*** 748,765 ****
return CSCOPE_FAILURE;
}
- #if defined(UNIX)
switch (csinfo[i].pid = fork())
{
case -1:
(void)EMSG(_("E622: Could not fork for cscope"));
goto err_closing;
case 0: /* child: run cscope. */
- #else
- in_save = dup(STDIN_FILENO);
- out_save = dup(STDOUT_FILENO);
- err_save = dup(STDERR_FILENO);
- #endif
if (dup2(to_cs[0], STDIN_FILENO) == -1)
PERROR("cs_create_connection 1");
if (dup2(from_cs[1], STDOUT_FILENO) == -1)
--- 749,760 ----
***************
*** 768,782 ****
PERROR("cs_create_connection 3");
/* close unused */
- #if defined(UNIX)
(void)close(to_cs[1]);
(void)close(from_cs[0]);
#else
! /* On win32 we must close opposite ends because we are the parent */
! (void)close(to_cs[0]);
! to_cs[0] = -1;
! (void)close(from_cs[1]);
! from_cs[1] = -1;
#endif
/* expand the cscope exec for env var's */
if ((prog = (char *)alloc(MAXPATHL + 1)) == NULL)
--- 763,794 ----
PERROR("cs_create_connection 3");
/* close unused */
(void)close(to_cs[1]);
(void)close(from_cs[0]);
#else
! /* WIN32 */
! /* Create pipes to communicate with cscope */
! sa.nLength = sizeof(SECURITY_ATTRIBUTES);
! sa.bInheritHandle = TRUE;
! sa.lpSecurityDescriptor = NULL;
!
! if (!(pipe_stdin = CreatePipe(&stdin_rd, &stdin_wr, &sa, 0))
! || !(pipe_stdout = CreatePipe(&stdout_rd, &stdout_wr, &sa, 0)))
! {
! (void)EMSG(_("E566: Could not create cscope pipes"));
! err_closing:
! if (pipe_stdin)
! {
! CloseHandle(stdin_rd);
! CloseHandle(stdin_wr);
! }
! if (pipe_stdout)
! {
! CloseHandle(stdout_rd);
! CloseHandle(stdout_wr);
! }
! return CSCOPE_FAILURE;
! }
#endif
/* expand the cscope exec for env var's */
if ((prog = (char *)alloc(MAXPATHL + 1)) == NULL)
***************
*** 784,789 ****
--- 796,802 ----
#ifdef UNIX
return CSCOPE_FAILURE;
#else
+ /* WIN32 */
goto err_closing;
#endif
}
***************
*** 800,805 ****
--- 813,819 ----
#ifdef UNIX
return CSCOPE_FAILURE;
#else
+ /* WIN32 */
goto err_closing;
#endif
}
***************
*** 818,823 ****
--- 832,838 ----
#ifdef UNIX
return CSCOPE_FAILURE;
#else
+ /* WIN32 */
goto err_closing;
#endif
}
***************
*** 826,831 ****
--- 841,847 ----
#if defined(UNIX)
(void)sprintf(cmd, "exec %s -dl -f %s", prog, csinfo[i].fname);
#else
+ /* WIN32 */
(void)sprintf(cmd, "%s -dl -f %s", prog, csinfo[i].fname);
#endif
if (csinfo[i].ppath != NULL)
***************
*** 851,910 ****
exit(127);
/* NOTREACHED */
default: /* parent. */
- #else
- # ifdef FEAT_GUI
- activewnd = GetForegroundWindow(); /* on win9x cscope steals focus */
- /* Dirty hack to hide annoying console window */
- if (AllocConsole())
- {
- char *title;
- title = (char *)alloc(1024);
- if (title == NULL)
- FreeConsole();
- else
- {
- GetConsoleTitle(title, 1024); /* save for future restore */
- SetConsoleTitle(
- "GVIMCS{5499421B-CBEF-45b0-85EF-38167FDEA5C5}GVIMCS");
- Sleep(40); /* as stated in MS KB we must wait 40 ms */
- consolewnd = FindWindow(NULL,
- "GVIMCS{5499421B-CBEF-45b0-85EF-38167FDEA5C5}GVIMCS");
- if (consolewnd != NULL)
- ShowWindow(consolewnd, SW_HIDE);
- SetConsoleTitle(title);
- vim_free(title);
- }
- }
- # endif
- /* May be use &shell, &shellquote etc */
- # ifdef __BORLANDC__
- /* BCC 5.5 uses a different function name for spawnlp */
- ph = (long_i)spawnlp(P_NOWAIT, prog, cmd, NULL);
- # else
- ph = (long_i)_spawnlp(_P_NOWAIT, prog, cmd, NULL);
- # endif
- vim_free(prog);
- vim_free(cmd);
- # ifdef FEAT_GUI
- /* Dirty hack part two */
- if (activewnd != NULL)
- /* restoring focus */
- SetForegroundWindow(activewnd);
- if (consolewnd != NULL)
- FreeConsole();
-
- # endif
- if (ph == -1)
- {
- PERROR(_("cs_create_connection exec failed"));
- (void)EMSG(_("E623: Could not spawn cscope process"));
- goto err_closing;
- }
- /* else */
- csinfo[i].pid = 0;
- csinfo[i].hProc = (HANDLE)ph;
-
- #endif /* !UNIX */
/*
* Save the file descriptors for later duplication, and
* reopen as streams.
--- 867,872 ----
***************
*** 914,935 ****
if ((csinfo[i].fr_fp = fdopen(from_cs[0], "r")) == NULL)
PERROR(_("cs_create_connection: fdopen for fr_fp failed"));
- #if defined(UNIX)
/* close unused */
(void)close(to_cs[0]);
(void)close(from_cs[1]);
break;
}
#else
! /* restore stdhandles */
! dup2(in_save, STDIN_FILENO);
! dup2(out_save, STDOUT_FILENO);
! dup2(err_save, STDERR_FILENO);
! close(in_save);
! close(out_save);
! close(err_save);
! #endif
return CSCOPE_SUCCESS;
} /* cs_create_connection */
--- 876,927 ----
if ((csinfo[i].fr_fp = fdopen(from_cs[0], "r")) == NULL)
PERROR(_("cs_create_connection: fdopen for fr_fp failed"));
/* close unused */
(void)close(to_cs[0]);
(void)close(from_cs[1]);
break;
}
+
#else
! /* WIN32 */
! /* Create a new process to run cscope and use pipes to talk with it */
! GetStartupInfo(&si);
! si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW;
! si.wShowWindow = SW_HIDE; /* Hide child application window */
! si.hStdOutput = stdout_wr;
! si.hStdError = stdout_wr;
! si.hStdInput = stdin_rd;
! created = CreateProcess(NULL, cmd, NULL, NULL, TRUE, CREATE_NEW_CONSOLE,
! NULL, NULL, &si, &pi);
! vim_free(prog);
! vim_free(cmd);
!
! if (!created)
! {
! PERROR(_("cs_create_connection exec failed"));
! (void)EMSG(_("E623: Could not spawn cscope process"));
! goto err_closing;
! }
! /* else */
! csinfo[i].pid = pi.dwProcessId;
! csinfo[i].hProc = pi.hProcess;
! CloseHandle(pi.hThread);
!
! /* TODO - tidy up after failure to create files on pipe handles. */
! if (((fd = _open_osfhandle((intptr_t)stdin_wr, _O_TEXT|_O_APPEND)) < 0)
! || ((csinfo[i].to_fp = _fdopen(fd, "w")) == NULL))
! PERROR(_("cs_create_connection: fdopen for to_fp failed"));
! if (((fd = _open_osfhandle((intptr_t)stdout_rd, _O_TEXT|_O_RDONLY)) < 0)
! || ((csinfo[i].fr_fp = _fdopen(fd, "r")) == NULL))
! PERROR(_("cs_create_connection: fdopen for fr_fp failed"));
!
! /* Close handles for file descriptors inherited by the cscope process */
! CloseHandle(stdin_rd);
! CloseHandle(stdout_wr);
!
! #endif /* !UNIX */
!
return CSCOPE_SUCCESS;
} /* cs_create_connection */
***************
*** 2097,2104 ****
/*
* PRIVATE: cs_release_csp
*
! * does the actual free'ing for the cs ptr with an optional flag of whether
! * or not to free the filename. called by cs_kill and cs_reset.
*/
static void
cs_release_csp(i, freefnpp)
--- 2089,2096 ----
/*
* PRIVATE: cs_release_csp
*
! * Does the actual free'ing for the cs ptr with an optional flag of whether
! * or not to free the filename. Called by cs_kill and cs_reset.
*/
static void
cs_release_csp(i, freefnpp)
***************
*** 2116,2125 ****
(void)fputs("q\n", csinfo[i].to_fp);
(void)fflush(csinfo[i].to_fp);
}
! /* give cscope chance to exit normally */
! if (csinfo[i].hProc != NULL
! && WaitForSingleObject(csinfo[i].hProc, 1000) == WAIT_TIMEOUT)
! TerminateProcess(csinfo[i].hProc, 0);
#endif
if (csinfo[i].fr_fp != NULL)
--- 2108,2120 ----
(void)fputs("q\n", csinfo[i].to_fp);
(void)fflush(csinfo[i].to_fp);
}
! if (csinfo[i].hProc != NULL)
! {
! /* Give cscope a chance to exit normally */
! if (WaitForSingleObject(csinfo[i].hProc, 1000) == WAIT_TIMEOUT)
! TerminateProcess(csinfo[i].hProc, 0);
! CloseHandle(csinfo[i].hProc);
! }
#endif
if (csinfo[i].fr_fp != NULL)
***************
*** 2301,2306 ****
--- 2296,2316 ----
wait_return(TRUE);
return CSCOPE_SUCCESS;
} /* cs_show */
+
+
+ /*
+ * PUBLIC: cs_end
+ *
+ * Only called when VIM exits to quit any cscope sessions.
+ */
+ void
+ cs_end()
+ {
+ int i;
+
+ for (i = 0; i < CSCOPE_MAX_CONNECTIONS; i++)
+ cs_release_csp(i, TRUE);
+ }
#endif /* FEAT_CSCOPE */
*** ../vim-7.1.099/src/if_cscope.h Thu Jun 30 23:59:58 2005
--- src/if_cscope.h Sun Sep 2 16:51:08 2007
***************
*** 72,78 ****
ino_t st_ino; /* inode number of cscope db */
#else
# if defined(WIN32)
! int pid; /* Can't get pid so set it to 0 ;) */
HANDLE hProc; /* cscope process handle */
DWORD nVolume; /* Volume serial number, instead of st_dev */
DWORD nIndexHigh; /* st_ino has no meaning in the Windows */
--- 72,78 ----
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 */
*** ../vim-7.1.099/src/main.c Thu Aug 30 12:24:21 2007
--- src/main.c Sun Sep 2 16:44:36 2007
***************
*** 1331,1336 ****
--- 1331,1339 ----
#ifdef FEAT_NETBEANS_INTG
netbeans_end();
#endif
+ #ifdef FEAT_CSCOPE
+ cs_end();
+ #endif
mch_exit(exitval);
}
***************
*** 3671,3677 ****
mainerr_arg_missing((char_u *)filev[-1]);
if (mch_dirname(cwd, MAXPATHL) != OK)
return NULL;
! if ((p = vim_strsave_escaped_ext(cwd, PATH_ESC_CHARS, '\\', TRUE)) == NULL)
return NULL;
ga_init2(&ga, 1, 100);
ga_concat(&ga, (char_u *)"<C-\\><C-N>:cd ");
--- 3674,3686 ----
mainerr_arg_missing((char_u *)filev[-1]);
if (mch_dirname(cwd, MAXPATHL) != OK)
return NULL;
! if ((p = vim_strsave_escaped_ext(cwd,
! #ifdef BACKSLASH_IN_FILENAME
! "", /* rem_backslash() will tell what chars to escape */
! #else
! PATH_ESC_CHARS,
! #endif
! '\\', TRUE)) == NULL)
return NULL;
ga_init2(&ga, 1, 100);
ga_concat(&ga, (char_u *)"<C-\\><C-N>:cd ");
*** ../vim-7.1.099/src/proto/if_cscope.pro Sat May 5 19:15:39 2007
--- src/proto/if_cscope.pro Sun Sep 2 16:51:34 2007
***************
*** 6,9 ****
--- 6,10 ----
void cs_free_tags __ARGS((void));
void cs_print_tags __ARGS((void));
int cs_connection __ARGS((int num, char_u *dbpath, char_u *ppath));
+ void cs_end __ARGS((void));
/* vim: set ft=c : */
*** ../vim-7.1.099/src/version.c Thu Sep 6 16:33:47 2007
--- src/version.c Thu Sep 6 17:27:51 2007
***************
*** 668,669 ****
--- 668,671 ----
{ /* Add new patch number below this line */
+ /**/
+ 100,
/**/
--
I have to exercise early in the morning before my brain
figures out what I'm doing.
/// Bram Moolenaar -- Bram at 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 ///
Index: README.patches
===================================================================
RCS file: /cvs/extras/devel/vim/README.patches,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -r1.82 -r1.83
--- README.patches 24 Aug 2007 14:27:34 -0000 1.82
+++ README.patches 7 Sep 2007 14:05:05 -0000 1.83
@@ -111,3 +111,16 @@
2496 7.1.085 after ":split fold.c" folds in one window disappear
3561 7.1.086 crash when using specific Python syntax highlighting
4165 7.1.087 cscope: reading past command end; writing past buffer end
+ 2276 7.1.088 (extra) window position wrong when using ":winpos"
+ 13841 7.1.089 when listing variables text of command is not cleared
+ 2372 7.1.090 compiler warning on Mac OS X 10.5 for sigaltstack()
+ 10488 7.1.091 (extra) Win32: add --windowid argument
+ 2901 7.1.092 (extra, after 7.1.088) wrong args for MoveWindowStructure()
+ 15955 7.1.093 read past end of screen line when checking for double width
+ 1901 7.1.094 using wrong buffer to check if syntax HL is present
+ 5809 7.1.095 autocmmand for focus events may cause problems
+ 2287 7.1.096 reading past end of a string when resizing Vim
+ 1620 7.1.097 "setlocal stl=%!expr" doesn't work
+ 1780 7.1.098 ":call s:var()" doesn't work if "s:var" is a Funcref
+ 4552 7.1.099 ":mkvimrc" doesn't work properly when 'paste' or 'keymap' set
+ 14551 7.1.100 Win32: Executing cscope doesn't always work properly
Index: vim.spec
===================================================================
RCS file: /cvs/extras/devel/vim/vim.spec,v
retrieving revision 1.174
retrieving revision 1.175
diff -u -r1.174 -r1.175
--- vim.spec 27 Aug 2007 13:28:26 -0000 1.174
+++ vim.spec 7 Sep 2007 14:05:05 -0000 1.175
@@ -15,7 +15,7 @@
#used for pre-releases:
%define beta %{nil}
%define vimdir vim71%{?beta}
-%define patchlevel 87
+%define patchlevel 100
Summary: The VIM editor
URL: http://www.vim.org/
@@ -141,6 +141,23 @@
Patch085: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.085
Patch086: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.086
Patch087: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.087
+# Mac:
+#Patch088: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.088
+Patch089: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.089
+Patch090: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.090
+# Win32:
+#Patch091: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.091
+# Mac:
+#Patch092: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.092
+Patch093: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.093
+Patch094: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.094
+Patch095: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.095
+Patch096: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.096
+Patch097: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.097
+Patch098: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.098
+Patch099: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.099
+# Win32:
+#Patch100: ftp://ftp.vim.org/pub/vim/patches/7.1/7.1.100
Patch3000: vim-7.0-syntax.patch
Patch3002: vim-7.1-nowarnings.patch
@@ -366,6 +383,23 @@
%patch085 -p0
%patch086 -p0
%patch087 -p0
+# Mac:
+#patch088 -p0
+%patch089 -p0
+%patch090 -p0
+# Win32:
+#patch091 -p0
+# Mac:
+#patch092 -p0
+%patch093 -p0
+%patch094 -p0
+%patch095 -p0
+%patch096 -p0
+%patch097 -p0
+%patch098 -p0
+%patch099 -p0
+# Win32:
+#patch100 -p0
# install spell files
%if %{withvimspell}
@@ -751,6 +785,9 @@
%{_datadir}/icons/hicolor/*/apps/*
%changelog
+* Fri Sep 07 2007 Karsten Hopp <karsten at redhat.com> 7.1.100-1
+- patchlevel 100
+
* Fri Aug 24 2007 Karsten Hopp <karsten at redhat.com> 7.1.87-1
- add build requirement perl-devel
- fix tarball unpacking
- Previous message (by thread): rpms/redhat-menus/devel categories.patch, 1.4, 1.5 redhat-menus.spec, 1.84, 1.85
- Next message (by thread): rpms/gdm/devel .cvsignore, 1.54, 1.55 gdm.spec, 1.279, 1.280 sources, 1.57, 1.58
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list