Accepting request 361631 from editors
- Updated to revision 1421, fixes the following problems * When calling ch_close() the close callback is invoked, even though the docs say it isn't. * Using "u_char" intead of "char_u", which doesn't work everywhere. * Tests slowed down because of the "not a terminal" warning. * May free a channel when a callback may need to be invoked. - Disable sniff support, its unmaintained. - Updated to revision 1410, fixes the following problems * The close-cb option is not implemented yet. * Perl eval doesn't work properly on 64-bit big-endian machine. * Having 'autochdir' set during startup and using diff mode doesn't work. * GTK 3 is not supported. * Completion menu flickers. * Leaking memory in cs_print_tags_priv(). * json_encode() does not handle NaN and inf properly. * Leaking memory in cscope interface. - Updated to revision 1397, fixes the following problems * When the Job exit callback is invoked, the job may be freed too soon. * Starting a job hangs in the GUI. * Can't sort inside a sort function. - Drop vim-7.1.314-CVE-2009-0316-debian.patch, Python 2.7 has the appropriate fix. - Updated to revision 1385, fixes the following problems * Job and channel options parsing is scattered. OBS-URL: https://build.opensuse.org/request/show/361631 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/vim?expand=0&rev=168
This commit is contained in:
commit
4be550a6dd
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1e903b22d3a6154d26a9991d9d1196a41be86c500369c9fe5a2dd80800e60916
|
||||
size 12595792
|
3
v7.4.1421.tar.gz
Normal file
3
v7.4.1421.tar.gz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:04bcbf0f31cdcfff20f8e267d616626cf96eb53058df2ba438949c97b4041221
|
||||
size 12588556
|
@ -1,53 +0,0 @@
|
||||
Index: vim74/src/if_python.c
|
||||
===================================================================
|
||||
--- vim74.orig/src/if_python.c
|
||||
+++ vim74/src/if_python.c
|
||||
@@ -806,6 +806,7 @@ py_memsave(void *p, size_t len)
|
||||
*/
|
||||
|
||||
static int PythonMod_Init(void);
|
||||
+static void Python_FixPath(void);
|
||||
|
||||
|
||||
/******************************************************
|
||||
@@ -933,6 +934,11 @@ Python_Init(void)
|
||||
* the current directory in sys.path. */
|
||||
PyRun_SimpleString("import sys; sys.path = filter(lambda x: x != '/must>not&exist', sys.path)");
|
||||
|
||||
+ /* Remove empty elements from sys.path since that causes the PWD to be
|
||||
+ * used for imports, possibly masking system libraries and/or running
|
||||
+ * arbitrary code. */
|
||||
+ Python_FixPath();
|
||||
+
|
||||
/* lock is created and acquired in PyEval_InitThreads() and thread
|
||||
* state is created in Py_Initialize()
|
||||
* there _PyGILState_NoteThreadState() also sets gilcounter to 1
|
||||
@@ -1417,6 +1423,28 @@ PythonMod_Init(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+ static void
|
||||
+Python_FixPath(void)
|
||||
+{
|
||||
+ PyObject *sys = PyImport_ImportModule("sys");
|
||||
+ PyObject *sysdict = PyModule_GetDict(sys);
|
||||
+ PyObject *path = PyDict_GetItemString(sysdict, "path");
|
||||
+ PyObject *newpath = PyList_New(0);
|
||||
+ if (newpath != NULL) {
|
||||
+ Py_INCREF(newpath);
|
||||
+ PyInt n = PyList_Size(path);
|
||||
+ PyInt i;
|
||||
+ for (i = 0; i < n; i++) {
|
||||
+ PyObject *item = PyList_GetItem(path, i);
|
||||
+ if (strlen(PyString_AsString(item)) != 0) {
|
||||
+ PyList_Append(newpath, PyList_GetItem(path, i));
|
||||
+ }
|
||||
+ }
|
||||
+ PyDict_SetItemString(sysdict, "path", newpath);
|
||||
+ Py_DECREF(newpath);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/*************************************************************************
|
||||
* 4. Utility functions for handling the interface between Vim and Python.
|
||||
*/
|
@ -1,93 +0,0 @@
|
||||
Index: vim-7.4.843/src/diff.c
|
||||
===================================================================
|
||||
--- vim-7.4.843.orig/src/diff.c
|
||||
+++ vim-7.4.843/src/diff.c
|
||||
@@ -42,7 +42,7 @@ static void diff_check_unchanged __ARGS(
|
||||
static int diff_check_sanity __ARGS((tabpage_T *tp, diff_T *dp));
|
||||
static void diff_redraw __ARGS((int dofold));
|
||||
static int diff_write __ARGS((buf_T *buf, char_u *fname));
|
||||
-static void diff_file __ARGS((char_u *tmp_orig, char_u *tmp_new, char_u *tmp_diff));
|
||||
+static int diff_file __ARGS((char_u *tmp_orig, char_u *tmp_new, char_u *tmp_diff));
|
||||
static int diff_equal_entry __ARGS((diff_T *dp, int idx1, int idx2));
|
||||
static int diff_cmp __ARGS((char_u *s1, char_u *s2));
|
||||
#ifdef FEAT_FOLDING
|
||||
@@ -667,6 +667,7 @@ ex_diffupdate(eap)
|
||||
char_u *tmp_diff;
|
||||
FILE *fd;
|
||||
int ok;
|
||||
+ int retval = 0;
|
||||
int io_error = FALSE;
|
||||
|
||||
/* Delete all diffblocks. */
|
||||
@@ -719,7 +720,7 @@ ex_diffupdate(eap)
|
||||
if (fwrite("line2\n", (size_t)6, (size_t)1, fd) != 1)
|
||||
io_error = TRUE;
|
||||
fclose(fd);
|
||||
- diff_file(tmp_orig, tmp_new, tmp_diff);
|
||||
+ retval = diff_file(tmp_orig, tmp_new, tmp_diff);
|
||||
fd = mch_fopen((char *)tmp_diff, "r");
|
||||
if (fd == NULL)
|
||||
io_error = TRUE;
|
||||
@@ -765,6 +766,12 @@ ex_diffupdate(eap)
|
||||
}
|
||||
#endif
|
||||
|
||||
+ /* diff returned an error */
|
||||
+ if (retval == 2) {
|
||||
+ ok = FALSE;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
/* If we checked if "-a" works already, break here. */
|
||||
if (diff_a_works != MAYBE)
|
||||
break;
|
||||
@@ -808,10 +815,13 @@ ex_diffupdate(eap)
|
||||
continue; /* skip buffer that isn't loaded */
|
||||
if (diff_write(buf, tmp_new) == FAIL)
|
||||
continue;
|
||||
- diff_file(tmp_orig, tmp_new, tmp_diff);
|
||||
-
|
||||
- /* Read the diff output and add each entry to the diff list. */
|
||||
- diff_read(idx_orig, idx_new, tmp_diff);
|
||||
+ retval = diff_file(tmp_orig, tmp_new, tmp_diff);
|
||||
+ if(retval == 2)
|
||||
+ EMSG(_("E97: Cannot create diffs"));
|
||||
+ else {
|
||||
+ /* Read the diff output and add each entry to the diff list. */
|
||||
+ diff_read(idx_orig, idx_new, tmp_diff);
|
||||
+ }
|
||||
mch_remove(tmp_diff);
|
||||
mch_remove(tmp_new);
|
||||
}
|
||||
@@ -831,13 +841,14 @@ theend:
|
||||
/*
|
||||
* Make a diff between files "tmp_orig" and "tmp_new", results in "tmp_diff".
|
||||
*/
|
||||
- static void
|
||||
+ static int
|
||||
diff_file(tmp_orig, tmp_new, tmp_diff)
|
||||
char_u *tmp_orig;
|
||||
char_u *tmp_new;
|
||||
char_u *tmp_diff;
|
||||
{
|
||||
char_u *cmd;
|
||||
+ int retval=0;
|
||||
size_t len;
|
||||
|
||||
#ifdef FEAT_EVAL
|
||||
@@ -873,13 +884,14 @@ diff_file(tmp_orig, tmp_new, tmp_diff)
|
||||
#ifdef FEAT_AUTOCMD
|
||||
block_autocmds(); /* Avoid ShellCmdPost stuff */
|
||||
#endif
|
||||
- (void)call_shell(cmd, SHELL_FILTER|SHELL_SILENT|SHELL_DOOUT);
|
||||
+ retval = call_shell(cmd, SHELL_FILTER|SHELL_SILENT|SHELL_DOOUT);
|
||||
#ifdef FEAT_AUTOCMD
|
||||
unblock_autocmds();
|
||||
#endif
|
||||
vim_free(cmd);
|
||||
}
|
||||
}
|
||||
+ return retval;
|
||||
}
|
||||
|
||||
/*
|
110
vim.changes
110
vim.changes
@ -1,3 +1,113 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 26 08:21:14 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Updated to revision 1421, fixes the following problems
|
||||
* When calling ch_close() the close callback is invoked,
|
||||
even though the docs say it isn't.
|
||||
* Using "u_char" intead of "char_u", which doesn't work everywhere.
|
||||
* Tests slowed down because of the "not a terminal" warning.
|
||||
* May free a channel when a callback may need to be invoked.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 24 19:56:00 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Disable sniff support, its unmaintained.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 24 09:06:22 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Updated to revision 1410, fixes the following problems
|
||||
* The close-cb option is not implemented yet.
|
||||
* Perl eval doesn't work properly on 64-bit big-endian machine.
|
||||
* Having 'autochdir' set during startup and using diff mode doesn't work.
|
||||
* GTK 3 is not supported.
|
||||
* Completion menu flickers.
|
||||
* Leaking memory in cs_print_tags_priv().
|
||||
* json_encode() does not handle NaN and inf properly.
|
||||
* Leaking memory in cscope interface.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 23 08:25:46 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Updated to revision 1397, fixes the following problems
|
||||
* When the Job exit callback is invoked, the job may be freed too
|
||||
soon.
|
||||
* Starting a job hangs in the GUI.
|
||||
* Can't sort inside a sort function.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 22 13:17:45 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Drop vim-7.1.314-CVE-2009-0316-debian.patch, Python 2.7 has
|
||||
the appropriate fix.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 22 09:53:40 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Updated to revision 1385, fixes the following problems
|
||||
* Job and channel options parsing is scattered.
|
||||
* Channel test ch_sendexpr() times out.
|
||||
* Can't remove a callback with ch_setoptions().
|
||||
* Channels don't have a queue for stderr.
|
||||
* X11 GUI callbacks don't specify the part of the channel.
|
||||
* Channel read implementation is incomplete.
|
||||
* Calling a Vim function over a channel requires turning the
|
||||
arguments into a string.
|
||||
* ch_setoptions() cannot set all options.
|
||||
* Can't change job settings after it started.
|
||||
* The job exit callback is not implemented.
|
||||
* Can't get the job of a channel.
|
||||
* It is not easy to use a set of plugins and their dependencies.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 19 08:32:41 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Updated to revision 1353, fixes the following problems
|
||||
* Compiler warnings in build with -O2.
|
||||
* When there is any error Vim will use a non-zero exit code.
|
||||
* When the test server fails to start Vim hangs.
|
||||
* When the port isn't opened yet when ch_open() is called it may
|
||||
fail instead of waiting for the specified time.
|
||||
* The test script lists all functions before executing them.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 18 11:12:03 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Updated to revision 1345, fixes the following problems
|
||||
* Crash when using channel that failed to open.
|
||||
* Crash when closing the channel in a callback.
|
||||
* Channel test fails on non-darwin builds.
|
||||
* Channel NL mode is not supported yet.
|
||||
* It's difficult to add more arguments to ch_sendraw() and ch_sendexpr().
|
||||
* Can't compile with +job but without +channel.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 16 09:57:19 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Updated to revision 1328, fixes the following problems
|
||||
* Cursor changes column with up motion when the matchparen
|
||||
plugin saves and restores the cursor position. (Martin Kunev)
|
||||
* "\%1l^#.*" does not match on a line starting with "#".
|
||||
* Channel with pipes doesn't work in GUI.
|
||||
* Crash when unletting the variable that holds the channel
|
||||
in a callback function.
|
||||
* Can't compile with +job but without +channel.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 8 13:22:33 UTC 2016 - idonmez@suse.com
|
||||
|
||||
- Updated to revision 1294, fixes the following problems
|
||||
* copy() and deepcopy() fail with special variables.
|
||||
* Encoding {'key':} to JSON doesn't give an error.
|
||||
* assert_false(v:false) reports an error.
|
||||
* When jsonencode() fails it still returns something.
|
||||
* jsonencode() is not producing strict JSON.
|
||||
* Crash when evaluating the pattern of ":catch" causes an error.
|
||||
* The job feature isn't available on MS-Windows.
|
||||
* ch_open() with a timeout doesn't work correctly.
|
||||
* ch_sendexpr() does not use JS encoding.
|
||||
- Remove vim-7.3-diff_check.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 29 08:45:41 UTC 2016 - idonmez@suse.com
|
||||
|
||||
|
10
vim.spec
10
vim.spec
@ -17,7 +17,7 @@
|
||||
|
||||
|
||||
%define pkg_version 7.4
|
||||
%define patchlevel 1194
|
||||
%define patchlevel 1421
|
||||
%define VIM_SUBDIR vim74
|
||||
%define site_runtimepath /usr/share/vim/site
|
||||
%define make make VIMRCLOC=/etc VIMRUNTIMEDIR=/usr/share/vim/current MAKE="make -e" %{?_smp_mflags}
|
||||
@ -88,11 +88,9 @@ Patch10: %{name}-7.3-name_vimrc.patch
|
||||
Patch11: %{name}-7.3-mktemp_tutor.patch
|
||||
Patch15: %{name}-7.4-filetype_apparmor.patch
|
||||
Patch18: %{name}-7.3-filetype_spec.patch
|
||||
Patch19: %{name}-7.3-diff_check.patch
|
||||
Patch21: %{name}-7.3-filetype_changes.patch
|
||||
Patch22: %{name}-7.4-filetype_mine.patch
|
||||
Patch100: vim-7.1.314-CVE-2009-0316-debian.patch
|
||||
Patch101: vim73-no-static-libpython.patch
|
||||
Patch100: vim73-no-static-libpython.patch
|
||||
|
||||
%description
|
||||
Vim (Vi IMproved) is an almost compatible version of the UNIX editor
|
||||
@ -164,11 +162,9 @@ want less features, you might want to install vim instead.
|
||||
cp %{SOURCE23} runtime/syntax/apparmor.vim
|
||||
%patch15 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch100 -p1
|
||||
%patch101 -p1
|
||||
cp %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE8} %{SOURCE10} .
|
||||
|
||||
%build
|
||||
@ -181,7 +177,6 @@ export COMMON_OPTIONS="\
|
||||
--with-view-name=view \
|
||||
--enable-cscope \
|
||||
--enable-multibyte \
|
||||
--enable-sniff \
|
||||
--with-features=huge \
|
||||
--with-compiledby='http://www.opensuse.org/' \
|
||||
%if 0%{?suse_version} > 1210
|
||||
@ -472,6 +467,7 @@ make test
|
||||
|
||||
%files -n gvim
|
||||
%defattr(-,root,root,-)
|
||||
%doc runtime/doc/gui_x11.txt
|
||||
%ghost %config(missingok) %{_sysconfdir}/gvimrc
|
||||
%{_bindir}/egview
|
||||
%{_bindir}/egvim
|
||||
|
Loading…
Reference in New Issue
Block a user