mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.1.0209: stderr output from Ruby messes up display
Problem: Stderr output from Ruby messes up display. Solution: Turn the stderr output into a Vim message. (Masataka Pocke Kuwabara, closes #3238)
This commit is contained in:
@@ -232,6 +232,7 @@ static void ruby_vim_init(void);
|
||||
# define rb_define_singleton_method dll_rb_define_singleton_method
|
||||
# define rb_define_virtual_variable dll_rb_define_virtual_variable
|
||||
# define rb_stdout (*dll_rb_stdout)
|
||||
# define rb_stderr (*dll_rb_stderr)
|
||||
# define rb_eArgError (*dll_rb_eArgError)
|
||||
# define rb_eIndexError (*dll_rb_eIndexError)
|
||||
# define rb_eRuntimeError (*dll_rb_eRuntimeError)
|
||||
@@ -360,6 +361,7 @@ static void (*dll_rb_define_module_function) (VALUE,const char*,VALUE(*)(),int);
|
||||
static void (*dll_rb_define_singleton_method) (VALUE,const char*,VALUE(*)(),int);
|
||||
static void (*dll_rb_define_virtual_variable) (const char*,VALUE(*)(),void(*)());
|
||||
static VALUE *dll_rb_stdout;
|
||||
static VALUE *dll_rb_stderr;
|
||||
static VALUE *dll_rb_eArgError;
|
||||
static VALUE *dll_rb_eIndexError;
|
||||
static VALUE *dll_rb_eRuntimeError;
|
||||
@@ -553,6 +555,7 @@ static struct
|
||||
{"rb_define_singleton_method", (RUBY_PROC*)&dll_rb_define_singleton_method},
|
||||
{"rb_define_virtual_variable", (RUBY_PROC*)&dll_rb_define_virtual_variable},
|
||||
{"rb_stdout", (RUBY_PROC*)&dll_rb_stdout},
|
||||
{"rb_stderr", (RUBY_PROC*)&dll_rb_stderr},
|
||||
{"rb_eArgError", (RUBY_PROC*)&dll_rb_eArgError},
|
||||
{"rb_eIndexError", (RUBY_PROC*)&dll_rb_eIndexError},
|
||||
{"rb_eRuntimeError", (RUBY_PROC*)&dll_rb_eRuntimeError},
|
||||
@@ -1542,11 +1545,15 @@ static void ruby_io_init(void)
|
||||
{
|
||||
#ifndef DYNAMIC_RUBY
|
||||
RUBYEXTERN VALUE rb_stdout;
|
||||
RUBYEXTERN VALUE rb_stderr;
|
||||
#endif
|
||||
|
||||
rb_stdout = rb_obj_alloc(rb_cObject);
|
||||
rb_stderr = rb_obj_alloc(rb_cObject);
|
||||
rb_define_singleton_method(rb_stdout, "write", vim_message, 1);
|
||||
rb_define_singleton_method(rb_stdout, "flush", f_nop, 0);
|
||||
rb_define_singleton_method(rb_stderr, "write", vim_message, 1);
|
||||
rb_define_singleton_method(rb_stderr, "flush", f_nop, 0);
|
||||
rb_define_global_function("p", f_p, -1);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user