Skip to content

Commit d5a986f

Browse files
committed
patch 8.2.2104: build problem with Ruby 2.7
Problem: Build problem with Ruby 2.7. Solution: Adjust function declarations. (Ozaki Kiichi, closes #7430)
1 parent 41d6196 commit d5a986f

4 files changed

Lines changed: 24 additions & 12 deletions

File tree

src/auto/configure

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7617,8 +7617,7 @@ $as_echo "$rubyhdrdir" >&6; }
76177617
librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG['LIBRUBYARG'])"`
76187618
librubya=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG['LIBRUBY_A'])"`
76197619
rubylibdir=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG['libdir'])"`
7620-
if test -f "$rubylibdir/$librubya"; then
7621-
librubyarg="$librubyarg"
7620+
if test -f "$rubylibdir/$librubya" || expr "$librubyarg" : "-lruby"; then
76227621
RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
76237622
elif test "$librubyarg" = "libruby.a"; then
76247623
librubyarg="-lruby"

src/configure.ac

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1965,8 +1965,7 @@ if test "$enable_rubyinterp" = "yes" -o "$enable_rubyinterp" = "dynamic"; then
19651965
librubyarg=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG[['LIBRUBYARG']])"`
19661966
librubya=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG[['LIBRUBY_A']])"`
19671967
rubylibdir=`$vi_cv_path_ruby -r rbconfig -e "print $ruby_rbconfig.expand($ruby_rbconfig::CONFIG[['libdir']])"`
1968-
if test -f "$rubylibdir/$librubya"; then
1969-
librubyarg="$librubyarg"
1968+
if test -f "$rubylibdir/$librubya" || expr "$librubyarg" : "-lruby"; then
19701969
RUBY_LIBS="$RUBY_LIBS -L$rubylibdir"
19711970
elif test "$librubyarg" = "libruby.a"; then
19721971
dnl required on Mac OS 10.3 where libruby.a doesn't exist

src/if_ruby.c

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1300,13 +1300,19 @@ vim_blob(VALUE self UNUSED, VALUE str)
13001300
}
13011301

13021302
static VALUE
1303-
buffer_s_current(void)
1303+
buffer_s_current(VALUE self UNUSED)
13041304
{
13051305
return buffer_new(curbuf);
13061306
}
13071307

13081308
static VALUE
1309-
buffer_s_count(void)
1309+
buffer_s_current_getter(ID id UNUSED, VALUE *x UNUSED)
1310+
{
1311+
return buffer_new(curbuf);
1312+
}
1313+
1314+
static VALUE
1315+
buffer_s_count(VALUE self UNUSED)
13101316
{
13111317
buf_T *b;
13121318
int n = 0;
@@ -1566,7 +1572,13 @@ get_win(VALUE obj)
15661572
}
15671573

15681574
static VALUE
1569-
window_s_current(void)
1575+
window_s_current(VALUE self UNUSED)
1576+
{
1577+
return window_new(curwin);
1578+
}
1579+
1580+
static VALUE
1581+
window_s_current_getter(ID id UNUSED, VALUE *x UNUSED)
15701582
{
15711583
return window_new(curwin);
15721584
}
@@ -1576,7 +1588,7 @@ window_s_current(void)
15761588
* SegPhault - 03/07/05
15771589
*/
15781590
static VALUE
1579-
line_s_current(void)
1591+
line_s_current(VALUE self UNUSED)
15801592
{
15811593
return get_buffer_line(curbuf, curwin->w_cursor.lnum);
15821594
}
@@ -1588,13 +1600,13 @@ set_current_line(VALUE self UNUSED, VALUE str)
15881600
}
15891601

15901602
static VALUE
1591-
current_line_number(void)
1603+
current_line_number(VALUE self UNUSED)
15921604
{
15931605
return INT2FIX((int)curwin->w_cursor.lnum);
15941606
}
15951607

15961608
static VALUE
1597-
window_s_count(void)
1609+
window_s_count(VALUE self UNUSED)
15981610
{
15991611
win_T *w;
16001612
int n = 0;
@@ -1794,8 +1806,8 @@ ruby_vim_init(void)
17941806
rb_define_method(cVimWindow, "cursor", window_cursor, 0);
17951807
rb_define_method(cVimWindow, "cursor=", window_set_cursor, 1);
17961808

1797-
rb_define_virtual_variable("$curbuf", buffer_s_current, 0);
1798-
rb_define_virtual_variable("$curwin", window_s_current, 0);
1809+
rb_define_virtual_variable("$curbuf", buffer_s_current_getter, 0);
1810+
rb_define_virtual_variable("$curwin", window_s_current_getter, 0);
17991811
}
18001812

18011813
void

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -750,6 +750,8 @@ static char *(features[]) =
750750

751751
static int included_patches[] =
752752
{ /* Add new patch number below this line */
753+
/**/
754+
2104,
753755
/**/
754756
2103,
755757
/**/

0 commit comments

Comments
 (0)