File tree Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Expand file tree Collapse file tree 2 files changed +10
-4
lines changed Original file line number Diff line number Diff line change
1
+ Tue Aug 27 19:50:27 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
2
+
3
+ * ruby.c (require_libraries): prevent ruby_sorcefile from GC.
4
+
1
5
Tue Aug 27 15:03:35 2002 Yukihiro Matsumoto <matz@ruby-lang.org>
2
6
3
7
* file.c (rb_find_file): $LOAD_PATH must not be empty.
Original file line number Diff line number Diff line change @@ -310,15 +310,14 @@ require_libraries()
310
310
{
311
311
extern NODE * ruby_eval_tree ;
312
312
extern NODE * ruby_eval_tree_begin ;
313
- char * orig_sourcefile = ruby_sourcefile ;
314
- NODE * save [2 ];
313
+ NODE * save [3 ];
315
314
struct req_list * list = req_list_head .next ;
316
315
struct req_list * tmp ;
317
316
318
317
Init_ext (); /* should be called here for some reason :-( */
319
- ruby_sourcefile = 0 ;
320
318
save [0 ] = ruby_eval_tree ;
321
319
save [1 ] = ruby_eval_tree_begin ;
320
+ save [2 ] = NEW_NEWLINE (0 );
322
321
ruby_eval_tree = ruby_eval_tree_begin = 0 ;
323
322
req_list_last = 0 ;
324
323
while (list ) {
@@ -331,7 +330,10 @@ require_libraries()
331
330
req_list_head .next = 0 ;
332
331
ruby_eval_tree = save [0 ];
333
332
ruby_eval_tree_begin = save [1 ];
334
- ruby_sourcefile = orig_sourcefile ;
333
+ ruby_current_node = save [2 ];
334
+ ruby_set_current_source ();
335
+ ruby_current_node = 0 ;
336
+ rb_gc_force_recycle ((VALUE )save [2 ]);
335
337
}
336
338
337
339
static void
You can’t perform that action at this time.
0 commit comments