* eval.c (rb_yield_0): call avalue_to_mrhs() to assign block
parameter |a|. [ruby-dev:19897] * ruby.c (ruby_set_argv): freeze argument strings. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d4db9e9c60
commit
0cd7c01c6a
@ -1,3 +1,10 @@
|
|||||||
|
Tue Mar 25 12:24:15 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
* eval.c (rb_yield_0): call avalue_to_mrhs() to assign block
|
||||||
|
parameter |a|. [ruby-dev:19897]
|
||||||
|
|
||||||
|
* ruby.c (ruby_set_argv): freeze argument strings.
|
||||||
|
|
||||||
Tue Mar 25 12:01:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
|
Tue Mar 25 12:01:54 2003 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
* io.c (rb_io_initialize): should check rb_secure(4).
|
* io.c (rb_io_initialize): should check rb_secure(4).
|
||||||
|
2
eval.c
2
eval.c
@ -3982,7 +3982,7 @@ rb_yield_0(val, self, klass, pcall, avalue)
|
|||||||
massign(self, block->var, val, pcall);
|
massign(self, block->var, val, pcall);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (avalue) val = avalue_to_svalue(val);
|
if (avalue) val = avalue_to_mrhs(val);
|
||||||
if (val == Qundef) val = Qnil;
|
if (val == Qundef) val = Qnil;
|
||||||
assign(self, block->var, val, pcall);
|
assign(self, block->var, val, pcall);
|
||||||
}
|
}
|
||||||
|
5
ruby.c
5
ruby.c
@ -1055,7 +1055,10 @@ ruby_set_argv(argc, argv)
|
|||||||
#endif
|
#endif
|
||||||
rb_ary_clear(rb_argv);
|
rb_ary_clear(rb_argv);
|
||||||
for (i=0; i < argc; i++) {
|
for (i=0; i < argc; i++) {
|
||||||
rb_ary_push(rb_argv, rb_tainted_str_new2(argv[i]));
|
VALUE arg = rb_tainted_str_new2(argv[i]);
|
||||||
|
|
||||||
|
OBJ_FREEZE(arg);
|
||||||
|
rb_ary_push(rb_argv, arg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user