git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
matz 2000-09-01 09:18:11 +00:00
Родитель 87b67b575c
Коммит 5c3523de76
5 изменённых файлов: 13 добавлений и 10 удалений

Просмотреть файл

@ -4,6 +4,8 @@ Fri Sep 1 10:36:45 2000 Yukihiro Matsumoto <matz@ruby-lang.org>
Fri Sep 1 10:36:29 2000 Yukihiro Matsumoto <matz@ruby-lang.org>
* re.c (match_aref): should use rb_reg_nth_match().
* eval.c (POP_SCOPE): recycled scopes too much
* eval.c (Init_eval): extend room for stack allowance.

Просмотреть файл

@ -93,7 +93,7 @@ end
File.install wdir+'/'+CONFIG['LIBRUBY_A'], archlibdir, 0644, true
File.makedirs mandir, true
File.install "ruby.1", mandir, 0644, true
File.install "ruby.1", mandir+"/"+ruby_install_name+".1", 0644, true
Dir.chdir wdir
File.install "config.h", archlibdir, 0644, true
File.install "rbconfig.rb", archlibdir, 0644, true

Просмотреть файл

@ -859,6 +859,10 @@ aref_args : none
{
$$ = NEW_LIST($1);
}
| block_call opt_nl
{
$$ = NEW_LIST($1);
}
| args opt_nl
{
$$ = $1;
@ -888,6 +892,10 @@ aref_args : none
opt_call_args : none
| call_args opt_nl
| block_call opt_nl
{
$$ = NEW_LIST($1);
}
call_args : command_call
{

9
re.c
Просмотреть файл

@ -777,14 +777,7 @@ match_aref(argc, argv, match)
if (!NIL_P(rest) || !FIXNUM_P(idx) || FIX2INT(idx) < 0) {
return rb_ary_aref(argc, argv, match_to_a(match));
}
regs = RMATCH(match)->regs;
i = FIX2INT(idx);
if (i >= regs->num_regs) return Qnil;
ptr = RSTRING(RMATCH(match)->str)->ptr;
return rb_str_new(ptr+regs->beg[i], regs->end[i]-regs->beg[i]);
return rb_reg_nth_match(FIX2INT(idx), match);
}
static VALUE

Просмотреть файл

@ -2579,7 +2579,7 @@ rb_str_scan(str, pat)
match = rb_backref_get();
rb_match_busy(match);
rb_yield(result);
rb_backref_set(match);
rb_backref_set(match); /* restore $~ value */
}
rb_backref_set(match);
return str;