diff options
Diffstat (limited to 'source/ap/vim/patches/7.3.013')
-rw-r--r-- | source/ap/vim/patches/7.3.013 | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/source/ap/vim/patches/7.3.013 b/source/ap/vim/patches/7.3.013 deleted file mode 100644 index 489aa0ee..00000000 --- a/source/ap/vim/patches/7.3.013 +++ /dev/null @@ -1,208 +0,0 @@ -To: vim-dev@vim.org -Subject: Patch 7.3.013 -Fcc: outbox -From: Bram Moolenaar <Bram@moolenaar.net> -Mime-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit ------------- - -Patch 7.3.013 -Problem: Dynamic loading with Ruby doesn't work for 1.9.2. -Solution: Handle rb_str2cstr differently. Also support dynamic loading on - Unix. (Jon Maken) -Files: src/if_ruby.c - - -*** ../vim-7.3.012/src/if_ruby.c 2010-08-15 21:57:25.000000000 +0200 ---- src/if_ruby.c 2010-09-29 12:49:50.000000000 +0200 -*************** -*** 4,9 **** ---- 4,10 ---- - * - * Ruby interface by Shugo Maeda - * with improvements by SegPhault (Ryan Paul) -+ * with improvements by Jon Maken - * - * Do ":help uganda" in Vim to read copying and usage conditions. - * Do ":help credits" in Vim to see a list of people who contributed. -*************** -*** 26,37 **** - # define RUBYEXTERN extern - #endif - - /* - * This is tricky. In ruby.h there is (inline) function rb_class_of() - * definition. This function use these variables. But we want function to - * use dll_* variables. - */ -- #ifdef DYNAMIC_RUBY - # define rb_cFalseClass (*dll_rb_cFalseClass) - # define rb_cFixnum (*dll_rb_cFixnum) - # define rb_cNilClass (*dll_rb_cNilClass) ---- 27,38 ---- - # define RUBYEXTERN extern - #endif - -+ #ifdef DYNAMIC_RUBY - /* - * This is tricky. In ruby.h there is (inline) function rb_class_of() - * definition. This function use these variables. But we want function to - * use dll_* variables. - */ - # define rb_cFalseClass (*dll_rb_cFalseClass) - # define rb_cFixnum (*dll_rb_cFixnum) - # define rb_cNilClass (*dll_rb_cNilClass) -*************** -*** 46,53 **** ---- 47,67 ---- - */ - # define RUBY_EXPORT - # endif -+ -+ #if !(defined(WIN32) || defined(_WIN64)) -+ # include <dlfcn.h> -+ # define HANDLE void* -+ # define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL) -+ # define symbol_from_dll dlsym -+ # define close_dll dlclose -+ #else -+ # define load_dll LoadLibrary -+ # define symbol_from_dll GetProcAddress -+ # define close_dll FreeLibrary - #endif - -+ #endif /* ifdef DYNAMIC_RUBY */ -+ - /* suggested by Ariya Mizutani */ - #if (_MSC_VER == 1200) - # undef _WIN32_WINNT -*************** -*** 166,172 **** - #define rb_obj_as_string dll_rb_obj_as_string - #define rb_obj_id dll_rb_obj_id - #define rb_raise dll_rb_raise -- #define rb_str2cstr dll_rb_str2cstr - #define rb_str_cat dll_rb_str_cat - #define rb_str_concat dll_rb_str_concat - #define rb_str_new dll_rb_str_new ---- 180,185 ---- -*************** -*** 178,187 **** ---- 191,203 ---- - # define rb_str_new2 dll_rb_str_new2 - #endif - #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 -+ # define rb_string_value dll_rb_string_value - # define rb_string_value_ptr dll_rb_string_value_ptr - # define rb_float_new dll_rb_float_new - # define rb_ary_new dll_rb_ary_new - # define rb_ary_push dll_rb_ary_push -+ #else -+ # define rb_str2cstr dll_rb_str2cstr - #endif - #ifdef RUBY19_OR_LATER - # define rb_errinfo dll_rb_errinfo -*************** -*** 246,252 **** ---- 262,272 ---- - static VALUE (*dll_rb_obj_as_string) (VALUE); - static VALUE (*dll_rb_obj_id) (VALUE); - static void (*dll_rb_raise) (VALUE, const char*, ...); -+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 -+ static VALUE (*dll_rb_string_value) (volatile VALUE*); -+ #else - static char *(*dll_rb_str2cstr) (VALUE,int*); -+ #endif - static VALUE (*dll_rb_str_cat) (VALUE, const char*, long); - static VALUE (*dll_rb_str_concat) (VALUE, VALUE); - static VALUE (*dll_rb_str_new) (const char*, long); -*************** -*** 347,353 **** ---- 367,377 ---- - {"rb_obj_as_string", (RUBY_PROC*)&dll_rb_obj_as_string}, - {"rb_obj_id", (RUBY_PROC*)&dll_rb_obj_id}, - {"rb_raise", (RUBY_PROC*)&dll_rb_raise}, -+ #if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 -+ {"rb_string_value", (RUBY_PROC*)&dll_rb_string_value}, -+ #else - {"rb_str2cstr", (RUBY_PROC*)&dll_rb_str2cstr}, -+ #endif - {"rb_str_cat", (RUBY_PROC*)&dll_rb_str_cat}, - {"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat}, - {"rb_str_new", (RUBY_PROC*)&dll_rb_str_new}, -*************** -*** 399,405 **** - { - if (hinstRuby) - { -! FreeLibrary(hinstRuby); - hinstRuby = 0; - } - } ---- 423,429 ---- - { - if (hinstRuby) - { -! close_dll(hinstRuby); - hinstRuby = 0; - } - } -*************** -*** 416,422 **** - - if (hinstRuby) - return OK; -! hinstRuby = LoadLibrary(libname); - if (!hinstRuby) - { - if (verbose) ---- 440,446 ---- - - if (hinstRuby) - return OK; -! hinstRuby = load_dll(libname); - if (!hinstRuby) - { - if (verbose) -*************** -*** 426,435 **** - - for (i = 0; ruby_funcname_table[i].ptr; ++i) - { -! if (!(*ruby_funcname_table[i].ptr = GetProcAddress(hinstRuby, - ruby_funcname_table[i].name))) - { -! FreeLibrary(hinstRuby); - hinstRuby = 0; - if (verbose) - EMSG2(_(e_loadfunc), ruby_funcname_table[i].name); ---- 450,459 ---- - - for (i = 0; ruby_funcname_table[i].ptr; ++i) - { -! if (!(*ruby_funcname_table[i].ptr = symbol_from_dll(hinstRuby, - ruby_funcname_table[i].name))) - { -! close_dll(hinstRuby); - hinstRuby = 0; - if (verbose) - EMSG2(_(e_loadfunc), ruby_funcname_table[i].name); -*** ../vim-7.3.012/src/version.c 2010-09-29 12:37:53.000000000 +0200 ---- src/version.c 2010-09-29 13:00:42.000000000 +0200 -*************** -*** 716,717 **** ---- 716,719 ---- - { /* Add new patch number below this line */ -+ /**/ -+ 13, - /**/ - --- -hundred-and-one symptoms of being an internet addict: -223. You set up a web-cam as your home's security system. - - /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ -/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ -\\\ download, build and distribute -- http://www.A-A-P.org /// - \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |