* thread.c (reset_coverage_i): Clear an
array for method coverage just like
line coverage and branch coverage.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* insns.def (intern): new instruction to turn string into symbol.
opt_call_c_function can not dump.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59951 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c (iseq_compile_each0): insert to_s method call, so that
refinements activated at the caller should take place.
[Feature #13812]
* insns.def (tostring): fix up converted object to a string,
infect and fallback.
* insns.def (branchiftype): new instruction for conversion.
branches if TOS is an instance of the given type.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59950 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
`setup_hash` have already performed nil check and empty check.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c (iseq_compile_each0): literal symbol should not be
affected by redefinition of String#intern method.
* vm_insnhelper.c (rb_vm_str_intern): intern a string into a
symbol directly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c (iseq_peephole_optimize): optimize away unnecessary
concatenation of single string, following tostring which always
puts a String instance.
https://github.com/ruby/ruby/pull/1626#discussion_r139285653
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
`console_size` is not a instance method but a class method.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* node.h (nd_refinements_): nd_refinements_ was
introduced on r49894. But this macro has not been
used since r49897.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/make-snapshot (package): fix missing after-update for
libffi and so on. [ruby-dev:50244] [Bug #13897]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
The second value of key of branch/method coverage is unique ID, not
lineno.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59940 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Instead of in configure.in. As of r28592 the HAVE_VAR_TIMEZONE and
HAVE_VAR_ALTZONE macros are only used by ext/date. ext/date doesn't care
whether they are int or long, so just check for the existence.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59939 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
HAVE_TIMEZONE and TIMEZONE_VOID macros are not used anymore as of r28592
("strftime.c: unused declarations removed.", 2010-07-09).
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59938 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk, configure.in: rename the bin directory to run build
executable as exe, to get rid of overwriting true files at the
installation. [ruby-dev:50250] [Bug #13911]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* file.c (rb_file_s_basename, rb_file_s_dirname): [DOC] state
that trailing separators will be stripped first, like as
basename(1) and dirname(1). [ruby-core:82828] [Bug #13908]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Dir.children is available since Feature #11302.
Find.find can use of the new list (having no '.' neither '..' entries),
making now superflous an if statement.
This change can improve the performance of Find.find when the path
has lots of entries (thousands?).
https://bugs.ruby-lang.org/issues/11302
patched by Espartaco Palma <esparta@gmail.com>
https://github.com/ruby/ruby/pull/1697 fix GH-1697
[Feature #13896]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59926 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y (f_arglist, parser_yylex): set lex_state via
SET_LEX_STATE macro for yydebug messages.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* object.c (convert_type_with_id): fix failure message for
explicit conversion. rb_convert_type_with_id and
rb_check_convert_type_with_id are not only for implicit
conversions.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* spec/rubyspec/optional/capi/spec_helper.rb (compile_extension):
rescue possible EBADF as jobserver fd may not be available.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59918 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* spec/rubyspec/core/dir/mkdir_spec.rb: the source directory may
be on a read-only filesystem.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* spec/rubyspec/optional/capi/ext/fixnum_spec.c: FIX2INT and
FXI2UINT return long, in spite of their names.
* spec/rubyspec/optional/capi/ext/range_spec.c: err is int.
* spec/rubyspec/optional/capi/ext/st_spec.c: st_index_t is larger
than int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Ensure `opt` is a hash before using `rb_hash_lookup` to `opt`.
This will prevent SEGV when an inappropriate object (i.e. an array)
is passed to `opt`.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
It had failed to sanitize some type of exception messages. Reported and
patched by Yusuke Endoh (mame) at https://hackerone.com/reports/223363
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59897 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y (ripper_state): add states of scanner to tokens from
Ripper.lex and Ripper::Filter#on_*. based on the patch by
aycabta (Code Ahss) at [ruby-core:81789]. [Feature #13686]
* ext/ripper/tools/preproc.rb (prelude, usercode): generate EXPR_*
constants from enums.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59896 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Coverage generates unique ID numbers for each branch and each method.
Use long instead of int for the IDs. I don't want to see 2^32 branches
and methods in one file, but just in case...
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59894 b2dd03c8-39d4-4d8f-98ff-823fe69b080e