summaryrefslogtreecommitdiff
path: root/eval.c
AgeCommit message (Collapse)Author
2004-07-17* eval.c (THREAD_ALLOC): th->thread should be initialized to NULL.matz
[ruby-talk:106657] The solution was found by Guy Decoux. * file.c (rb_stat_dev_major): new methods File::Stat#dev_major and #dev_minor. [ruby-core:03195] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-09* eval.c (rb_thread_raise): accept third argument as well asnobu
Kernel#raise, and evaluate the arguments to create an exception in the caller's context. [ruby-talk:105507] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6605 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-07-05* eval.c (rb_thread_yield, rb_f_catch): 4th argument to rb_yield_0()nobu
is a set of bit flags. [ruby-dev:23859] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-29* eval.c (rb_eval_cmd, rb_thread_trap_eval): restore safe level.nobu
* gc.c (define_final, run_final): preserve and restore safe level for finalizers. [ruby-core:03058] * signal.c (signal_exec, rb_trap_exit, trap): preserve and restore safe level for signal handlers. [ruby-dev:23829] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-22* eval.c (return_jump, break_jump): raise unexpceted local jumpnobu
exception directly. [ruby-dev:23740] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-19* eval.c (proc_set_safe_level, proc_invoke, rb_mod_define_method): notnobu
set $SAFE for methods defined from Proc. [ruby-dev:23697] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-19* eval.c (method_call): allow changing $SAFE. [ruby-dev:23713]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-18* eval.c (eval): adjust indent.nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6473 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-18* eval.c (proc_save_safe_level, rb_set_safe_level, safe_setter): limitnobu
safe level. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-06-16* eval.c (rb_mod_freeze): prepare string representation beforematz
freezing. [ruby-talk:103646] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6469 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-28* eval.c (rb_eval): bad influence on frame node.nobu
* eval.c (eval): reverted wrongly removed condition. [ruby-dev:23638] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6425 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-26* eval.c (rb_eval, eval): make line number consistent on eval withnobu
Proc. [ruby-talk:101253] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-25* eval.c (rb_yield_0, proc_invoke, proc_arity): allow passing a blocknobu
to a Proc. [ruby-dev:23533] * parse.y (block_par, block_var): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-18* eval.c (rb_method_node): search cache entry first.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6351 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-14* eval.c (eval): forgot to restore $SAFE value before evaluatingmatz
compiled node. [ruby-core:02872] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6314 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-14* range.c (range_each_func): terminates loop if generating valuematz
is same to @end. [ruby-talk:100269] * string.c (rb_str_new4): should not reuse frozen shared string if the original is not an instance of String. [ruby-talk:100193] * time.c (time_mdump): preserve GMT bit in the marshal data. [ruby-talk:100213] * eval.c (is_defined): do not protect exception during receiver evaluation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6313 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-10* eval.c (eval): warning during eval should not cause deadlock.matz
[ruby-talk:98651] * eval.c (rb_eval): raise TypeError exception for superclass mismatch. [ruby-dev:39567] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6288 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-05-07* parse.y (string_content): turn off NODE_NEWLINE flag to avoidmatz
unnecessary line trace for inlined expression. (ruby-bugs PR#1320) * numeric.c (flo_to_s): tweak output string based to preserve decimal point and to remove trailing zeros. [ruby-talk:97891] * string.c (rb_str_index_m): use unsigned comparison for T_FIXNUM search. [ruby-talk:97342] * hash.c (rb_hash_equal): returns true if two hashes have same set of key-value set. [ruby-talk:97559] * hash.c (rb_hash_eql): returns true if two hashes are equal and have same default values. * string.c (rb_str_equal): always returns true or false, never returns nil. [ruby-dev:23404] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-21* eval.c (rb_mod_define_method): allow binding methods to modules.nobu
[ruby-dev:23410] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-14* array.c, enum.c, eval.c, file.c, io.c, numeric.c, object.c, prec.c,nobu
process.c, re.c, string.c: typos in RDoc comments. [ruby-core:02783] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6158 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-07* pack.c (pack_pack): use NUM2INT() instead of num2i32().matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-07* file.c (rb_get_path): get path string via "to_path" method ifmatz
path object is not a string. [Ruby2] * gc.c (rb_gc_call_finalizer_at_exit): do not free threads in the exit finalizers. * io.c (rb_io_reopen): should use rb_io_check_io(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6114 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-05* error.c (Init_Exception): remove Exception#to_str. [Ruby2]matz
* eval.c (error_print): should no call "to_str" anymore use "message" method instead. * io.c (rb_f_open): Kernel#open() calls "to_open" if the first argument responds to it. [Ruby2] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6102 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-02* eval.c (top_include): include in the wrapped load is done formatz
the wrapper, not for a singleton class for wrapped main. [ruby-dev:23305] * bignum.c (rb_big_eq): use temporary double variable to save the result (internal float register may be bigger than 64 bits, for example, 80 bits on x86). [ruby-dev:23311] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-02* eval.c (block_pass): should increment unique identifier of thematz
block. [ruby-talk:96363] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-04-02* eval.c (Init_load): make $LOADED_FEATURES built-in. [ruby-dev:23299]aamine
* ruby.c (ruby_prog_init): make $PROGRAM_NAME built-in. * lib/English.rb: remove $LOADED_FEATURES and $PROGRAM_NAME. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-30* eval.c (rb_eval): fix SEGV at retry in iterator's receiver.nobu
[ruby-dev:23227] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6047 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-29* exception message clean-up by Ian Macdonald <ian@caliban.org>.matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6044 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-23* object.c (rb_mod_cvar_get): new method Module#class_variable_get.matz
* object.c (rb_mod_cvar_set): ditto (Module#class_variable_set). * eval.c (rb_thread_atfork): 1.9 warns no more for thread termination. [ruby-dev:23212] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-20* eval.c (rb_require_safe): preserve old ruby_errinfo.matz
[ruby-talk:95409] * eval.c (rb_f_raise): should not clear backtrace information if exception object already have one. * parse.y (assoc_list): allow {sym: val} style Hash. [Ruby2] this change is done by Nobuyoshi Nakada <nobu@ruby-lang.org>. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-19* variable.c (rb_cvar_set): class variables become private to thematz
particular class/module. [Ruby2] * variable.c (rb_cvar_get): ditto. * io.c (rb_io_sync): need not to check writable. [ruby-core:02674] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-18* eval.c (proc_eq): avoid false positive by using scope andmatz
dyna_vars. no longer use frame.uniq. * eval.c (proc_arity): arity is now defined as number of parameters that would not be ignored. i.e. Proc.new{}.arity returns zero. update test suites too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-18* eval.c: remove specialized version of rb_Array(). use simplematz
one defined in object.c. * object.c (Init_Object): remove Kernel#to_a. * enum.c (enum_zip): use "to_a" instead of "to_ary". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5968 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-15* eval.c (rb_yield_0): should not re-submit TAG_BREAK if thismatz
yield is not break destination. [ruby-dev:23197] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-14* eval.c (rb_thread_raise): err at unstarted thread. (PR#1302)nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-10* eval.c (return_jump): set return value to the returnmatz
destination. separated from localjump_destination(). * eval.c (break_jump): break innermost loop (or thread or proc). * eval.c (rb_yield_0): set exit_value for block break. * eval.c (eval): Only print backtrace if generating the backtrace doesn't generate an exception. [ruby-core:02621] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-10* struct.c (rb_struct_s_def): Struct::new executes block withmatz
generated struct class. [ruby-talk:02606] * io.c (rb_io_ungetc): raise IOError instead of calling rb_sys_fail(). [ruby-talk:23181] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-03-03* eval.c (method_hash): new method. [ruby-talk:93968]matz
* eval.c (proc_eq): do not compare dyna_vars. * eval.c (proc_hash): new method. * eval.c (rb_yield_0): protect break/return from within orphan (or lambda) Proc object. * parse.y (yylex): should not allow symbol for invalid global variable (e.g. `:$-)`). [ruby-core:02518] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-27* eval.c (proc_invoke): no orphan block check is needed when pcallmatz
is true. * eval.c (localjump_destination): update localjump condition. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-26* eval.c (localjump_destination): lambda should not interferematz
return from the yielded block. * hash.c (delete_if_i): use st_delete_safe() (via rb_hash_delete()) instead of returning ST_DELETE. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-16* eval.c (rb_eval): care that another thread replace NODE_DREGX_ONCEakr
to NODE_LIT. [ruby-dev:22920] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-10* eval.c (method_proc): return bound Proc object. [ruby-dev:22854]nobu
* eval.c (rb_mod_define_method): bind method body itself for Method object. * node.h (NODE_DMETHOD): deprecated. * object.c (rb_class_inherited_p): export. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5667 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-02-10* eval.c (umethod_bind): perge unused check. [ruby-dev:22850]nobu
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5664 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-22* parse.y (opt_rescue): use NODE_ERRINFO() instead ofmatz
NODE_GVAR("$!"), to avoid confusion from variable aliasing. [ruby-talk:90074] * version.c (Init_version): remove obsolete constants VERSION etc. [ruby-dev:22643] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5538 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-21* parse.y (newline_node): do not use NODE_NEWLINE node anymore,matz
use NEWLINE flag instead. * ext/socket/socket.c (sock_gethostbyname): returns host if ai_canonname is NULL. (ruby-bugs PR#1243) * parse.y (block_append): update nd_end for "real" head node. [ruby-list:39058] * marshal.c (w_class): should not dump singleton class. [ruby-dev:22631] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-19* variable.c (rb_set_class_path): do not set path ifmatz
* lib/cgi.rb (CGI::QueryExtension): give extended string, not a delegater object. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-19* error.c (NameError::message): internal use only.nobu
* eval.c (rb_method_missing): use hidden constant. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-17* error.c (NameError::Message): new class for lazy evaluation ofnobu
message to ensure replaced before marshalling. [ruby-dev:22604] * eval.c (rb_method_missing): use NameError::Message. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5481 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-16* eval.c (proc_eq): compare also arguments and environmentnobu
(including local variables). [ruby-dev:22590] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5476 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-01-16* eavl.c (proc_eq): compare also arguments and environment.nobu
[ruby-dev:22590] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e