Mercurial > vim
comparison src/if_ruby.c @ 4452:92fec4b83be5 v7.3.974
updated for version 7.3.974
Problem: Can't build with ruby 1.8.5.
Solution: Only use ruby_init_stack() when RUBY_INIT_STACK is defined.
(Yukihiro Nakadaira)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Mon, 20 May 2013 12:52:29 +0200 |
parents | e7361b2d8136 |
children | e61a2b709f69 |
comparison
equal
deleted
inserted
replaced
4451:0917206e7317 | 4452:92fec4b83be5 |
---|---|
156 static int ensure_ruby_initialized(void); | 156 static int ensure_ruby_initialized(void); |
157 static void error_print(int); | 157 static void error_print(int); |
158 static void ruby_io_init(void); | 158 static void ruby_io_init(void); |
159 static void ruby_vim_init(void); | 159 static void ruby_vim_init(void); |
160 | 160 |
161 #if defined(__ia64) && !defined(ruby_init_stack) | 161 #if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK) |
162 # define ruby_init_stack(addr) ruby_init_stack((addr), rb_ia64_bsp()) | 162 # if defined(__ia64) && !defined(ruby_init_stack) |
163 # define ruby_init_stack(addr) ruby_init_stack((addr), rb_ia64_bsp()) | |
164 # endif | |
163 #endif | 165 #endif |
164 | 166 |
165 #if defined(DYNAMIC_RUBY) || defined(PROTO) | 167 #if defined(DYNAMIC_RUBY) || defined(PROTO) |
166 # ifdef PROTO | 168 # ifdef PROTO |
167 # define HINSTANCE int /* for generating prototypes */ | 169 # define HINSTANCE int /* for generating prototypes */ |
229 # define rb_string_value dll_rb_string_value | 231 # define rb_string_value dll_rb_string_value |
230 # define rb_string_value_ptr dll_rb_string_value_ptr | 232 # define rb_string_value_ptr dll_rb_string_value_ptr |
231 # define rb_float_new dll_rb_float_new | 233 # define rb_float_new dll_rb_float_new |
232 # define rb_ary_new dll_rb_ary_new | 234 # define rb_ary_new dll_rb_ary_new |
233 # define rb_ary_push dll_rb_ary_push | 235 # define rb_ary_push dll_rb_ary_push |
234 # ifdef __ia64 | 236 # if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK) |
235 # define rb_ia64_bsp dll_rb_ia64_bsp | 237 # ifdef __ia64 |
236 # undef ruby_init_stack | 238 # define rb_ia64_bsp dll_rb_ia64_bsp |
237 # define ruby_init_stack(addr) dll_ruby_init_stack((addr), rb_ia64_bsp()) | 239 # undef ruby_init_stack |
238 # else | 240 # define ruby_init_stack(addr) dll_ruby_init_stack((addr), rb_ia64_bsp()) |
239 # define ruby_init_stack dll_ruby_init_stack | 241 # else |
242 # define ruby_init_stack dll_ruby_init_stack | |
243 # endif | |
240 # endif | 244 # endif |
241 # else | 245 # else |
242 # define rb_str2cstr dll_rb_str2cstr | 246 # define rb_str2cstr dll_rb_str2cstr |
243 # endif | 247 # endif |
244 # ifdef RUBY19_OR_LATER | 248 # ifdef RUBY19_OR_LATER |
344 # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 | 348 # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 |
345 static char * (*dll_rb_string_value_ptr) (volatile VALUE*); | 349 static char * (*dll_rb_string_value_ptr) (volatile VALUE*); |
346 static VALUE (*dll_rb_float_new) (double); | 350 static VALUE (*dll_rb_float_new) (double); |
347 static VALUE (*dll_rb_ary_new) (void); | 351 static VALUE (*dll_rb_ary_new) (void); |
348 static VALUE (*dll_rb_ary_push) (VALUE, VALUE); | 352 static VALUE (*dll_rb_ary_push) (VALUE, VALUE); |
349 # ifdef __ia64 | 353 # if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK) |
354 # ifdef __ia64 | |
350 static void * (*dll_rb_ia64_bsp) (void); | 355 static void * (*dll_rb_ia64_bsp) (void); |
351 static void (*dll_ruby_init_stack)(VALUE*, void*); | 356 static void (*dll_ruby_init_stack)(VALUE*, void*); |
352 # else | 357 # else |
353 static void (*dll_ruby_init_stack)(VALUE*); | 358 static void (*dll_ruby_init_stack)(VALUE*); |
359 # endif | |
354 # endif | 360 # endif |
355 # endif | 361 # endif |
356 # ifdef RUBY19_OR_LATER | 362 # ifdef RUBY19_OR_LATER |
357 static VALUE (*dll_rb_int2big)(SIGNED_VALUE); | 363 static VALUE (*dll_rb_int2big)(SIGNED_VALUE); |
358 # endif | 364 # endif |
489 {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, | 495 {"rb_w32_snprintf", (RUBY_PROC*)&dll_rb_w32_snprintf}, |
490 # endif | 496 # endif |
491 # endif | 497 # endif |
492 # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 | 498 # if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18 |
493 {"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr}, | 499 {"rb_string_value_ptr", (RUBY_PROC*)&dll_rb_string_value_ptr}, |
494 # ifdef __ia64 | |
495 {"rb_ia64_bsp", (RUBY_PROC*)&dll_rb_ia64_bsp}, | |
496 # endif | |
497 {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack}, | |
498 # if DYNAMIC_RUBY_VER <= 19 | 500 # if DYNAMIC_RUBY_VER <= 19 |
499 {"rb_float_new", (RUBY_PROC*)&dll_rb_float_new}, | 501 {"rb_float_new", (RUBY_PROC*)&dll_rb_float_new}, |
500 # else | 502 # else |
501 {"rb_float_new_in_heap", (RUBY_PROC*)&dll_rb_float_new}, | 503 {"rb_float_new_in_heap", (RUBY_PROC*)&dll_rb_float_new}, |
502 # endif | 504 # endif |
510 {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find}, | 512 {"rb_enc_find", (RUBY_PROC*)&dll_rb_enc_find}, |
511 {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new}, | 513 {"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new}, |
512 {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, | 514 {"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf}, |
513 {"rb_require", (RUBY_PROC*)&dll_rb_require}, | 515 {"rb_require", (RUBY_PROC*)&dll_rb_require}, |
514 {"ruby_process_options", (RUBY_PROC*)&dll_ruby_process_options}, | 516 {"ruby_process_options", (RUBY_PROC*)&dll_ruby_process_options}, |
517 # endif | |
518 # if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK) | |
519 # ifdef __ia64 | |
520 {"rb_ia64_bsp", (RUBY_PROC*)&dll_rb_ia64_bsp}, | |
521 # endif | |
522 {"ruby_init_stack", (RUBY_PROC*)&dll_ruby_init_stack}, | |
515 # endif | 523 # endif |
516 {"", NULL}, | 524 {"", NULL}, |
517 }; | 525 }; |
518 | 526 |
519 /* | 527 /* |
733 int argc = 1; | 741 int argc = 1; |
734 char *argv[] = {"gvim.exe"}; | 742 char *argv[] = {"gvim.exe"}; |
735 NtInitialize(&argc, &argv); | 743 NtInitialize(&argc, &argv); |
736 #endif | 744 #endif |
737 { | 745 { |
738 #if defined(RUBY_VERSION) && RUBY_VERSION >= 18 | 746 #if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK) |
739 ruby_init_stack(ruby_stack_start); | 747 ruby_init_stack(ruby_stack_start); |
740 #endif | 748 #endif |
741 ruby_init(); | 749 ruby_init(); |
742 } | 750 } |
743 #ifdef RUBY19_OR_LATER | 751 #ifdef RUBY19_OR_LATER |