aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-10-06 07:28:28 +0800
committerGitHub <noreply@github.com>2024-10-05 23:28:28 +0000
commita4ebea18f1acb7c3069540f06361436b9675e3ab (patch)
tree449133cd85cf28dc242c9b059b25e7a773afdf9c
parent9f26bdc4165adf7de9bf0c231a386b02e85cbce0 (diff)
downloadrneovim-a4ebea18f1acb7c3069540f06361436b9675e3ab.tar.gz
rneovim-a4ebea18f1acb7c3069540f06361436b9675e3ab.tar.bz2
rneovim-a4ebea18f1acb7c3069540f06361436b9675e3ab.zip
vim-patch:9.1.0003: Cannot build against Ruby 33 dynamically (#30683)
Problem: Cannot build against Ruby 33 dynamically Solution: Ruby 33 removed transient heap, so do not use rb_ary_transient anymore, NoMethodError format changed, so update test for expected error message (Isao Sato) - ruby-3.3 removed transient heap for ruby/dyn when +ruby/dyn with ruby-3.3 do command :ruby, E448 occur. ruby-3.3 has no transient heap anymore, so disable rb_ary_transient etc. $ LC_ALL=C VIMRUNTIME=runtime ./src/vim -u NONE -c 'ruby puts RUBY_VERSION' "=> Error detected while processing command line: "=> E448: Could not load library function rb_ary_detransient "=> E266: Sorry, this command is disabled, the Ruby library could not be loaded. - ruby-3.3 changed NoMethodError format: $ rvm 3.2.2, 3.3.0-rc1 do ruby -e 'begin; nil.name; rescue => e; puts "%s : %s"%[RUBY_VERSION, e.message]; end ' => 3.2.2 : undefined method `name' for nil:NilClass => 3.3.0 : undefined method `name' for nil so loose pattern in Test_ruby_Vim_buffer_get() closes: vim/vim#13741 https://github.com/vim/vim/commit/443657b32becb2318ae40e30a849bbe5cc1a153c Co-authored-by: Isao Sato <svardew@gmail.com>
-rw-r--r--test/old/testdir/test_ruby.vim2
1 files changed, 1 insertions, 1 deletions
diff --git a/test/old/testdir/test_ruby.vim b/test/old/testdir/test_ruby.vim
index 483e235636..d4a3dc3301 100644
--- a/test/old/testdir/test_ruby.vim
+++ b/test/old/testdir/test_ruby.vim
@@ -282,7 +282,7 @@ func Test_ruby_Vim_buffer_get()
call assert_match('Xfoo1$', rubyeval('Vim::Buffer[1].name'))
call assert_match('Xfoo2$', rubyeval('Vim::Buffer[2].name'))
call assert_fails('ruby print Vim::Buffer[3].name',
- \ "NoMethodError: undefined method `name' for nil:NilClass")
+ \ "NoMethodError: undefined method `name' for nil")
%bwipe
endfunc