* numeric.c (fix_pow): support Fixnum ** Float case directly
without coercing. [ruby-talk:142697] [ruby-talk:143054] * ruby.c (require_libraries): caused SEGV when continuation jumped in to the required library code. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
6e02769837
commit
d3a0ec7636
11
ChangeLog
11
ChangeLog
@ -1,3 +1,13 @@
|
|||||||
|
Tue May 24 23:42:16 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
* numeric.c (fix_pow): support Fixnum ** Float case directly
|
||||||
|
without coercing. [ruby-talk:142697] [ruby-talk:143054]
|
||||||
|
|
||||||
|
Tue May 24 16:57:24 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
|
* ruby.c (require_libraries): caused SEGV when continuation jumped
|
||||||
|
in to the required library code.
|
||||||
|
|
||||||
Tue May 24 17:45:59 2005 Shugo Maeda <shugo@ruby-lang.org>
|
Tue May 24 17:45:59 2005 Shugo Maeda <shugo@ruby-lang.org>
|
||||||
|
|
||||||
* test/readline/test_readline.rb: do not test libedit.
|
* test/readline/test_readline.rb: do not test libedit.
|
||||||
@ -27,6 +37,7 @@ Mon May 23 15:07:34 2005 NAKAMURA Usaku <usa@ruby-lang.org>
|
|||||||
* win32/Makefile.sub ($(PROGRAM)): add dependency on $(LIBRUBY_SO).
|
* win32/Makefile.sub ($(PROGRAM)): add dependency on $(LIBRUBY_SO).
|
||||||
[experimental]
|
[experimental]
|
||||||
|
|
||||||
|
>>>>>>> 1.4263
|
||||||
Mon May 23 12:21:37 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
|
Mon May 23 12:21:37 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||||
|
|
||||||
* re.c (make_regexp): should not return junk address during
|
* re.c (make_regexp): should not return junk address during
|
||||||
|
@ -255,6 +255,12 @@ class Context
|
|||||||
|
|
||||||
def debug_command(file, line, id, binding)
|
def debug_command(file, line, id, binding)
|
||||||
MUTEX.lock
|
MUTEX.lock
|
||||||
|
unless $debugger_restart
|
||||||
|
callcc{|c| $debugger_restart = c}
|
||||||
|
at_exit {
|
||||||
|
$debugger_restart.call
|
||||||
|
}
|
||||||
|
end
|
||||||
set_last_thread(Thread.current)
|
set_last_thread(Thread.current)
|
||||||
frame_pos = 0
|
frame_pos = 0
|
||||||
binding_file = file
|
binding_file = file
|
||||||
@ -524,6 +530,9 @@ class Context
|
|||||||
when /^\s*p\s+/
|
when /^\s*p\s+/
|
||||||
stdout.printf "%s\n", debug_eval($', binding).inspect
|
stdout.printf "%s\n", debug_eval($', binding).inspect
|
||||||
|
|
||||||
|
when /^\s*r(?:estart)?$/
|
||||||
|
$debugger_restart.call
|
||||||
|
|
||||||
when /^\s*h(?:elp)?$/
|
when /^\s*h(?:elp)?$/
|
||||||
debug_print_help()
|
debug_print_help()
|
||||||
|
|
||||||
|
@ -2197,6 +2197,9 @@ fix_pow(x, y)
|
|||||||
return rb_big_pow(rb_int2big(a), y);
|
return rb_big_pow(rb_int2big(a), y);
|
||||||
}
|
}
|
||||||
return rb_float_new(pow((double)a, (double)b));
|
return rb_float_new(pow((double)a, (double)b));
|
||||||
|
} else if (TYPE(y) == T_FLOAT) {
|
||||||
|
long a = FIX2LONG(x);
|
||||||
|
return rb_float_new(pow((double)a, RFLOAT(y)->value));
|
||||||
}
|
}
|
||||||
return rb_num_coerce_bin(x, y);
|
return rb_num_coerce_bin(x, y);
|
||||||
}
|
}
|
||||||
|
5
ruby.c
5
ruby.c
@ -385,8 +385,11 @@ require_libraries()
|
|||||||
ruby_set_current_source();
|
ruby_set_current_source();
|
||||||
req_list_last = 0;
|
req_list_last = 0;
|
||||||
while (list) {
|
while (list) {
|
||||||
|
int state;
|
||||||
|
|
||||||
ruby_current_node = 0;
|
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;
|
tmp = list->next;
|
||||||
free(list->name);
|
free(list->name);
|
||||||
free(list);
|
free(list);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user