1
0
forked from aniani/vim

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:
Bram Moolenaar
2018-07-24 05:41:30 +02:00
parent 7624af0294
commit b6c8cd8dc3
2 changed files with 9 additions and 0 deletions

View File

@@ -232,6 +232,7 @@ static void ruby_vim_init(void);
# define rb_define_singleton_method dll_rb_define_singleton_method # define rb_define_singleton_method dll_rb_define_singleton_method
# define rb_define_virtual_variable dll_rb_define_virtual_variable # define rb_define_virtual_variable dll_rb_define_virtual_variable
# define rb_stdout (*dll_rb_stdout) # define rb_stdout (*dll_rb_stdout)
# define rb_stderr (*dll_rb_stderr)
# define rb_eArgError (*dll_rb_eArgError) # define rb_eArgError (*dll_rb_eArgError)
# define rb_eIndexError (*dll_rb_eIndexError) # define rb_eIndexError (*dll_rb_eIndexError)
# define rb_eRuntimeError (*dll_rb_eRuntimeError) # 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_singleton_method) (VALUE,const char*,VALUE(*)(),int);
static void (*dll_rb_define_virtual_variable) (const char*,VALUE(*)(),void(*)()); static void (*dll_rb_define_virtual_variable) (const char*,VALUE(*)(),void(*)());
static VALUE *dll_rb_stdout; static VALUE *dll_rb_stdout;
static VALUE *dll_rb_stderr;
static VALUE *dll_rb_eArgError; static VALUE *dll_rb_eArgError;
static VALUE *dll_rb_eIndexError; static VALUE *dll_rb_eIndexError;
static VALUE *dll_rb_eRuntimeError; static VALUE *dll_rb_eRuntimeError;
@@ -553,6 +555,7 @@ static struct
{"rb_define_singleton_method", (RUBY_PROC*)&dll_rb_define_singleton_method}, {"rb_define_singleton_method", (RUBY_PROC*)&dll_rb_define_singleton_method},
{"rb_define_virtual_variable", (RUBY_PROC*)&dll_rb_define_virtual_variable}, {"rb_define_virtual_variable", (RUBY_PROC*)&dll_rb_define_virtual_variable},
{"rb_stdout", (RUBY_PROC*)&dll_rb_stdout}, {"rb_stdout", (RUBY_PROC*)&dll_rb_stdout},
{"rb_stderr", (RUBY_PROC*)&dll_rb_stderr},
{"rb_eArgError", (RUBY_PROC*)&dll_rb_eArgError}, {"rb_eArgError", (RUBY_PROC*)&dll_rb_eArgError},
{"rb_eIndexError", (RUBY_PROC*)&dll_rb_eIndexError}, {"rb_eIndexError", (RUBY_PROC*)&dll_rb_eIndexError},
{"rb_eRuntimeError", (RUBY_PROC*)&dll_rb_eRuntimeError}, {"rb_eRuntimeError", (RUBY_PROC*)&dll_rb_eRuntimeError},
@@ -1542,11 +1545,15 @@ static void ruby_io_init(void)
{ {
#ifndef DYNAMIC_RUBY #ifndef DYNAMIC_RUBY
RUBYEXTERN VALUE rb_stdout; RUBYEXTERN VALUE rb_stdout;
RUBYEXTERN VALUE rb_stderr;
#endif #endif
rb_stdout = rb_obj_alloc(rb_cObject); 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, "write", vim_message, 1);
rb_define_singleton_method(rb_stdout, "flush", f_nop, 0); 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); rb_define_global_function("p", f_p, -1);
} }

View File

@@ -793,6 +793,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
209,
/**/ /**/
208, 208,
/**/ /**/