summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0234
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0234')
-rw-r--r--data/vim/patches/8.1.0234160
1 files changed, 0 insertions, 160 deletions
diff --git a/data/vim/patches/8.1.0234 b/data/vim/patches/8.1.0234
deleted file mode 100644
index bf2ab75e6..000000000
--- a/data/vim/patches/8.1.0234
+++ /dev/null
@@ -1,160 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 8.1.0234
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 8.1.0234
-Problem: Incorrect reference counting in Perl interface.
-Solution: Call SvREFCNT_inc more often, add a test. (Damien)
-Files: src/if_perl.xs, src/testdir/test_perl.vim
-
-
-*** ../vim-8.1.0233/src/if_perl.xs 2018-07-25 22:02:32.231966301 +0200
---- src/if_perl.xs 2018-08-02 21:43:01.012805454 +0200
-***************
-*** 831,838 ****
- ptr->w_perl_private = newSV(0);
- sv_setiv(ptr->w_perl_private, PTR2IV(ptr));
- }
-! else
-! 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));
---- 831,837 ----
- ptr->w_perl_private = newSV(0);
- sv_setiv(ptr->w_perl_private, PTR2IV(ptr));
- }
-! 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));
-***************
-*** 847,854 ****
- ptr->b_perl_private = newSV(0);
- sv_setiv(ptr->b_perl_private, PTR2IV(ptr));
- }
-! else
-! 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));
---- 846,852 ----
- ptr->b_perl_private = newSV(0);
- sv_setiv(ptr->b_perl_private, PTR2IV(ptr));
- }
-! 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));
-***************
-*** 918,929 ****
- else
- rv = newBUFrv(newSV(0), curbuf);
-
-! if (SvRV(sv) == SvRV(rv))
-! SvREFCNT_dec(SvRV(rv));
-! else // XXX: Not sure if the `else` condition are right
-! // Test_SvREFCNT() pass in all case.
- sv_setsv(sv, rv);
-
- return 0;
- }
- #endif /* !PROTO */
---- 916,928 ----
- else
- rv = newBUFrv(newSV(0), curbuf);
-
-! if (SvRV(sv) != SvRV(rv))
-! // XXX: This magic variable is a bit confusing...
-! // Is curently refcounted ?
- sv_setsv(sv, rv);
-
-+ SvREFCNT_dec(rv);
-+
- return 0;
- }
- #endif /* !PROTO */
-*** ../vim-8.1.0233/src/testdir/test_perl.vim 2018-07-25 22:02:32.235966277 +0200
---- src/testdir/test_perl.vim 2018-08-02 21:39:46.757852657 +0200
-***************
-*** 4,9 ****
---- 4,12 ----
- finish
- end
-
-+ " FIXME: RunTest don't see any error when Perl abort...
-+ perl $SIG{__WARN__} = sub { die "Unexpected warnings from perl: @_" };
-+
- func Test_change_buffer()
- call setline(line('$'), ['1 line 1'])
- perl VIM::DoCommand("normal /^1\n")
-***************
-*** 229,234 ****
---- 232,246 ----
- #line 5 "Test_000_SvREFCNT()"
- my ($b, $w);
-
-+ my $num = 0;
-+ for ( 0 .. 100 ) {
-+ if ( ++$num >= 8 ) { $num = 0 }
-+ VIM::DoCommand("buffer X$num");
-+ $b = $curbuf;
-+ }
-+
-+ VIM::DoCommand("buffer t");
-+
- $b = $curbuf for 0 .. 100;
- $w = $curwin for 0 .. 100;
- () = VIM::Buffers for 0 .. 100;
-***************
-*** 240,251 ****
- my $cw = Internals::SvREFCNT($$w);
- VIM::Eval("assert_equal(2, $cb, 'T1')");
- VIM::Eval("assert_equal(2, $cw, 'T2')");
- foreach ( VIM::Buffers, VIM::Windows ) {
- my $c = Internals::SvREFCNT($_);
- VIM::Eval("assert_equal(2, $c, 'T3')");
- $c = Internals::SvREFCNT($$_);
-! # Why only one ref?
-! # Look wrong but work. Maybe not portable...
- VIM::Eval("assert_equal(1, $c, 'T4')");
- }
- $cb = Internals::SvREFCNT($$curbuf);
---- 252,264 ----
- my $cw = Internals::SvREFCNT($$w);
- VIM::Eval("assert_equal(2, $cb, 'T1')");
- VIM::Eval("assert_equal(2, $cw, 'T2')");
-+ my $strongref;
- foreach ( VIM::Buffers, VIM::Windows ) {
-+ VIM::DoCommand("%bw!");
- my $c = Internals::SvREFCNT($_);
- VIM::Eval("assert_equal(2, $c, 'T3')");
- $c = Internals::SvREFCNT($$_);
-! next if $c == 2 && !$strongref++;
- VIM::Eval("assert_equal(1, $c, 'T4')");
- }
- $cb = Internals::SvREFCNT($$curbuf);
-*** ../vim-8.1.0233/src/version.c 2018-08-01 19:05:59.286223185 +0200
---- src/version.c 2018-08-02 21:44:31.440307634 +0200
-***************
-*** 796,797 ****
---- 796,799 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 234,
- /**/
-
---
-I'm sure that I asked CBuilder to do a "full" install. Looks like I got
-a "fool" install, instead. Charles E Campbell, Jr, PhD
-
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///