Commit graph

42848 commits

Author SHA1 Message Date
nobu
e7e0eeb084 test_find_executable.rb: each_exts
* test/mkmf/test_find_executable.rb (each_exts): extract common
  setup.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 16:04:51 +00:00
nobu
dc54e38041 strftime.c: Bignum conversion
* strftime.c (format_value): convert from Bignum to String,
  instead of rb_str_format.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54253 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 15:49:43 +00:00
nobu
2460214780 strftime.c: set buffer length
* strftime.c (FMTV): set the buffer length before appending to
  keep just put part.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 15:12:56 +00:00
svn
f4f7d49705 * 2016-03-25
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54251 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 15:01:40 +00:00
nobu
7d488c4e4e strftime.c: refine r54248
* strftime.c (FMT_PRECISION): eliminate side effects.
  [Bug #12213]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54250 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 15:01:39 +00:00
nobu
5c233dcd40 ChangeLog: remove duplicate entry [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54249 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 13:39:42 +00:00
nobu
20215f0181 strftime.c: remove recursive-assignments
* strftime.c (FMT, FMTV): remove recursive-assignments to get rid
  of undefined behavior.  [ruby-core:74532] [Bug #12213]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54248 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 13:38:20 +00:00
nobu
743f2bf879 strftime.c: fix FMTV
* strftime.c (FMT_PADDING): extract format for padding.
* strftime.c (FMT_PRECISION): extract precision formula.
* strftime.c (FMTV): append formatted string to expand the result.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54246 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 08:44:03 +00:00
nobu
44a247c745 strftime.c: case conversion
* strftime.c (STRFTIME): deal with case conversion flags for
  recursive formats.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54245 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 05:20:22 +00:00
nobu
0f4c580b20 date_core.c: unused variable
* ext/date/date_core.c (dt_lite_jisx0301): remove no longer used
  variable.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 04:27:35 +00:00
nobu
8d23c8bf3b date_core.c: append strings
* ext/date/date_core.c (dt_lite_iso8601): strftimev() always
  returns a String, so append them directly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 03:43:28 +00:00
nobu
c85040d4d0 date_core.c: fix jisx0301 and iso8601
* ext/date/date_core.c (d_lite_jisx0301, iso8601_timediv),
  (dt_lite_jisx0301): format by the format string in local buffer
  to prevent intermediate strings from GC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 03:43:06 +00:00
nobu
c4f51b71e3 date_core.c: fix inspect
* ext/date/date_core.c (mk_inspect_raw, mk_inspect): inspect by
  "%+"PRIsVALUE, to prevent intermediate strings from GC.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 03:42:37 +00:00
svn
ec3d895094 * 2016-03-24
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 02:43:35 +00:00
nobu
f3de12aa6b strftime.c: fix false failure
* strftime.c (rb_strftime_with_timespec): remove unnecessary
  check, as `s` equals to `endp` when recursed STRFTIME resized
  the capacity same as the size.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-24 02:43:34 +00:00
mrkn
aeb0be6ad5 * enum.c (ary_inject_op): put subtract operation out of if-clause.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-23 12:50:24 +00:00
mrkn
e324d29e2b * enum.c (ary_inject_op): Use Kahan's compensated summation algorithm
for summing up float values.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54237 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-23 12:41:00 +00:00
nobu
5396d8a1ab strftime.c: format in String
* strftime.c (rb_strftime_with_timespec): append formatted results
  to the given string with expanding, and also deal with NUL chars.
* strftime.c (rb_strftime, rb_strftime_timespec): return formatted
  string, not the length put in the given buffer.
* time.c (rb_strftime_alloc): no longer needs to retry with
  reallocating buffers.
* time.c (time_strftime): no longer needs to split by NUL chars.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-23 11:57:01 +00:00
naruse
63436b3ff2 * lib/rdoc/ri/driver.rb (interactive): rescue NotFoundError raised in
expand_name. (display_name rescues NotFoundError by itself,
  the original logic looks buggy...)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-23 05:25:29 +00:00
nobu
7bfeb1c2ae remove SIGN_EXTEND_CHAR macro
* marshal.c (r_long): cast to `signed char`, which is used
  already, instead of SIGN_EXTEND_CHAR.
* parse.y: SIGN_EXTEND_CHAR is no longer used.  [Fix GH-1302]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54234 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-23 02:44:54 +00:00
nobu
6c8efc0dc7 GNUmakefile.in: fix MSYS2_ARG_CONV_EXCL
* cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL_PARAM):
  * add missing parentheses and remove double quotes.
  * rename to get rid of recursive references.
  * as --excludes-dir option is for a path name, its argument
    should be converted.
  [ruby-dev:49526] [Bug #12199]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-23 02:38:49 +00:00
svn
ea6372de7f * 2016-03-23
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-23 01:39:42 +00:00
hsbt
b33841b32a * variable.c: Added documentation about order of Module#constants
[ci skip][Bug #12121][ruby-dev:49505][fix GH-1301]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-23 01:39:41 +00:00
svn
d864828fb4 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-22 12:08:31 +00:00
duerst
2f455ceca4 * include/ruby/oniguruma.h: Additional flag for characters that are titlecase.
* enc/unicode/case-folding.rb, casefold.h: Using above flag in data.
* enc/unicode.c: Marking capitalized character as unmodified if it is
  already titlecase.
* test/ruby/enc/test_case_mapping.rb: Tests for above functionality.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-22 12:08:30 +00:00
nobu
bf99f85941 parse.y: lambda indentation check
* parse.y (lambda_body, parser_yylex): warn mismatched indentation
  of lambda block.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54228 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-22 05:19:01 +00:00
nobu
8c22a641d9 test_rubyoptions.rb: other indentation checks
* test/ruby/test_rubyoptions.rb (test_indentation_check): assert
  warnings against other keyword mismatches.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-22 05:13:55 +00:00
usa
15af93fcc8 * time.c (wmul): wrong condition.
fixed many test failures on 32bit and LLP64 platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-22 02:41:24 +00:00
usa
6957898ad0 * time.c (wdiv, wmod): wdivmod0() assumes the 3rd and the 4th arguments
are valid pointers.
  maybe checking them in wdivmod0() is better manner, but I guess that
  passing real dummy pointers may be faster than checking and branching
  in wdivmod0().
  this commit fixes SEGV on 32bit and LLP64 platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-22 01:37:01 +00:00
usa
0dbbcdb6bb * time.c (divmodv): void function never returns any value.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54224 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-22 01:24:55 +00:00
nobu
66225416bd test/unit.rb: defer failures in non-replace mode
* test/lib/test/unit.rb (Test::Unit::StatusLine#failed): print
  failed messages only if replacing mode, otherwise defer them
  until the end, to get rid of interleaving failures with progress
  messages.  refix r54195.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-22 01:11:03 +00:00
naruse
520650798c fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 19:14:27 +00:00
naruse
03d0501f51 * time.c (MUL_OVERFLOW_FIXWV_P): defined for FIXWV.
* time.c (wmul): use MUL_OVERFLOW_FIXWV_P and only switch.

* time.c (wmul): use mul which has Fixnum optimization.

* time.c (rb_time_magnify): If WIDEVALUE_IS_WIDER, wmul() has the same
  optimized logic, else mul() has also the similar logic for Fixnum.

* time.c (rb_time_unmagnify): almost ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 18:57:30 +00:00
naruse
74d7b281d3 fix typo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54220 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 18:57:25 +00:00
svn
69bedfca9e * 2016-03-22
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 18:19:16 +00:00
naruse
849bbc6566 * time.c (divmodv): add the case both arguments are Fixnum.
* time.c (wquo): use quo which has Fixnum optimization.

* time.c (wdivmod0): added for WIDEVALUE_IS_WIDER.

* time.c (wdivmod): use wdivmod0 and divmodv.
  divmodv has Fixnum optimization.

* time.c (wdiv): use wdivmod0 and div to avoid the use of divmodv which
  calls id_quo whose return value is array.

* time.c (wmod): use wdivmod0 and mod to avoid the use of divmodv which
  calls id_quo whose return value is array.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54218 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 18:19:15 +00:00
nobu
3176a634ca suppress warning
* iseq.c (rb_iseq_compile_with_option): suppress
  maybe-uninitialized warning by gcc 4.8.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 13:53:25 +00:00
naruse
51c4ffa45b * internal.h (rb_fix_divmod_fix): like r54213, use FIX2NUM only if
x == FIXNUM_MIN && y == -1. This must be a rare case and it is
  expected compiler to handle well.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54216 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 13:36:03 +00:00
nobu
2118eccc77 time.c (quo): fix missing return
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54215 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 13:31:30 +00:00
naruse
654788793d fix commit miss
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54214 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 13:21:12 +00:00
naruse
f5715289ac * time.c (mod): Add Fixnum case.
* time.c (quo): c can be Fixnum except a == FIXNUM_MIN && b == -1.
  Such case can be optimized out because quo()'s argument is constant.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54213 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 13:17:45 +00:00
nobu
d17852b9d5 internal.h: fix no-DLONG case
* internal.h (rb_fix_mul_fix): multiply converted values, not
  object VALUEs.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54212 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 13:09:26 +00:00
nobu
61cefc1359 suppress msys2 pathname conversion
* common.mk (TEST_EXCLUDES, EXCLUDE_TESTFRAMEWORK): use full spell
  long option.
* cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL): suppress path name
  conversions by msys2.  [ruby-dev:49525] [Bug #12199]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 11:18:31 +00:00
nobu
0f32783976 string.c: skip invalid char gap
* string.c (enc_succ_alnum_char): try to skip an invalid character
  gap between GREEK CAPITAL RHO and SIGMA.
  [ruby-core:74478] [Bug #12204]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 10:09:33 +00:00
nobu
90c543e483 node.c: mark u3 of NODE_MATCH2
* node.c (rb_gc_mark_node): NODE_MATCH2 can have nd_args, u3,
  since r54100.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 09:55:50 +00:00
nobu
d5a9735112 test/unit.rb: show crashed file
* test/lib/test/unit.rb (after_worker_down): show failed file name
  if worker crashed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-21 09:55:29 +00:00
svn
be40357afb * 2016-03-21
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-20 18:28:22 +00:00
naruse
b48fce265c fix r54203's typo (no DLONG case)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-20 18:28:21 +00:00
usa
6d97a5de09 * internal.h (rb_int128t2big): declare only when HAVE_INT128_T.
fixed a compile error with VC++ introduced at r54203.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-20 12:18:28 +00:00
nobu
ce5ba9197d time.c (mul): fix missing return.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-20 11:26:17 +00:00