47608 Commits

Author SHA1 Message Date
nobu
2627c19d82 configure.in: use newer libtool only
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59954 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-18 07:52:58 +00:00
rhe
2bd222abfb re.c: remove unused rb_memcmp() function
It is no longer used or exported as of r13641.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59953 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-18 05:37:29 +00:00
yui-knk
9d899615d1 thread.c: Clear an array for method coverage
* 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
2017-09-18 05:17:21 +00:00
nobu
5d988300b2 intern instruction
* 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
2017-09-18 05:16:37 +00:00
nobu
b2da3824c5 refinements in string interpolation
* 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
2017-09-18 02:27:13 +00:00
nobu
d1e63172c6 parse.y: ripper_lex_state_name
* parse.y (ripper_lex_state_name): represent lex_state as OR-ed
  form.

* ext/ripper/lib/ripper/lexer.rb (Ripper::Lexer::Elem#to_a):
  lex_state for inspection.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-18 00:08:19 +00:00
svn
5166f94879 * 2017-09-18
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-17 23:56:38 +00:00
mame
05561ad75c ext/objspace/objspace.c: remove unneeded code clones.
`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
2017-09-17 23:56:37 +00:00
nobu
df33c063fc literal symbol by intern
* 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
2017-09-17 09:28:58 +00:00
nobu
08bb3640d7 compile.c: optimize unnecessary concatstrings
* 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
2017-09-17 09:21:47 +00:00
mame
f3a491d932 ext/io/console/lib/console/size.rb: Fix the context of method definition
`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
2017-09-17 08:04:34 +00:00
yui-knk
affa40b9ea node.h: Remove a not used macro
* 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
2017-09-17 07:19:20 +00:00
nobu
eb0146e2db make-snapshot: after-update
* 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
2017-09-17 06:50:31 +00:00
nobu
ad094e3ac3 suppress warnings
* compile.c: suppress maybe-uninitialized warnings by gcc7.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-17 05:51:15 +00:00
mame
b366c4d410 run-lcov.rb: wrongly used unique ID as lineno
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
2017-09-17 04:30:30 +00:00
rhe
e2cb0eded4 ext/date/extconf.rb: check for timezone and altzone
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
2017-09-17 04:26:51 +00:00
rhe
06af07dd7b configure.in: don't check for existence of timezone()
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
2017-09-17 04:26:48 +00:00
nobu
3029014467 Rename bin/ruby as exe/ruby
* 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
2017-09-17 04:14:51 +00:00
svn
08adad00ff * 2017-09-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59936 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-16 22:40:10 +00:00
nobu
1241d59cef test_fileutils.rb: rmdir should fail on nonexistent directory
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-16 22:40:09 +00:00
nobu
2635984cf2 fileutils.rb: error at rmdir
* lib/fileutils.rb (rmdir): should not ignore errors first, except
  for parent directories.  [ruby-dev:50236] [Bug #13889]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-16 11:59:47 +00:00
nobu
40d117ae88 file.c: [DOC] separators at dirname and basename
* 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
2017-09-16 11:50:56 +00:00
nobu
65055fe244 common.mk: make bin directory
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-16 11:50:55 +00:00
hsbt
274c6180b7 To use github url for gemspec.
[Bug #13906][ruby-core:82817]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15 23:46:46 +00:00
nobu
4075d71c18 ruby-runner.c: reduce duplicate code
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15 19:25:46 +00:00
nobu
84181a6c88 Makefile.in: make wrappers for each name
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59929 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15 19:25:45 +00:00
nobu
012ed57719 fixup r59927
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15 17:47:50 +00:00
nobu
86888f9cec rename ruby-runner as bin/ruby
* Makefile.in, configure.in, tool/runruby.rb: rename ruby-runner
  executable file as $(RUBY_INSTALL_NAME) under bin, to mimic
  dirty `#!/usr/bin/env` hack.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15 17:42:00 +00:00
naruse
b2996b30d9 Find.find -> Use Dir.children instead of Dir.entries
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
2017-09-15 17:00:49 +00:00
naruse
40f3c519d5 Fix test code of kconv
patched by tbpgr <tbpgr@tbpgr.jp>
https://github.com/ruby/ruby/pull/1696 fix GH-1696

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15 16:56:16 +00:00
svn
9708af66bf * 2017-09-16
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15 16:53:56 +00:00
naruse
16225d823d include query parameters in Net::HTTP.post
patched by Samuel Giddins <segiddins@segiddins.me>
https://github.com/ruby/ruby/pull/1686 fix GH-1686

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15 16:53:55 +00:00
kazu
743ab3c783 Fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59922 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15 12:03:42 +00:00
kazu
dd3b3dd0f3 Remove needless splat array
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59921 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-15 12:03:41 +00:00
nobu
f22345427a parse.y: use SET_LEX_STATE
* 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
2017-09-15 08:47:46 +00:00
nobu
581be44ede object.c: fix conversion failure message
* 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
2017-09-15 02:01:59 +00:00
nobu
92e3ffdf78 rubyspec: jobserver fd may not be available
* 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
2017-09-15 00:59:35 +00:00
nobu
3ce856a602 rubyspec: use mock directory
* 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
2017-09-15 00:59:34 +00:00
nobu
3948372201 rubyspec: fix types
* 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
2017-09-15 00:59:32 +00:00
yui-knk
c7fa2bf568 ext/coverage/coverage.c (rb_coverage_start): Ensure opt is a hash
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
2017-09-15 00:40:38 +00:00
eregon
6479a0163a Update to ruby/spec@a4bc1d8
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-14 15:56:33 +00:00
svn
938465beb0 * 2017-09-15
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-14 15:56:10 +00:00
eregon
49a864ad90 Update to ruby/mspec@5bd9409
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-14 15:56:09 +00:00
eregon
3efe410dd0 time.c (Time#-): Fix documentation.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59908 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-14 14:54:29 +00:00
mame
6617c41292 lib/webrick/log.rb: sanitize any type of logs
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
2017-09-14 11:16:23 +00:00
nobu
7df1e45bb6 ripper: add states of scanner
* 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
2017-09-14 10:53:47 +00:00
nobu
a61ae940c6 parse.y: [DOC] fix call-seq [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59895 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-14 10:49:29 +00:00
mame
b324a64946 ext/coverage/coverage.c: use long instead of int for coverage site id
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
2017-09-14 10:45:04 +00:00
naruse
fff6809b30 fix the case High Sierra's mincore(2) may return -128 [Bug #13895]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-14 09:21:48 +00:00
nobu
ea49381e51 compile.c: iseq_pop_newarray
* compile.c (iseq_pop_newarray): optimize array literal in
  condition.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-09-14 08:04:30 +00:00