Age | Commit message (Collapse) | Author |
|
* eval.c (rb_load): rb_prohibit_interrupt should not underflow.
* parse.y (NODE_STRTERM, tokadd_string, parse_string): moved string
nest level from a static variable to NODE_STRTERM.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4063 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
section. [ruby-dev:20490]
* eval.c (compile): put rb_compile_string() in a thread critical
section.
* variable.c (rb_const_get_0): should not warn if constant is not
defined. (ruby-bugs-ja PR#509)
* bignum.c (rb_big2dbl): give a warning on overflow.
(ruby-bugs-ja PR#510)
* util.c (ruby_strtod): change MDMAXEXPT from 511 to 308.
* pack.c (utf8_to_uv): long is sufficient. LONG_LONG is not
required.
* bignum.c (rb_big2str): support 32 bit (without `long long' type)
machines. (ruby-bugs-ja PR#512)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4050 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[ruby-dev:20519]
* gc.c (obj_free): clear method cache when freeing class/module.
* eval.c (rb_mod_remove_method): allow "remove_method" to accept
multiple arguments.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_ary_values_at. follow DRY principle.
* re.c (match_values_at): values_at should understand ranges.
* struct.c (rb_struct_values_at): ditto.
* struct.c (inspect_struct): inspect format changed; add "struct "
at the top.
* sprintf.c (rb_f_sprintf): "%p" specifier for inspect output.
(RCR#68)
* eval.c (rb_mod_undef_method): allow "undef_method" to accept
multiple arguments. (RCR#146)
* lib/timeout.rb: put timeout in Timeout module. (RCR#121)
[ruby-talk:61028]
* re.c (match_groups): new method added. (RCR#139)
* variable.c (rb_mod_const_of): should exclude constant defined
in Object, unless retrieving constants of Object.
* string.c (rb_str_new4): do not allocate new string if original
is frozen or already have copy-on-write entry. [ruby-talk:74940]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* string.c (rb_str_replace): ditto.
* eval.c (rb_yield_0): override visibility mode for module_eval
etc. (ruby-bugs-ja PR#505)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[ruby-talk:74706]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4017 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* eval.c (rb_thread_restore_context): prior configuration macro.
* gc.c (ruby_stack_length): always return the address of lower edge.
* gc.c (rb_gc_mark_locations): remove margin. [ruby-dev:20462]
* gc.c (rb_gc, Init_stack): prior configuration macro.
* gc.c (Init_stack): add safety margin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4012 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
point. [ruby-dev:20441]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* eval.c (error_print): temporary value might be disposed by GC.
* hash.c (env_has_value, env_index): should not increment NULL.
* io.c (io_read, rb_io_sysread): not read when length is 0.
* io.c (rb_io_reopen): ensure initialized IO.
* io.c (rb_io_init_copy): sychronize file pointer.
* io.c (rb_io_s_pipe): make exception proof.
* string.c (rb_str_rindex_m): Fixnum 0 matched end of string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
order. formerly check was done by dictionary order.
[ruby-talk:74138]
* string.c (rb_string_value): fill constant empty string along
with setting ELTS_SHARED if str->ptr is NULL. [ruby-core:01179]
* string.c (rb_string_value_ptr): ditto.
* string.c (rb_check_string_type): ditto.
* string.c (str_gsub): move END(0) check before mbclen2().
* string.c (scan_once): reduce END(0) check.
* io.c (rb_io_initialize): accept fixnum mode.
* eval.c (error_print): replace strchr() by memchr(), einfo may
contain "\0".
* pack.c (pack_unpack): range check for "@" move; initialize check
for "m".
* error.c (syserr_initialize): avoid buffer overflow.
* file.c (rb_file_s_readlink): expand buffer until readlink
succeed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
tag is already handled in this level. (ruby-bugs-ja PR#501)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
TAG_RETURN from orphan Proc object. [ruby-core:01148]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[ruby-dev:20360]
* eval.c (rb_eval): support new_yield() change.
* variable.c (rb_const_get_0): warn for Foo::BAR when BAR is a
toplevel constant (i.e. a constant defined under Object).
[ruby-list:36935]
* parse.y (no_blockarg): separate no block argument check and
ret_args argument processing.
* range.c (rb_range_beg_len): out_of_range check after adjusting
end point. [ruby-dev:20370]
* parse.y (call_args): the first argument to arg_cancat() should
be NODE_LIST. [ruby-core:01151]
* eval.c (rb_eval): should dispatch based on ID type.
* eval.c (rb_yield_0): should restore scope_vmode during yield.
[ruby-dev:20361]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
class is no longer available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
NODE_DMETHOD. [ruby-core:01138]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
warned for "void value expression". [ruby-talk:72989]
* gc.c (add_final): should determine type by respond_to?
* gc.c (define_final): ditto.
* io.c (rb_io_ctl): should not depend on respond_to?
* range.c (range_step): rb_check_string_type().
* process.c (proc_setgroups): new functions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* eval.c (error_handle, rb_longjmp): bails out when exception
reentered. (ruby-bugs-ja:PR#487), [ruby-core:01119],
[ruby-core:01122]
* eval.c (Init_Proc): pre-allocates critical error objects.
* parse.y (cmd_brace_block, do_block, brace_block): initialize block
variables at the beginning of the block. [ruby-talk:72521]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* class.c (rb_scan_args): ditto.
* signal.c (sig_trap): ditto.
* hash.c (rb_hash_initialize): ditto.
* variable.c (rb_f_trace_var): ditto.
* ext/dl/dl.c (rb_dl_callback): ditto.
* ext/win32ole/win32ole.c (ev_on_event): ditto.
* eval.c (ruby_cleanup): $SAFE is turned off in the finalization.
Each END proc should preserve its own $SAFE level. [ruby-core:01119]
* marshal.c (marshal_load): remove unused variable "hash".
[ruby-core:01120]
* hash.c (env_str_new): freeze strings from ENV. [ruby-talk:72860]
* array.c (rb_ary_first): optional argument to retrieve first n
elements.
* array.c (rb_ary_last): optional argument to retrieve last n
elements.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Each END proc should preserve its own $SAFE level. [ruby-core:01119]
* marshal.c (marshal_load): remove unused variable "hash".
[ruby-core:01120]
* hash.c (env_str_new): freeze strings from ENV. [ruby-talk:72860]
* array.c (rb_ary_first): optional argument to retrieve first n
elements.
* array.c (rb_ary_last): optional argument to retrieve last n
elements.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* eval.c (ruby_finalize): no longer need to turn off $DEBUG in the
finalizer. (ruby-bugs-ja PR#473)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3907 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
orig_func, not last_func.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3902 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_call(). [ruby-core:01113]
* eval.c (rb_eval): use rb_call_super() to follow DRY principle.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
ranges too.
* range.c (rb_range_beg_len): length calculation was wrong.
* eval.c (rb_call): should set T_ICLASS in the frame->last_class.
[ruby-core:01110]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_check_string_type(), not FIXNUM_P(), because values may be a
bignum. [ruby-talk:72257]
* eval.c (rb_call0): should pass the current klass value to
block_invoke, which may be called via "super". [ruby-core:01077]
* eval.c (block_invoke): now takes 4th argument "klass".
* eval.c (block_alloc): should propagate BLOCK_PROC to
ruby_block.
* marshal.c (r_object0): should not use "yield" method, use "call"
instead. (ruby-bugs-ja PR#476)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(ruby-bugs-ja:PR#483)
* lib/optparse.rb (OptionParser::Switch#parse_arg): not splat.
* lib/optparse.rb (OptionParser::Switch#conv_arg): splat if no
conversion supplied.
* lib/optparse.rb (OptionParser::Switch::PlacedArgument#parse):
override next switch after argument conversion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(rb_const_get_at, rb_const_get, rb_mod_remove_const): use Qundef
as autoload marker. [ruby-dev:18103], [ruby-dev:18184]
* eval.c (rb_mod_autoload, rb_mod_autoload_p): new method;
Module#autoload, Module#autoload?.
* variable.c (rb_autoload, rb_autoload_load, rb_autoload_p):
manage autoload constants per classes/modules.
* variable.c (rb_const_defined_at, rb_const_defined): return false
for autoloading constants.
* class.c (rb_define_class, rb_define_module), eval.c (rb_eval),
variable.c (rb_mod_const_at, rb_const_assign): removed autoload
stuff.
* intern.h: prototypes; rb_autoload, rb_autoload_load,
rb_autoload_p.
* lib/optparse.rb (OptionParser::Switch::PlacedArgument::parse):
do not treat unmatched argument as an option.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3872 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* eval.c (block_arity): returns exact arity number for Procs out
of methods. also gives 1 for {|a|..}.
* string.c (rb_str_match): revert use of String#index for
invocation like string =~ string.
* eval.c (rb_Array): move Object#to_a exclusion hack from
splat_value(). need to be in eval.c for a while.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
(ruby-bugs-ja:PR473)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3860 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
at_exit procs and finalizers. (ruby-bugs-ja:PR473)
* ext/tcltklib/tcltklib.c (lib_mainloop_core): OK to block if
there's no other thread. (ruby-bugs:PR#861)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
rb_call_super() for allocation functions. [ruby-core:1065]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3852 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
[ruby-dev:20269]
* io.c (rb_io_close, io_reopen): ditto.
* io.c (io_reopen): keep stdio objects for stdin, stdout,
and stderr. [ruby-dev:19442]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
subclasses of SystemCallError. in addition, if initialize is
called for SystenCallError instance, its class be changed.
[ruby-dev:20257]
* gc.c (run_final): to protect thread context switch, finalizers
are wrapped in DEFER_INTS/ENABLE_INTS.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
on thread saved ruby_dyna_vars. [ruby-dev:20236]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3837 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
block parameter.
* eval.c (rb_yield_values): a function to yield multiple values.
* array.c (sort_1): use rb_yield_values.
* enum.c (min_ii, max_ii): ditto.
* hash.c (rb_hash_update_block_i, delete_if_i, select_i,
each_pair_i, env_each, env_reject_bang, env_select,
env_update_i): ditto.
* struct.c (rb_struct_each_pair): ditto.
* eval.c (top_include): should include module in the current self,
not ruby_top_self. [ruby-dev:20198]
* eval.c (top_include): stop inclusion to ruby_wrapper; give
warning.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
method.
* error.c (rb_name_error, rb_sys_fail): ditto.
* error.c (exc_to_s, exit_status, name_err_name,
nometh_err_args, syserr_errno, syserr_eqq): access
attributes.
* error.c (name_err_initialize, nometh_err_initialize,
syserr_initialize): initialize attributes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
before detach pid. [ruby-talk:71519]
* eval.c (PUSH_FRAME): save outer ruby_block. [ruby-list:37677],
[ruby-dev:20202]
* eval.c (BEGIN_CALLARGS): restore outer block by using
ruby_block->outer.
* eval.c (block_pass): do not alter block->prev, but block->outer.
* array.c (get_inspect_tbl): warning on wrong condition.
* eval.c (localjump_xvalue): renamed exitstatus to exit_value
since it's not exit "status" after all.
* eval.c (localjump_error): add reason to LocalJumpError.
* compar.c (rb_cmpint): raise error via rb_cmperr(), if cmp value
is nil. now take new 2 arguments.
* time.c (time_cmp): 2003-05-16 fix was incomplete.
(ruby-bugs-ja:PR#458)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3823 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
since it works as copy constructor.
* eval.c (rb_add_method): initialize_copy should always be
private, like initialize.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
valid array. (ruby-bugs-ja PR#65)
* array.c (inspect_ensure,rb_protect_inspect,rb_inspecting_p):
use get_inspect_tbl().
* eval.c (rb_f_abort): call exit(1) if exception is raised. This
patch was made by Nobuyoshi Nakada <nobu.nokada@softhome.net> on
2002-05-30. (ruby-bugs-ja PR#236)
* signal.c: disable Ruby's interrupt handler at the beginning.
(ruby-bugs-ja PR#236)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* time.c (time_cmp): does not compare with numbers for
interchangeability. (ruby-bugs-ja PR#458)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
directly.
* eval.c (error_print,error_handle,rb_longjmp,rb_thread_schedule):
ditto.
* io.c (Init_IO): new variable $deferr which is default output
port of error messages.
* io.c (rb_warn_m): new method "warn". [new]
* error.c (warn_print): use $deferr.
* error.c (rb_bug): ditto.
* error.c (err_append): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3782 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
pad string. [ruby-talk:70482]
* string.c (rb_str_rjust): ditto.
* string.c (rb_str_center): ditto.
* string.c (rb_str_justify): utility function.
* eval.c (rb_add_method): call singleton_method_added or
method_added for every method definition (after ruby_running).
[ruby-talk:70471]
* array.c (rb_ary_reverse_bang): Array#reverse! should not return
nil even for arrays sized less than 2.
* io.c (argf_eof): should not block after reading all argument
files. (ruby-bugs-ja PR#449)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3742 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|