Граф коммитов

47608 Коммитов

Автор SHA1 Сообщение Дата
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