| Age | Commit message (Collapse) | Author |
|
High Sierra's APFS cannot use invalid filenames [Bug #13816]
added workaround for APFS file format.
* TestFileExhaustive#test_atime: It fails with nano-sec precise.
I changed to use unixtime for this assertion for APFS.
* TestFileExhaustive#test_expand_path: skip assertion when given
invalid charactor on APFS.
[Bug #13816][ruby-core:82383]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62647 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
test_framework.rb: for case-sensitive filesystem
* test/mkmf/test_framework.rb (test_single_framework): fix header
file name for case-sensitive filesystem. it may not be same as
the framework name, but should be the actual file name.
[ruby-dev:50093] [Bug #13489]
* test/mkmf/test_framework.rb (test_multi_frameworks): ditto.
test_file_exhaustive.rb: check case-sensitive fs
* test/ruby/test_file_exhaustive.rb (test_expand_path): dump
expanded file name, not only appended char, for case-sensitive
filesystem. [ruby-dev:50093] [Bug #13489]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62646 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Treat NULL reference case [Bug #13566]
Fix C level backtrace on Darwin
SEGV caused by invalid instruction call.
skip unless PLATFORM is darwin.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
test_time_tz.rb: past Japanese DST tzdata fix
* test/ruby/test_time_tz.rb (TestTimeTZ#test_asia_tokyo): follow
the tzdata 2018 fix of Japanese DST transitions (1948-1951).
[ruby-core:85373] [Bug #14438]
test_time_tz.rb: past Japanese DST tzdata fix
* test/ruby/test_time_tz.rb (TestTimeTZ#test_asia_tokyo): fix
the expected data at the end of DST. [Bug #14438]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
#14424]
file.c: rb_check_realpath
* file.c (rb_check_realpath): returns real path which has no
symbolic links. similar to rb_realpath except for returning
Qnil if any parts did not exist.
load.c: real path to load
* load.c (rb_construct_expanded_load_path): expand load paths to
real paths to get rid of duplicate loading from symbolic-linked
directories. [Feature #10222]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
load.c: backtrace of circular require
* load.c (load_lock): print backtrace of circular require via
`Warning.warn` [ruby-core:80850] [Bug #13505]
Send the backtrace of the circular require warning as a single String to Warning.warn
* load.c: send as a single string.
* error.c: expose the string formatted by rb_warning as rb_warning_string().
* test/ruby/test_exception.rb: update tests.
[ruby-core:80850] [Bug #13505]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62435 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
vm_method.c: fix super in refined module
* vm_method.c (rb_method_entry_complement_defined_class): clone
the original method entry of refined module instance method with
the active ICLASS, to track super method chain.
[ruby-dev:50390] [Bug #14232]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Modules should not have subclasses.
When refining a module, the module was set to the superclass of its refinement,
and a segmentation fault occurred.
The superclass of the refinement should be an iclass of the module.
[ruby-core:83617] [Bug #14070]
The superclass of a refinement should have BasicObject as its ancestor.
Otherwise, VM_ASSERT(callable_method_entry_p(cme)) in
prepare_callable_method_entry() fails if VM_CHECK_MODE is 2.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
parse.y: indent at '#'
* parse.y (parser_here_document): update indent at '#', which is
not a space. [ruby-core:83368] [Bug #14032]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62174 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
complex.c: no overflow
* complex.c (rb_complex_finite_p): get rid of overflow and
unnecessary multiplication.
test_complex.rb: NaN Complex
* test/ruby/test_complex.rb (test_finite_p): assertions for NaN
Complex. NaN is not an infinite nor a finite number.
[ruby-core:83272] [Bug #14014]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62173 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
numeric.c: use NUM2DBL
* numeric.c (fix_fdiv_double), bignum.c (rb_big_fdiv_double): use
NUM2DBL on unknown object. RFLOAT_VALUE is only appliicable to
T_FLOAT object. [ruby-core:82924] [Bug #13928]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@62171 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
string.c: fix ASCII-only on succ
* string.c (str_succ): clear coderange cache when no alpha-numeric
character case, carried part may become ASCII-only.
[ruby-core:83062] [Bug #13952]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@61455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
pack.c: unpack "M" may be ASCII only
* pack.c (pack_unpack_internal): set ASCII only properly on "M",
may be ASCII only. [ruby-core:83055] [Bug #13949]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@61454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
string.c: ASCII-incompatible is not ASCII only
* string.c (tr_trans): ASCII-incompatible encoding strings cannot
be ASCII-only even if valid. [ruby-core:83056] [Bug #13950]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@61453 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
compile.c: fix stack consitency error
* compile.c (iseq_compile_each0): fix stack consitency error on
attr-assign with safe navigation operator when the receiver is
nil, should pop it too. [ruby-core:83078] [Bug #13964]
test_call.rb: refine test_safe_call
* test/ruby/test_call.rb (test_safe_call): rhs should not be
evaluated when the receiver is nil. simplified the assertion
for [Bug #13964].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@61439 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
adjust indent [ci skip]
* vm_insnhelper.c (vm_call_method_each_type): adjust indent of a
block in switch.
visibility of inherited method
* vm_insnhelper.c (vm_call_method_each_type): honor the original
visibility of inherited methods when a refinement is defined but
not activated. [ruby-core:82209] [Bug #13776]
Author: Mon_Ouie (Mon ouie) <mon.ouie@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@61436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
error.c: refactor warning messages
* error.c (with_warning_string): extract building warning message
string from variadic arguments.
* error.c (syserr_warning): write warning message with the system
error message.
error.c: warning functions
* error.c: define warning functions in all combinations of
* no errno, system errno, argument
* without/with encoding
* enabled/disabled by default
dir.c: err at glob failure
* dir.c (glob_helper): raise a SystemCallError exception when
opendir() failed, except for ENOENT, ENOTDIR, and EACCES. this
behavior predates 1.0; the comments in glob.c claimed that
glob() returned -1 on error but actualy the pointer to a global
variable, then dir_glob() did check only -1 as the comments, and
ignored actual errors. [ruby-core:80226] [Bug #13276]
dir.c: ruby_glob_funcs_t
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@61367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
array.c: finish_exact_sum
* array.c (finish_exact_sum): extract duplicate code from
rb_ary_sum.
array.c: check if numeric
* array.c (finish_exact_sum): add 0 and the initial value to check
if the latter is numeric. [ruby-core:79572] [Bug #13222]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@61361 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
parse.y: fix line in rescue
* parse.y (set_line_body, primary): fix line number of bodystmt as
the beginning of the block. [ruby-core:79388] [Bug #13181]
parse.y: set_line_body is not used in ripper
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@60626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
parse.y: empty hash in defined
* parse.y (command): NODE_ARRAY with NULL is invalid. traversal
in defined_expr0 is simplified than iseq_compile_each0.
[ruby-core:82113] [Bug #13756]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
string.c: fix false coderange
* string.c (rb_enc_str_scrub): enc can differ from the actual
encoding of the string, the cached coderange is useless then.
[ruby-core:82674] [Bug #13874]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59822 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
parse.y: primary should not be 0
* parse.y (primary): should not be 0, since it can be a receiver.
[ruby-core:82447] [Bug #13836]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59820 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
vm_method.c: alias warning at refined method
* vm_method.c (rb_method_entry_make): suppress a warning at
refined method which will not be redefined.
[ruby-core:82385] [Bug #13817]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
gc.c: restore cfp at finalizer
* gc.c (run_finalizer): restore cfp for the case an exception
raised in a finalizer. [ruby-core:82432] [Bug #13832]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
compile.c: ensure after toplevel return
* compile.c (iseq_compile_each0): toplevel returns should fire
ensures. [ruby-core:82492] [Bug #13844]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59812 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
process.c: handle dynamic :rlimit_* symbols in spawn execopts
* process.c (rb_execarg_addopt_rlimit): hoist out of rb_execarg_addopt
(rlimit_type_by_sym): new wrapper for dynamic symbol
(rb_execarg_addopt): check for dsym via rlimit_type_by_sym
* test/ruby/test_process.rb (test_execopts_rlimit): check dsym w/o pindown
Add extra check for bogus rlimit args, too.
[ruby-core:82033] [Bug #13744]
process.c: null bytes
* process.c (rlimit_type_by_sym): prohibit null bytes in key
names. [ruby-core:82033] [Bug #13744]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
should not copy promoted flags.
* include/ruby/ruby.h (rb_clone_setup): should not copy some flags
(FL_PROMOTED0|FL_PROMOTED1|FL_FINALIZE).
[Bug #13775]
* test/ruby/test_object.rb: add a test (note that this test will fail
only when RGENGC_CHECK_MODE >= 2).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
random.c: ensure initialized
* random.c (get_rnd, try_get_rnd): ensure initialized to get rid
of crash in forked processes. [ruby-core:82100] [Bug #13753]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Fix Enumerable#uniq with non single yield arguments
* enum.c (uniq_func, uniq_iter): need packed value as the unique
key. [ruby-core:81734] [Bug #13669] [Fix GH-1658]
Author: Kenichi Kamiya <kachick1@gmail.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
compile.c: fix catch-table labels optimization
* compile.c (remove_unreachable_chunk): do not eliminate chunks
followed by labels in catch-table entries.
compile.c: fix possible use of uninitialized value
LABEL::unremovable added by r58810 is not initialized by
new_label_body(), making the optimization unstable.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
parse.y: make shared string modifiable
* parse.y (dedent_string): ensure that the string is modifiable,
not to set the length of shared string.
[ruby-core:80987] [Bug #13540]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
compile.c: restore stack at return
* compile.c (iseq_compile_each0): restore the stack depth after
return to the previous depth, to fix the stack depth at
returning from rescue iseq. [ruby-core:82108] [Bug #13755]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
numeric.c: fix for small number
* numeric.c (flo_floor, flo_ceil): should not return zero for small
number. [ruby-core:81394] [Bug #13599]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
* proc.c (get_local_variable_ptr): return found env ptr. Returned env
will be used by write barrier at `bind_local_variable_set()'.
[Bug #13605]
* test/ruby/test_proc.rb: add a test for this issue.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
proc.c: rb_block_min_max_arity
* proc.c (rb_block_min_max_arity): new function to get arity range
from the current block.
vm_eval.c: rb_lambda_call
* enum.c (enum_collect): make the block arity same as the given
block. [Bug #13391]
* internal.h (vm_ifunc): store arity instead of unused id.
* proc.c (rb_vm_block_min_max_arity): return ifunc arity.
* vm_eval.c (rb_lambda_call): call method with lambda block.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
fix return in toplevel rescue/ensure
* compile.c (iseq_compile_each0): throw TAG_RETURN at return in
toplevel rescue/ensure to adjust VM stack properly.
[ruby-core:81777] [Bug #13682]
* vm_insnhelper.c (vm_throw_start): allow return in toplevel
rescue/ensure.
fix return in toplevel ensure
* compile.c (iseq_compile_each0): adjust stack after return in
toplevel ensure, when the value is used.
[ruby-core:81777] [Bug #13682]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
compile.c: disallow next in once
* compile.c (iseq_compile_each0): turned dregx context in "once"
into "guarded" type from "block" type, to disallow `next`,
`break`, `redo` as well as outside "once".
[ruby-core:81805] [Bug #13690]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
vm_insnhelper.c: break in once
* vm_insnhelper.c (vm_throw_start): size of catch table has been
included in iseq_catch_table struct, which could be NULL, since
2.2. e.g., proc-closure in `once'.
[ruby-core:81775] [Bug #13680]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
compile.c: toplevel return in argument
* compile.c (iseq_compile_each0): adjust the stack before return
in an evstr/argument (reported by Balazs <balazs@kutilovi.cz>)
to fix stack consistency error. [ruby-core:81761] [Bug #13678]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
node.h: sign-extend
* node.h (nd_line): should sign-extend. shifting `VALUE` extends
with zero bits if `sizeof(VALUE)` equals to `sizeof(int)`. the
zero bits are truncated if `sizeof(VALUE)` is bigger enough.
[ruby-core:80920] [Bug #13523]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
parse.y: brace after literal arg
* parse.y (symbol, dsym, parser_set_number_literal, parser_yylex):
set state to END too not only ENDARG and after a literal, so
that a left brace after it should be a primary block bound to
the literal, which causes syntax error.
[ruby-core:81037] [Bug #13547]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59409 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
test_syntax.rb: test_brace_after_local_variable
* test/ruby/test_syntax.rb (test_brace_after_local_variable):
another test using braces. [Bug #11873]
parse.y: do after cmdarg in paren
* parse.y (parser_yylex): set state to ENDARG after a string
literal, so that `do` after a literal should be `do_block` and
bound to the outer method, as well as a numeric/symbol literal.
[ruby-core:72482] [Bug #11873]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
parse.y: check multibyte char
* parse.y (parser_precise_mbclen): check invalid multibyte char at
skipping strings following `?x` literal string, not to stuck in
a infinite loop. [ruby-core:81746] [Bug #13672]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59401 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
array.c: check position to insert
* array.c (rb_ary_insert): check position to insert even if no
elements to be inserted. [ruby-core:81125] [Bug #13558]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
proc.c: skip prepended modules
* proc.c (method_super_method): skip prepended modules and
continue from the super class of the original class.
[ruby-core:81666] [Bug #13656]
test/ruby/test_method.rb: refined [ruby-core:81666] [Bug #13656]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
enumerator.c: fix nested maps
* enumerator.c (lazy_map_proc, lazy_grep_iter_proc): marks values
returned by blocks are not packed in the case of nested maps, so
that the result will be same as non-lazy version. based on the
patch by akihikodaki (Akihiko Odaki) at [ruby-core:81638],
without GCC extension. [Bug#13648]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
Merge latest dtoa.c [Bug #13545]
Apply some part of http://www.netlib.org/fp/dtoa.c with my eyes...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|
|
thread.c: disable VM events when stack overflow
* thread.c (ruby_thread_stack_overflow): disable VM events when
stack overflow occurred; it causes another stack overflow again
in making backtrace object, and crashes.
[ruby-core:80662] [Bug #13425]
increase timeout seconds.
* test/ruby/test_trace.rb (test_trace_stackoverflow): on some platforms
this test fails because of timeout.
disable rewind hooks.
* vm.c (hook_before_rewind): skip rewind hooks if err is SystemStackError
because rewind hooks can cause stack overflow again and again.
* thread.c (ruby_thread_stack_overflow): do not disable all hooks.
Additionally, clearing ruby_vm_event_flags is not suitable way
to disable hooks.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@59297 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
|