summaryrefslogtreecommitdiff
path: root/ruby.c
diff options
context:
space:
mode:
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ruby.c b/ruby.c
index af265be65e..95144f2eed 100644
--- a/ruby.c
+++ b/ruby.c
@@ -350,8 +350,11 @@ require_libraries()
ruby_set_current_source();
req_list_last = 0;
while (list) {
+ int state;
+
ruby_current_node = 0;
- rb_require(list->name);
+ rb_protect((VALUE (*)(VALUE))rb_require, (VALUE)list->name, &state);
+ if (state) rb_jump_tag(state);
tmp = list->next;
free(list->name);
free(list);