Accepting request 399956 from editors

- Updated to revision 1883, fixes the following problems
  * Python: encoding error with Python 2.
  * Memory leaks in test49.
  * Invalid memory access when exiting with EXITFREE defined.
  * Memory leak in test_matchstrpos.
  * Setting really_exiting causes memory leaks to be reported.
  * Appending to the quickfix list while the quickfix window is open
    is very slow.
  * When a callback adds a timer the GUI doesn't use it until later.
  * Comparing functions and partials doesn't work well.
  * Typing "k" at the hit-enter prompt has no effect.
  * Whether a job has exited isn't detected until a character is typed.
    After calling exit_cb the cursor is in the wrong place.
  * Channel test is flaky.
  * Appending to a long quickfix list is slow.
  * Check for line break at end of line wrong.
  * Cppcheck found 2 incorrect printf formats.

- Updated to revision 1862, fixes the following problems
  * Using a partial for timer_start() may cause a crash.
  * Compiler warnings with 64 bit compiler.
  * string() with repeated argument does not give a result usable
    by eval(). 

- Updated to revision 1859, fixes the following problems
  * Tests involving Python are flaky.
  * Ubsan detects a multiplication overflow.
  * Getting an item from a NULL dict crashes.
  * Can't build with Strawberry Perl 5.24 (obsoletes perl-5.24.patch)
  * Still trying to read from channel that is going to be closed.

OBS-URL: https://build.opensuse.org/request/show/399956
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/vim?expand=0&rev=174
This commit is contained in:
Dominique Leuenberger 2016-06-03 14:38:13 +00:00 committed by Git OBS Bridge
commit e17c2adc2c
5 changed files with 55 additions and 63 deletions

View File

@ -1,57 +0,0 @@
UPDADE: Use Perl macro SvREFCNT_inc_void_NN() instead of SvREFCNT()++
suggested by Ken Takata.
=for apidoc Am|void|SvREFCNT_inc_void_NN|SV* sv
Same as C<SvREFCNT_inc>, but can only be used if you don't need the return
value, and you know that C<sv> is not C<NULL>. The macro doesn't need
to return a meaningful value, or check for NULLness, so it's smaller
and faster.
diff -r 030b239e7b25 src/if_perl.xs
--- a/src/if_perl.xs Sun May 01 23:15:06 2016 +0200
+++ b/src/if_perl.xs Mon May 02 08:17:33 2016 +0200
@@ -602,13 +602,20 @@ static struct {
};
/* Work around for perl-5.18.
- * The definitions of S_SvREFCNT_inc and S_SvREFCNT_dec are needed, so include
- * "perl\lib\CORE\inline.h", after Perl_sv_free2 is defined.
- * The linker won't complain about undefined __impl_Perl_sv_free2. */
+ * For now, only the definitions of S_SvREFCNT_dec are needed in
+ * "perl\lib\CORE\inline.h". */
#if (PERL_REVISION == 5) && (PERL_VERSION >= 18)
-# define PL_memory_wrap "panic: memory wrap" /* Dummy */
-# include <inline.h>
-# undef PL_memory_wrap
+static void
+S_SvREFCNT_dec(pTHX_ SV *sv)
+{
+ if (LIKELY(sv != NULL)) {
+ U32 rc = SvREFCNT(sv);
+ if (LIKELY(rc > 1))
+ SvREFCNT(sv) = rc - 1;
+ else
+ Perl_sv_free2(aTHX_ sv, rc);
+ }
+}
#endif
/*
@@ -777,7 +784,7 @@ newWINrv(SV *rv, win_T *ptr)
sv_setiv(ptr->w_perl_private, PTR2IV(ptr));
}
else
- SvREFCNT_inc(ptr->w_perl_private);
+ SvREFCNT_inc_void_NN(ptr->w_perl_private);
SvRV(rv) = ptr->w_perl_private;
SvROK_on(rv);
return sv_bless(rv, gv_stashpv("VIWIN", TRUE));
@@ -793,7 +800,7 @@ newBUFrv(SV *rv, buf_T *ptr)
sv_setiv(ptr->b_perl_private, PTR2IV(ptr));
}
else
- SvREFCNT_inc(ptr->b_perl_private);
+ SvREFCNT_inc_void_NN(ptr->b_perl_private);
SvRV(rv) = ptr->b_perl_private;
SvROK_on(rv);
return sv_bless(rv, gv_stashpv("VIBUF", TRUE));

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a2dbf5797569e40aff97b4dba549382464f42e9b10892280985e63952afab829
size 12573082

3
v7.4.1883.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c08ef3c093b78b9c08bea59c7b0b9a71bb5e5cb1604e5f86c7b7139d460e223c
size 12579985

View File

@ -1,3 +1,54 @@
-------------------------------------------------------------------
Fri Jun 3 09:55:54 UTC 2016 - idonmez@suse.com
- Updated to revision 1883, fixes the following problems
* Python: encoding error with Python 2.
* Memory leaks in test49.
* Invalid memory access when exiting with EXITFREE defined.
* Memory leak in test_matchstrpos.
* Setting really_exiting causes memory leaks to be reported.
* Appending to the quickfix list while the quickfix window is open
is very slow.
* When a callback adds a timer the GUI doesn't use it until later.
* Comparing functions and partials doesn't work well.
* Typing "k" at the hit-enter prompt has no effect.
* Whether a job has exited isn't detected until a character is typed.
After calling exit_cb the cursor is in the wrong place.
* Channel test is flaky.
* Appending to a long quickfix list is slow.
* Check for line break at end of line wrong.
* Cppcheck found 2 incorrect printf formats.
-------------------------------------------------------------------
Wed Jun 1 07:18:35 UTC 2016 - idonmez@suse.com
- Updated to revision 1862, fixes the following problems
* Using a partial for timer_start() may cause a crash.
* Compiler warnings with 64 bit compiler.
* string() with repeated argument does not give a result usable
by eval().
-------------------------------------------------------------------
Mon May 30 09:05:44 UTC 2016 - idonmez@suse.com
- Updated to revision 1859, fixes the following problems
* Tests involving Python are flaky.
* Ubsan detects a multiplication overflow.
* Getting an item from a NULL dict crashes.
* Can't build with Strawberry Perl 5.24 (obsoletes perl-5.24.patch)
* Still trying to read from channel that is going to be closed.
* GUI freezes when using a job.
* test_syn_attr fails when using the GUI.
* Unix: Cannot run all tests with the GUI.
* Crash when job and channel are in the same dict while using partials.
* When setting 'termguicolors' the Ignore highlighting doesn't work.
* Valgrind reports memory leak for job that is not freed.
* When a channel appends to a buffer that is 'nomodifiable' there
is an error but appending is done anyway.
* When a channel writes to a buffer it doesn't find a buffer by
the short name but re-uses it anyway.
* Cannot use a function reference for "exit_cb".
-------------------------------------------------------------------
Thu May 26 08:24:46 UTC 2016 - suse-beta@cboltz.de

View File

@ -17,7 +17,7 @@
%define pkg_version 7.4
%define patchlevel 1842
%define patchlevel 1883
%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}
@ -90,7 +90,6 @@ Patch15: %{name}-7.4-filetype_apparmor.patch
Patch18: %{name}-7.3-filetype_spec.patch
Patch21: %{name}-7.3-filetype_changes.patch
Patch22: %{name}-7.4-filetype_mine.patch
Patch23: perl-5.24.patch
Patch100: vim73-no-static-libpython.patch
%description
@ -165,7 +164,6 @@ cp %{SOURCE23} runtime/syntax/apparmor.vim
%patch18 -p1
%patch21 -p1
%patch22 -p1
%patch23 -p1
%patch100 -p1
cp %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE8} %{SOURCE10} .