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

28698 Коммитов

Автор SHA1 Сообщение Дата
nagachika 90dec6bcab * ext/tk/lib/tkextlib/blt/tree.rb: fix method name typo.
[ruby-core:72510] [Bug #11890] The patch provided by Akira Matsuda.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-07 15:23:25 +00:00
nagachika fea0595635 * ext/tk/lib/tk/menubar.rb: fix a typo in font name. [ruby-core:72505]
[Bug #11886] The patch provided by Akira Matsuda.

* ext/tk/sample/*.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54018 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-07 15:15:59 +00:00
nobu 9bb8f28f3d class.c: err if superclass is 0
* class.c (rb_define_class, rb_define_class_id_under): raise
  ArgumentError if super is 0, deprecated behavior which has been
  warned long time.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-07 04:33:00 +00:00
nobu 8e1a0856ed internal.h: functions for class internals
* internal.h: move function declarations for class internals from
  include/ruby/intern.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54014 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-07 04:28:32 +00:00
nobu 9c8d9f31f7 win32ole_event.c: use rb_write_error_str
* ext/win32ole/win32ole_event.c (rescue_callback): use
  rb_write_error_str instead of rb_write_error, to respect
  the encoding and prevent the message from GC.
* internal.h (rb_write_error_str): export.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-07 01:58:09 +00:00
odaira 5ce9b42545 * test/ruby/test_process.rb (test_execopts_gid): Skip a test
that is known to fail on AIX. AIX allows setgid to
  a supplementary group, but Ruby does not allow the "-e"
  option when setgid'ed, so the test does not work as intended.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-06 16:43:50 +00:00
nobu 38e5dd1be6 io.c: fix output of Array [ci skip]
* io.c (rb_obj_display): [DOC] fix output of Array, as Array#to_s
  is same as Array#inspect since 1.9.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54009 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-06 13:43:42 +00:00
odaira bf5d2c74c9 * test/socket/test_addrinfo.rb (test_ipv6_address_predicates):
IN6_IS_ADDR_V4COMPAT and IN6_IS_ADDR_V4MAPPED are broken
  on AIX, so skip related tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-05 00:54:17 +00:00
odaira 1874524d42 Sat Mar 5 09:17:54 2016 Rei Odaira <Rei.Odaira@gmail.com>
* test/rinda/test_rinda.rb (test_make_socket_ipv4_multicast):
  The fifth argument to getsockopt(2) should be modified to
  indicate the actual size of the value on return,
  but not in AIX. This is a know bug. Skip related tests.
* test/rinda/test_rinda.rb (test_ring_server_ipv4_multicast):
  ditto.
* test/rinda/test_rinda.rb (test_make_socket_unicast): ditto.
* test/socket/test_basicsocket.rb (test_getsockopt): ditto.
* test/socket/test_sockopt.rb (test_bool): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54004 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-05 00:29:39 +00:00
odaira adde0a94a2 * test/-ext-/float/test_nextafter.rb: In AIX,
nextafter(+0.0,-0.0)=+0.0, and nextafter(-0.0,+0.0)=-0.0,
  but they should return -0.0 and +0.0, respectively. This is
  a known bug in nextafter(3) on AIX, so skip related tests.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54003 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-04 22:43:31 +00:00
odaira 1ec6bb95bc * test/zlib/test_zlib.rb (test_adler32_combine, test_crc32_combine):
Skip two tests on AIX because zconf.h in zlib does not correctly
  recognize _LARGE_FILES in AIX. The problem was already reported
  to zlib, and skip these tests until it is fixed.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54002 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-04 22:20:56 +00:00
odaira a2594be783 * thread_pthread.c (getstack): __pi_stacksize returned by
pthread_getthrds_np() is wrong on AIX. Use
  __pi_stackend - __pi_stackaddr instead.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54000 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-04 18:14:18 +00:00
ko1 d04ee29e77 * gc.c: use 2 bits with unsigned int for rb_objspace:🎏:mode
because it always returns 0 to 2 (non-negative value).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-04 10:37:35 +00:00
ko1 befcbc2cb9 * gc.c: rename "enum gc_stat" to "enum gc_mode"
because there is a same name (no related) function gc_stat().

  Also gc_stat_* are renamed to gc_mode_*,
  gc_stat_transition() to gc_mode_transition(),
  rb_objspace:🎏:stat is renamed to rb_objspace:🎏:mode.

  Change rb_objspace:🎏:mode from 2 bits to 3 bits because VC++
  returns negative enum value with 2 bits.

* gc.c (gc_mode): add a macro to access rb_objspace:🎏:mode
  with verification code (verification is enabled only on
  RGENGC_CHECK_MODE > 0).

* gc.c (gc_mode_set): same macro for setter.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53996 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-04 09:53:03 +00:00
hsbt 5a90f9e8f8 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.1.
Please see entries of 2.6.0 and 2.6.1 on
  https://github.com/rubygems/rubygems/blob/master/History.txt
  [fix GH-1270] Patch by @segiddins

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-04 00:29:40 +00:00
nobu 7c89ca5431 ostruct.rb: make internal methods private
* lib/ostruct.rb (modifiable?, new_ostruct_member!, table!):
  rename methods for internal use with suffixes and make private,
  [ruby-core:71069] [Bug #11587]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53987 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-03 05:09:02 +00:00
nobu 0534b970bc vm_eval.c: call method_missing by method entry
* vm_eval.c (method_missing): call by found method entry and get
  rid of searching the same method entry twice.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-02 07:28:50 +00:00
nobu be8005b977 vm_eval.c: method_missing by method_missing
* vm_eval.c (vm_call0_body): calling method_missing method is
  method_missing().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-02 07:18:31 +00:00
hsbt a2845a44f8 * lib/xmlrpc.rb: Removed broken parser named XMLScanStreamParser.
It's not works with current Ruby version.
  [fix GH-1271][ruby-core:59588][Bug #9369]
* lib/xmlrpc/config.rb: ditto.
* lib/xmlrpc/parser.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-02 06:19:18 +00:00
hsbt d8e3a92411 * lib/xmlrpc.rb: Removed broken parser named XMLTreeParser.
Required gem of its parser didn't compile on newer Ruby versions.
  [fix GH-1271][ruby-core:59590][Bug #9370]
* lib/xmlrpc/config.rb: ditto.
* lib/xmlrpc/parser.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-02 06:12:51 +00:00
kazu 6d2c4e7b3f Fix pull request number [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-01 15:00:55 +00:00
nobu baa43cd0c2 fileutils.rb: keyword arguments
* lib/fileutils.rb: use keyword arguments instead of option
  hashes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-01 02:26:44 +00:00
nobu c31d06eeb7 array.c: [DOC] remove trailing comma [ci skip]
* array.c (rb_ary_push_m): [DOC] Remove trailing comma from
  Array#push example, as other Array examples doesn't put trailing
  comma.  [Fix GH-1279]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53970 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-29 07:51:15 +00:00
nobu 199e910602 mkconfig.rb: cross_compiling option
* common.mk, tool/mkconfig.rb: set cross_compiling option from
  Makefile, but not from rbconfig.rb, which is just going to be
  created by this command.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53969 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-29 07:31:56 +00:00
nobu 7b91046b29 configure.in: summary
* configure.in: Add summary to end of configure output.
  [Fix GH-1277]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-28 14:14:42 +00:00
seki 018f081233 * lib/drb/drb.rb (error_print): Add verbose failure messages and
avoid infamous DRb::DRbConnError. [Feature #12101]



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53962 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-28 11:28:58 +00:00
nobu 4d9f5482ae NoMethodError#private_call?
* error.c (nometh_err_initialize): add private_call? parameter.
* error.c (nometh_err_private_call_p): add private_call? method,
  to tell if the exception raised in private form FCALL or VCALL.
  [Feature #12043]
* vm_eval.c (make_no_method_exception): append private_call?
  argument.
* vm_insnhelper.c (ci_missing_reason): copy FCALL flag.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-28 04:41:38 +00:00
nobu 491c44e984 Clarify set intersection and union documentation
* array.c (rb_ary_and): clarify that set intersection returns the
  unique elements common to both arrays.

* array.c (rb_ary_or): clarify that union preserves the order from
  the given arrays.

- Most know what intersection means, but saying the operation
  excludes duplicates could be misleading ([1] & [1], duplicates
  excluded, might mean a result of []).
- Instead, saying intersection returns the unique elements common to both
  arrays is more concise and less ambiguous.
- The set union's documentation was incomplete in its describing
  preservation of order. Saying union preserves the order of the
  original array neglects the idea that the order of the elements
  in both arrays, as given, will be preserved.
- Instead, saying set union preserves the order from the given arrays (and
  adding an example) fully demonstrates the idea.

[Fix GH-1273] [ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-28 01:20:39 +00:00
duerst c4e6964141 * enc/unicode/case-folding.rb, casefold.h: Reducing size of TitleCase
table by eliminating duplicates.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53957 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-27 08:06:17 +00:00
nobu 60dad06d53 numeric.c: wrong type step should raise TypeError
* numeric.c (num_step_scan_args): comparison String with Numeric
  should raise TypeError. it is an invalid type, but not a
  mismatch the number of arguments.  [ruby-core:62430] [Bug #9810]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53949 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26 05:41:37 +00:00
nobu a12e8fd2ed doc: editor local variables [ci skip]
* doc/extension.rdoc, doc/extension.ja.rdoc: add editor local
  variables, with commenting out by :enddoc: directives which are
  just ignored unless code object mode.  [Bug #12111]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53948 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26 05:40:28 +00:00
hsbt d7c46522fc * doc/extension.ja.rdoc: removed rendering error caused by editor specific
configuration on http://docs.ruby-lang.org/en/trunk/extension_rdoc.html .
  [Bug #12111][ruby-core:73990]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53947 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26 03:26:55 +00:00
hsbt 0676ce8739 * lib/xmlrpc.rb: Removed references to NQXML. It's obsoleted parser.
[fix GH-1245][ruby-core:59593][Feature #9371]
* lib/xmlrpc/config.rb: ditto.
* lib/xmlrpc/parser.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53946 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26 02:25:40 +00:00
hsbt 379c3b8b24 * lib/tmpdir.rb: Unify to coding-style for method definition.
[fix GH-1252]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53945 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26 02:11:14 +00:00
hsbt 49f17cc6a3 * README.md: update markdown syntax for anchor tag.
[fix GH-1265] Patch by @lukBarros

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53944 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26 02:03:03 +00:00
hsbt 966e020add * lib/irb.rb: avoid to needless truncation when using back_trace_limit option.
[fix GH-1205][ruby-core:72773][Bug #11969]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53943 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-26 01:57:58 +00:00
tenderlove 4102031164 Reduce system calls by activating the `did_you_mean` gem.
Activating the gem puts the gem on the load path, where simply requiring
the file will search every gem that's installed until it can find a gem
that contains the `did_you_mean` file.

Calling RubyGems' `require` will search each installed gem until it can
find one that contains the file it should require.  This means that the
more gems you have installed, the longer it can take to require that
gem.

To see this in action, lets compare the number of `stat` calls for a
"bare require" vs the number of `stat` calls for a require that follows
a gem activation by using these two programs:

```
[aaron@TC rubygems (master)]$ cat req_dym.rb
begin
  require 'did_you_mean'
rescue LoadError
end
[aaron@TC rubygems (master)]$ cat gem_dym.rb
begin
  gem 'did_you_mean'
  require 'did_you_mean'
rescue Gem::LoadError, LoadError
end
```

The first program just requires the `did_you_mean` gem, where the second
one activates the gem, then requires it.  We can count the number of
`stat` calls using `dtrace`:

```
[aaron@TC rubygems (master)]$ ruby -v
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
[aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean req_dym.rb" | wc -l

dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
     283
[aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean gem_dym.rb" | wc -l

dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
      13
```

The "bare require" version does over 10x the number of stat calls
compared to the "gem, then require" version.  Of course the number for
the first one depends on the number of gems you have installed that sort
before the `did_you_mean` gem.

Lets also look at trunk Ruby:

```
[aaron@TC rubygems (master)]$ ruby -v
ruby 2.4.0dev (2016-02-25 trunk 53940) [x86_64-darwin15]
[aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean req_dym.rb" | wc -l

dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
    2325
[aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean gem_dym.rb" | wc -l

dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24
     685
```

This change will reduce the number of `stat` calls on trunk Ruby too,
but since this installation doesn't have the `did_you_mean` gem,
RubyGems is still reading every gem spec file so that it can raise a
`Gem::LoadError` exception with a nice error message.  If we can modify
RubyGems a little, it may be possible to drop the number of stat calls
even on a Ruby installation that doesn't have the `did_you_mean` gem.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53941 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-25 23:23:30 +00:00
duerst 7feb182a08 * enc/unicode/case-folding.rb: Adding possibility for debugging output
for TitleCase table in casefold.h.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53930 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-25 10:04:59 +00:00
duerst f1f48e6103 * include/ruby/oniguruma.h: Rearranging flag assignments and making
space for titlecase indices; adding additional macros to add or
  extract titlecase index; adding comments for better documentation.
* enc/unicode.c: Moving some macros to include/ruby/oniguruma.h;
  activating use of titlecase indices.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53915 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-24 13:32:01 +00:00
akr 169b867fbf * random.c (limited_rand): Add a specialized path for the limit fits in 32 bit.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53914 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-24 12:30:20 +00:00
duerst 1cc579cb00 * enc/unicode/case-folding.rb, casefold.h: Outputting actual titlecase
data (new table, with indices from other tables).
* enc/unicode.c: Ignoring titlecase data indices for the moment.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-23 12:53:10 +00:00
duerst 8aa8847b7c * enc/unicode/case-folding.rb, casefold.h: Reading casing data from
SpecialCasing.txt.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-23 06:21:55 +00:00
kazu f42d2ca85a fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53892 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-22 11:00:38 +00:00
duerst 4ca9138bac * enc/unicode/case-folding.rb, casefold.h: Adding flag for title-case,
not yet operational.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53891 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-22 09:34:34 +00:00
duerst 5470ce8206 * enc/unicode/case-folding.rb, casefold.h: Fixed bug that avoided inclusion
of compatibility characters in uppper-/lower-case mappings.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53890 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-22 09:17:43 +00:00
nobu d463c492bc cgi/escape: Optimize CGI.unescape
* cgi/escape/escape.c: Optimize CGI.unescape performance by C ext
  for ASCII-compatible encodings.  [Fix GH-1250]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-21 04:57:57 +00:00
nobu 1b7109e11a cgi/escape: Optimize CGI.unescapeHTML
* cgi/escape/escape.c: Optimize CGI.unescapeHTML performance by C
  ext for ASCII-compatible encodings.  [Fix GH-1242]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-21 04:57:35 +00:00
normal 68d4d7e41f doc/extension.rdoc: update paths for defs/ directory
These files were moved in r19844

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53880 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-20 06:39:14 +00:00
nobu 7cb7b5f7f2 Fix Module#module_eval rdoc [ci skip]
* vm_eval.c (rb_mod_module_eval): [DOC] Fix documentation
  signature for Module#module_eval.  [Fix GH-1258]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53879 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-20 05:44:52 +00:00
nobu 27c7dfa7e7 Update README.md
* README.md: a few grammatical changes to the main Ruby README.md.
  [Fix GH-1259]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53878 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-20 05:41:20 +00:00
nobu 4f969f6eee dir.c: paths as UTF-8
* dir.c (push_pattern, push_glob): deal with read paths as UTF-8
  to stat later, on Windows as well as OS X.
  [ruby-core:73868] [Bug #12081]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-20 04:04:59 +00:00
nobu 8790fdce57 object.c: fix error message
* object.c (rb_mod_const_get): make error message at uninterned
  string consistent with symbols.  [ruby-dev:49498] [Bug #12089]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53875 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-19 16:54:08 +00:00
nobu 3ad8210ce1 find.rb: raise with the name
* lib/find.rb (Find#find): raise with the given path name if it
  does not exist.  [ruby-dev:49497] [Bug #12087]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53874 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-19 14:38:28 +00:00
duerst 6286ff6301 * enc/unicode.c: Activated use of case mapping data in CaseUnfold_11 array.
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-19 03:45:32 +00:00
nobu 9bfa5d917f extmk.rb: cygwin case
* ext/extmk.rb: add cygwin case, nothing excluded.
  [ruby-core:73806] [Bug#12071]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53868 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-19 02:09:06 +00:00
kazu cf87846f16 fix output in EXAMPLES [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53867 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-18 12:33:48 +00:00
nobu 49a272d728 string.c: Symbol#match
* string.c (sym_match_m): delegate to String#match but not
  String#=~.  [ruby-core:72864] [Bug #11991]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53866 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-18 12:06:20 +00:00
svn 5a6b090368 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53864 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-18 05:29:19 +00:00
sorah e8074a382e * re.c: Add MatchData#named_captures
[Feature #11999] [ruby-core:72897]

* test/ruby/test_regexp.rb(test_match_data_named_captures): Test for above.

* NEWS: News about MatchData#named_captures.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53863 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-18 05:29:18 +00:00
nobu 527a1eb065 ChangeLog: remove duplicate entry [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53859 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-17 15:00:10 +00:00
kazu 19413ef43b fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53858 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-17 14:33:31 +00:00
nobu 0201900d76 id.def: $~ and $_
* defs/id.def (predefined): add idLASTLINE and idBACKREF for $~
  and $_ respectively.
* parse.y: use idLASTLINE and idBACKREF instead of rb_intern.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-17 12:42:00 +00:00
nobu 5a6a502ef9 string.c: fix rb_str_init
* string.c (rb_str_init): fix segfault and memory leak, consider
  wide char encoding terminator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53855 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-17 11:24:09 +00:00
naruse d46e2aea71 * string.c (rb_str_init): introduce String.new(capacity: size)
[Feature #12024]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53850 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-17 03:21:35 +00:00
kazu 45aa35cd5d fix indent [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53845 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-16 12:25:53 +00:00
kazu 0395a51ea7 ChangeLog should be us-ascii [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-16 12:25:51 +00:00
duerst 6a808bda64 * enc/unicode/case-folding.rb, casefold.h: Used only first element
(rather than all) of target in CaseUnfold_11 array.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53843 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-16 10:10:37 +00:00
nobu 527fa61087 numeric.c: fix segfault
* numeric.c (compare_with_zero): fix variable name, rb_cmperr
  requires VALUEs but not an ID.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53842 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-16 09:25:08 +00:00
nobu 135a171ce1 dir.c: Dir.empty?
* dir.c (rb_dir_s_empty_p): add Dir.empty? method, which tells the
  argument is the name of an empty directory.  [Feature #10121]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-16 08:34:47 +00:00
nobu 9cedfbcb91 rbinstall.rb: drive letter in without_destdir
* tool/rbinstall.rb (without_destdir): just strip a drive letter
  which is prepended by with_destdir.
  pointed out by @DavidEGrayson.
  https://github.com/ruby/ruby/commit/0e5f9ae#commitcomment-16101763

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53840 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-16 00:51:48 +00:00
naruse 2708fb6ba7 * insns.def (opt_plus): simply use LONG2NUM() instead of wrongly
complex overflow case.

* insns.def (opt_sub): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53839 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-15 19:42:59 +00:00
nobu 0e5f9aeaea rbinstall.rb: drive letter in without_destdir
* tool/rbinstall.rb (without_destdir): compare with the destdir
  after stripping a drive letter, on dosish platforms.
  pointed out by @DavidEGrayson.
  https://github.com/ruby/ruby/commit/d0cf23b#commitcomment-16100407

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53838 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-15 17:50:08 +00:00
nobu fbb51ff44c parse.y: kwarg to method with same name variable
* parse.y (parse_ident): allow keyword arguments just after a
  method where the same name local variable is defined.
  [ruby-core:73816] [Bug#12073]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53835 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-15 06:44:36 +00:00
duerst c3554cdea6 * enc/unicode/case-folding.rb: Added debugging option
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-15 05:43:55 +00:00
nobu fdcc924fce mkmf.rb: Do not modify caller strings
* lib/mkmf.rb (with_{cpp,c,ld}flags): copy caller strings not to
  be modified, in append_{cpp,c,ld}flags respectively.
  [Fix GH-1246]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-14 08:32:15 +00:00
nobu e294f4cfdf not overwrite cause
* eval.c (setup_exception): set the cause only if it is explicitly
  given or not set yet.  [Bug #12068]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53819 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-14 07:19:23 +00:00
akr f061d40326 * hash.c (rb_hash_invert): [DOC] more examples.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53818 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-13 12:45:59 +00:00
nobu 1ee9cad027 CIDR in no_proxy
* lib/uri/generic.rb (URI::Generic#find_proxy): support CIDR in
  no_proxy.  [ruby-core:73769] [Feature#12062]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53817 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-13 08:31:12 +00:00
nobu 423d042371 no_proxy with whitespaces and leading dots
* lib/uri/generic.rb (find_proxy): exclude white-spaces and allow
  for a leading dot in the domain name in no_proxy.
  [ruby-core:54542] [Feature #8317]

The previous implementation wouldn't allow for white-spaces nor a leading dot
in the domain name. The latter is described in the wget documentation as a valid case.

By being more strict on the characters, which are counted to a domainname,
we allow for white-spaces.
Also, a possible leading dot will be handled gracefully.

[Fix GH-285]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53816 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-13 08:12:21 +00:00
nobu 6bbe44a39a error.c: fix doc [ci skip]
* error.c (name_err_initialize, nometh_err_initialize): [DOC] fix
  argument positions.  optional parameters except for the message
  are placed at the last.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-12 03:21:17 +00:00
nobu 0a19e7f0a3 net/ftp.rb: NullSocket#closed?
* net/ftp.rb: add NullSocket#closed? to fix closing not opened
  connection.  [Fix GH-1232]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-12 02:50:09 +00:00
nobu 301cbf4d69 Update re.c [ci skip]
* re.c (rb_reg_initialize_m): [DOC] fix missing right bracket.
  [Fix GH-1243]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-12 02:17:58 +00:00
nobu 2456239f18 configure.in: fix universal binary
* configure.in (RUBY_CHECK_SIZEOF, RUBY_DEFINT): fix for types
  which are conditionally available depending on architectures
  when universal binary, e.g., __int128.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-11 05:58:16 +00:00
naruse 832f275316 * configure.in (RUBY_DEFINT): use Parameter Expansion.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-10 21:29:50 +00:00
naruse 60f3986914 * configure.in (int128_t): don't check HAVE_XXX (for example
HAVE___INT128) because RUBY_CHECK_SIZEOF() don't define it for
  config.h and use of $ac_cv_sizeof___int128 alternates the check.
  (and don't need to define because users shouldn't know that)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-10 20:57:49 +00:00
nobu 12eb0df4d5 check ar D flag
* configure.in (ARFLAGS): check if deterministic mode flag is
  effective, which is on by default on Ubuntu.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-10 03:03:57 +00:00
sonots 460e9d8d83 * lib/logger.rb: Remove block from Logger.add as it's not needed
patch provided by Daniel Lobato Garcí [fix GH-1240] [Bug #12054]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53790 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-09 07:41:51 +00:00
zzak 70d040ddbd * ext/zlib/zlib.c: Document mtime header behavior with patch by @schneems
Fixes [GH-1129]: https://github.com/ruby/ruby/pull/1129


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53785 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-09 05:33:35 +00:00
zzak d901058900 * re.c: Remove deprecated kcode argument from Regexp.new and compile
patch provided by Dylan Pulliam [Bug #11495]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-09 04:54:39 +00:00
duerst 73ab88994f * enc/unicode/case-folding.rb, enc/unicode/casefold.h: Flags for
upper/lower conversion added (titlecase and SpecialCasing still missing)
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53779 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-08 12:26:35 +00:00
duerst 2ca7569c6d * string.c, enc/unicode.c: Disassociating ONIGENC_CASE_FOLD flag from
ONIGENC_CASE_DOWNCASE.
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-08 11:44:12 +00:00
duerst 8f10a72d90 * enc/unicode.c: Shortened macros for enc/unicode/casefold.h to
single-letter; use flags in casefold.h for logic.
* enc/unicode/case-folding.rb: Added flag for case folding.
  Changed parameter passing.
* enc/unicode/casefold.h: New flags added.
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53775 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-08 04:00:31 +00:00
nobu 12bdb15e71 ruby.c: err ambiguous feature name [ci skip]
* ruby.c (feature_option): raise a runtime error if ambiguous
  feature name is given, in the future.  [Bug #12050]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-08 01:30:22 +00:00
duerst c1db3a49a4 * common.mk: Removed enc/unicode/casefold.h from automatic build because
some CI systems don't have gperf. Creation of enc/unicode/casefold.h
  is now possible with make unicode-up. This is intended as a temporary measure.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53771 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-08 00:44:10 +00:00
nagachika d5b4511020 * ChangeLog: revive an entry for r53762 accidentally removed at r53764.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-07 19:40:05 +00:00
duerst 49ca434bcf * common.mk: Added two more precondition files for enc/unicode/casefold.h
* enc/unicode.c: Added shortening macros for enc/unicode/casefold.h
* enc/unicode/case-folding.rb: Fixed file encoding for CaseFolding.txt
  to ASCII-8BIT (should fix some ci errors). Clarified usage. Created
  class MapItem. Partially implemented class CaseMapping.
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-07 13:10:20 +00:00
duerst e40d117339 * enc/unicode/case-folding.rb: Fixing parameter passing.
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53765 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-07 05:12:44 +00:00
duerst 5cbe9fe5c4 * enc/unicode/case-folding.rb: New classes CaseMapping/CaseMappingDummy
to pass as parameters; not yet implemented or used.
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53764 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-07 02:44:14 +00:00
duerst ee696372a8 * common.mk: using new option in recipe for enc/unicode/casefold.h
* enc/unicode/case-folding.rb: Correctly specify argument to new option.
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53762 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-07 02:16:12 +00:00
duerst 1e7770d372 (this commit message applies to the previous commit)
* common.mk: explicit recipe for enc/unicode/casefold.h
* enc/unicode/case-folding.rb: Adding -m option to prepare for using
  multiple data files.
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53761 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-07 01:43:39 +00:00
naruse 0a3fc607c1 Revert "check __int64_t and __int128_t"
This reverts commit r53750.
Those types seems to be for C++, and breaks old GCC.
http://rubyci.s3.amazonaws.com/c64b/ruby-trunk/log/20160206T130202Z.diff.html.gz

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53757 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-06 17:56:47 +00:00
nobu 8e46f401b2 ASCII-incompatible escape
* lib/cgi/util.rb (escapeHTML, unescapeHTML): consider
  ASCII-incompatible encodings.  [Fix GH-1239]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53754 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-06 13:31:07 +00:00
nobu 7475d8048e check __int64_t and __int128_t
* configure.in: check __int64_t and __int128_t for RUBY_DEFINT on
  OS X.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-06 11:44:33 +00:00
duerst e8dde46b60 * test/ruby/enc/test_regex_casefold.rb: Added data-based testing for
String#downcase :fold.
* enc/unicode.c: Fixed a range error (lowest non-ASCII character affected
  by case operations is U+00B5, MICRO SIGN)
* test/ruby/enc/test_case_mapping.rb: Explicit test for case folding of
  MICRO SIGN to Greek mu.
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-06 06:18:38 +00:00
duerst b217dc81f3 * test/ruby/enc/test_regex_casefold.rb: Tests for three case folding
primitives (mbc_case_fold, get_case_fold_codes_by_str,
  apply_all_case_fold) in the various encodings. Currently only known
  good encodings are tested to avoid test failures. For bug hunting,
  start by adding more encodings with
      generate_test_casefold encoding
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53748 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-06 05:51:33 +00:00
duerst 81515b2381 * enc/unicode.c, test/ruby/enc/test_case_mapping.rb: Implemented :fold
option for String#downcase by using case folding data from
  regular expression engine, and added a few simple tests.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53747 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-06 05:37:29 +00:00
duerst 6ab70ad72a * test/ruby/enc/test_case_mapping.rb: added tests for :ascii option.
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53746 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-05 11:09:07 +00:00
naruse 1f57a334da * insns.def (opt_mult): Use int128_t for overflow detection.
* bignum.c (rb_uint128t2big): added for opt_mult.

* bignum.c (rb_uint128t2big): added for rb_uint128t2big..

* configure.in: define int128_t, uint128_t and related MACROs.
  Initially introduced by r41379 but reverted by r50749.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53741 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-05 04:31:27 +00:00
duerst b658249cef * enc/unicode.c: Activated :ascii flag for ASCII-only case conversion
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53740 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 12:05:23 +00:00
nobu 445b015c3a fstring without copy
* re.c (reg_set_source): make source string frozen without
  copying.
* re.c (rb_reg_initialize_m): refactor initialization with
  encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53739 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 08:38:06 +00:00
nobu 09c9110896 revert re.c in r53736
* re.c (rb_reg_initialize): must copy the source string content,
  it is not a static literal.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 06:46:28 +00:00
nobu 94c70c7d72 fstring_enc_new
* string.c (rb_fstring_enc_new, rb_fstring_enc_cstr): functions to
  make fstring with encoding.
* re.c (rb_reg_initialize): make fstring without copying.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53736 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 06:35:34 +00:00
duerst bb4f87127f * common.mk: Added Unicode data file SpecialCasing.txt to be additionally
downloaded (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 05:42:35 +00:00
nobu 217ad664ab cgi/escape: Optimize CGI.escape
* cgi/escape/escape.c: Optimize CGI.escape performance by C ext
  for ASCII-compatible encodings.  [Fix GH-1238]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53731 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 03:39:12 +00:00
duerst 6ec7e30ce0 * common.mk: Introduce two variables (UNICODE_DATA_DIR and
UNICODE_SRC_DATA_DIR) to eliminate repetitions.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53728 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-04 02:54:02 +00:00
naruse 040ce05610 * string.c (str_new_frozen): if the given string is embeddedable
but not embedded, embed a new copied string. [Bug #11946]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53724 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-03 04:52:13 +00:00
nobu e14c9f1048 Fix typo on OpenSSL::PKey doc [ci skip]
* ext/openssl/ossl_pkey.c (Init_ossl_pkey): [DOC] Fix typo
  "encrypted" to "decrypted".  [Fix GH-1235]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-02 23:25:40 +00:00
nobu a43f2cbaa1 Fix Ripper.lex error in dedenting squiggly heredoc
* ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): Fix
  Ripper.lex error in dedenting squiggly heredoc.  heredoc tree is
  also an array of Elem in the outer tree.  [Fix GH-1234]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-02 23:21:34 +00:00
naruse 7aefa7b89f * re.c (rb_reg_prepare_enc): use already compiled US-ASCII regexp
if given string is ASCII only.
  121.2s to 113.9s on my x86_64-freebsd10.2 Intel Core i5 661

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-02 17:38:00 +00:00
naruse 21daa56b2a * re.c: Introduce RREGEXP_PTR.
patch by dbussink.
  partially merge https://github.com/ruby/ruby/pull/497

* include/ruby/ruby.h: ditto.

* gc.c: ditto.

* ext/strscan/strscan.c: ditto.

* parse.y: ditto.

* string.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53715 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-02 04:39:44 +00:00
nobu 120c23edad ChangeLog: reword
* ChangeLog: reword "affect" as it is a verb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-02 03:53:01 +00:00
hsbt 4e8b8c10dd * lib/rubygems/specification.rb: `coding` is affect only first line except
shebang.
* lib/rubygems/package.rb, lib/rubygems/package/*: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53712 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-02 00:11:34 +00:00
hsbt a21d403f21 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.5.2.
It supports to enable frozen string literal and add `--norc` option for
  disable to `.gemrc` configuration.
  See 2.5.2 release notes for other fixes and enhancements.
  a8aa3bac72/History.txt (L3)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53707 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-01 12:43:26 +00:00
nobu c2e998d6a3 additional math operations
* test/drb/ut_large.rb (multiply, avg, median): add additional
  math operations to DRbLarge.  [Fix GH-1086]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53701 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-31 03:34:21 +00:00
nobu 8b9cd1dbb2 test for File#lstat.
* test/ruby/test_file_exhaustive.rb (test_lstat): Add lacking test
  for File#lstat.  [Fix GH-1231]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53700 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-31 03:20:22 +00:00
nobu 9286266137 standard_library.rdoc: fix typo [ci skip]
* doc/standard_library.rdoc: fix typo  [Fix GH-1230]
  Spelling mistakes -
  outputing > outputting
  publich > publish

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-31 03:16:40 +00:00
nobu 6ee8ec7069 vm_eval.c: fix hook call
* vm_eval.c (rb_check_funcall_with_hook): also should call the
  given hook before returning Qundef when overridden respond_to?
  method returned false.  [ruby-core:73556] [Bug #12030]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53695 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-30 06:19:13 +00:00
nobu ec943ac668 win32/file.c: drop garbage
* win32/file.c (rb_readlink): drop garbage after the substitute
  name, as rb_w32_read_reparse_point returns the expected buffer
  size but "\??\" prefix is dropped from the result.
* win32/win32.c (w32_readlink): ditto, including NUL-terminator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-29 08:41:10 +00:00
usa 47f6196cf0 * win32/win32.c (fileattr_to_unixmode, rb_w32_reparse_symlink_p): volume
mount point should be treated as directory, not symlink.
  [ruby-core:72483] [Bug #11874]

* win32/win32.c (rb_w32_read_reparse_point): check the reparse point is
  a volume mount point or not.

* win32/file.c (rb_readlink): follow above change (but this pass won't
  be used).


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53688 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-29 08:13:42 +00:00
kazu c0b13e292f fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53687 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-29 08:01:01 +00:00
nobu 93eb95f0b9 Rename parameter name
* enum.c (enum_take_while, enum_drop_while): rename block
  parameter to obj, since they are generic objects.  [Fix GH-1226]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53686 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-29 07:18:10 +00:00
nobu 4f8245b703 erb.rb: fronzen-string-literal in comment [Fix GH-1229]
* lib/erb.rb (ERB::Compiler#detect_magic_comment): allow
  fronzen-string-literal in comment as well as encoding.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-29 05:16:29 +00:00
nobu 708a982cb4 erb.rb: duplicated magic comments [Fix GH-1229]
* lib/erb.rb (ERB#def_method): insert def line just before the
  first non-comment and non-empty line, not to leave duplicated
  and stale magic comments.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-29 05:14:31 +00:00
nobu c55ad90a6e erb.rb: frozen-string-literal safe
* lib/erb.rb (ERB#set_eoutvar): explicitly make mutable string as
  a buffer to make ERB work with --enable-frozen-string-literal.
  [ruby-core:73561] [Bug #12031]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53682 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-29 02:14:36 +00:00
hsbt 809d3770e6 * lib/net/http/header.rb: Warn nil variable on HTTP Header.
It caused to NoMethodError. [fix GH-952][fix GH-641] Patch by @teosz
* test/net/http/test_httpheader.rb: Added test for nil HTTP Header.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53679 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-29 01:46:02 +00:00
nobu 173e287ff9 socket.c: unlimited size hostname
* ext/socket/socket.c (sock_gethostname): support unlimited size
  hostname.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-28 08:32:44 +00:00
svn b6e761e647 * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53675 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-27 12:04:48 +00:00
hsbt b7b5692aea * test/-ext-/string/test_capacity.rb: Added missing library.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53674 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-27 12:04:47 +00:00
duerst a7c987968d * enc/unicode.c: Fixed bit mask in macro OnigCodePointCount
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53670 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-27 09:54:38 +00:00
duerst 415949faba * enc/unicode.c: Protect code point count by macro, in order to
be able to use the remaining bits for flags.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53669 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-27 08:55:40 +00:00
nobu 75687e0aff Fix doc with default value with GH-523
* lib/tempfile.rb (Tempfile#initialize): [DOC] the first parameter
  `basename` is optional and defaulted to an empty string since
  [GH-523].  [Fix GH-1225]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53668 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-27 07:35:34 +00:00
nobu 4df168074c Fix a Ruby-Doc comment for Array#dig
* array.c (rb_ary_dig): [DOC] fix the exception class to be raised
  when intermediate object does not have dig method.  TypeError
  will be raised now.  [Fix GH-1224]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-27 07:26:53 +00:00
kazu d0128a699a fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53661 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-26 10:39:50 +00:00
nobu 7cf2a0a1b9 array.c: reword [ci skip]
* array.c (permute0, rpermute0): [DOC] Substitute indexes ->
  indices in documentation for consistency.  [Fix GH-1222]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53660 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-26 10:37:12 +00:00
normal 1282a4a895 fstring early for internal iseq
All of the strings created here eventually get converted to
fstrings when they are frozen into the iseq.  Prepare the
fstring early so we may reduce a one or two objects.

This is a very minor change, mainly for the '<main>' dedupe.

* compile.c (caller_location): use rb_fstring_cstr for "<compiled>"
  (it is converted to fstring anyways inside rb_iseq_new_with_opt)
* iseq.c (iseqw_s_compile): ditto
* iseq.c (rb_iseq_new_main): use rb_fstring_cstr for "<main>"
* vm.c (Init_VM): ditto, share with with above
* iseq.c (iseqw_s_compile_file): rb_fstring before rb_io_t->pathv
  share "<main>" with above
* vm.c (rb_binding_add_dynavars): fstring "<temp>" immediately

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53659 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-26 06:23:47 +00:00
nobu f4ca0739ec compile.c: fix tailcall optimization
* compile.c (iseq_peephole_optimize): don't apply tailcall
  optimization to send/invokesuper instructions with blockiseq.
  This is a follow-up to the changes in r51903; blockiseq is now
  the third operand of send/invokesuper instructions.
  [ruby-core:73413] [Bug #12018]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53658 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-26 06:14:59 +00:00
normal 667c0a3a8c Signal.list deduplicates keys
This allows us to reuse string objects used in symbols as well
as any string representations of signal names in source code.

* signal.c (sig_list): use fstring for hash key
* test/ruby/test_signal.rb (test_signal_list_dedupe_keys): added

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53657 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-26 05:33:28 +00:00
nobu a52be8fb8f signal.c: reserved signals
* signal.c (rb_f_kill): should immediately deliver reserved
  signals SIGILL and SIGFPE, ont only SIGSEGV and SIGBUS.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53656 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-26 04:09:31 +00:00
nobu 4378bd6628 Macro typo
* gc.c (RVALUE_PAGE_WB_UNPROTECTED): fix a typo of argument name.
  [Fix GH-1221]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53654 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 22:58:25 +00:00
normal afa7c15d6e fix build with VM_CHECK_MODE > 0
* ruby_assert.h (RUBY_ASSERT_WHEN): fix reference to macro name
* vm_core.h: include ruby_assert.h before using
  [ruby-core:73371]

This does not fix the test failure documented in [ruby-core:73371],
that is for later.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53653 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 08:34:00 +00:00
nobu dfca38eaa2 symbol.c: more informative error message
* symbol.c (sym_check_asciionly): more informative error message
  with the encoding name and the inspected content.
  [ruby-core:73398] [Feature #12016]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 06:56:26 +00:00
hsbt 390f087d87 * test/ruby/test_string.rb: added testcase for next!, succ and succ!
[fix GH-1213] Patch by @K0mAtoru

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53649 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 00:39:26 +00:00
hsbt 65793c9c17 * lib/webrick/httpservlet/filehandler.rb: fix documentation for namespace.
[fix GH-1219][ci skip] Patch by @leafac

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-25 00:33:17 +00:00
normal 0feaa041e7 vm_insnhelper.c (vm_check_if_namespace): tiny size reduction
Take advantage of "%+" modifier in the format string instead of
explicitly calling rb_inspect to reduce object size.

On x86 32-bit:

           text    data     bss     dec     hex filename
before: 2949572   12448   30680 2992700  2daa3c miniruby
after:  2949464   12448   30680 2992592  2da9d0 miniruby

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-24 10:36:16 +00:00
duerst 615d99b7e7 * common.mk: Simplifying Unicode data file download logic to make
it more reliable (including additional fix not in r53633) [Bug #12007]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53643 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-24 09:13:30 +00:00
nobu b58fac9a97 wait readable/writable
* ext/io/wait/wait.c (io_wait_readwrite): [EXPERIMENTAL] allow to
  wait for multiple modes, readable and writable, at once.  the
  arguments may change in the future.  [Feature #12013]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53642 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-24 07:55:05 +00:00
nobu be8b517f52 Add test for Array#keep_if
* test/ruby/test_array.rb (test_keep_if): Add test for
  Array#keep_if separate from Array#select!  [Fix GH-1218]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53639 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 13:31:51 +00:00
hsbt 4bfda5d951 * common.mk: revert r53633. It broke rubyci and travis.
https://travis-ci.org/ruby/ruby/builds/104259623

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 11:55:32 +00:00
shugo a0019b27e6 fix typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 11:19:22 +00:00
shugo 62b750bb55 * range.c (range_eqq): revert r11113 because rb_call_super() is
called in range_include() and thus r11113 doesn't work when the
  receiver Range object consists of non linear objects such as Date
  objects.
  [ruby-core:72908] [Bug #12003]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 11:16:09 +00:00
duerst 387e838c02 ChangeLog: Fixing wrong time on previous commit, and adding
previous commit message to svn [ci skip]

The message on the previous commit should have read:
common.mk: Simplifying Unicode data file download logic to make
it more reliable [Bug #12007]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 09:38:50 +00:00
duerst 0d3d8a8cda git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e 2016-01-23 09:32:44 +00:00
duerst 39988ff0ac * tool/downloader.rb: Fixed a logical error, improved documentation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53631 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 07:30:32 +00:00
kazu 9608176fad fix a typo [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53630 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 05:19:42 +00:00
nobu a3f4fcb45c Use SVG Travis badge over PNG
* README.md: Use SVG Travis badge over PNG for better quality and
  devise support.  [Fix GH-1214] [Fix GH-1216]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 02:43:34 +00:00
nobu ba5a40fe7d Update documentation of CSV header converter
* lib/csv.rb: Update documentation of CSV header converter for
  r45498, [GH-575].  [Fix GH-1215]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-23 02:30:07 +00:00
nobu 4a01021002 vm_core.h: use RUBY_ASSERT
* vm_core.h (VM_ASSERT): use RUBY_ASSERT instead of rb_bug.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 08:37:36 +00:00
nobu 439224a590 RUBY_ASSERT
* error.c (rb_assert_failure): assertion with stack dump.
* ruby_assert.h (RUBY_ASSERT): new header for the assertion.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53615 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-22 08:33:55 +00:00
naruse 782fd488d7 * regparse.c (fetch_name_with_level): allow non word characters
at the first character.  [Feature #11949]

* regparse.c (fetch_name): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53610 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-21 16:09:09 +00:00
naruse 826f2ee306 * marshal.c (r_object0): honor Marshal.load post proc
value for TYPE_LINK.  by Hiroshi Nakamura <nahi@ruby-lang.org>
  https://github.com/ruby/ruby/pull/1204 fix GH-1204

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-21 08:36:01 +00:00
naruse 89ee8a557e * Makefile.in (update-rubyspec): fix r53208 like r53451.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53607 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-21 07:40:17 +00:00
usa c3944b2d1f * ChangeLog: typo.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53603 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-20 12:09:39 +00:00
usa 28efd93e18 * common.mk, Makefile.in: update-config.files is only for Unix
platforms.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53602 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-20 12:00:14 +00:00
nobu 131f699d98 ChangeLog: fix commit log of r53599
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-20 08:16:39 +00:00
nobu c23cb3adbe extlibs.rb: add --cache option
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-20 08:14:24 +00:00
duerst 3dcdb2c3b7 * common.mk: Added Unicode data file CaseFolding.txt to be additionally
downloaded (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-19 08:04:21 +00:00
sho-h d4ad4d2db7 * lib/shell.rb (Shell.debug_output_exclusive_unlock): remove
because Mutex#exclusive_unlock was already deleted. [fix GH-1185]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-19 02:03:50 +00:00
hsbt 389a84fdbf * vm_method.c: fix grammar in respond_to? warning.
[fix GH-1047]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-19 00:39:12 +00:00
nobu 45acdf4df4 parse.y: escaped newline in dedenting heredoc
* parse.y (parser_here_document): an escaped newline is not an
  actual newline, and the rest part should not be dedented.
  [ruby-core:72855] [Bug #11989]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-18 05:37:48 +00:00
hsbt c626cb6904 * test/ruby/test_string.rb: Added extra testcase for test_rstrip_bang
and test_lstrip_bang. [fix GH-1178] Patch by @Matrixbirds

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53572 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-18 03:05:20 +00:00
hsbt 4c6713f374 * string.c: fix a typo. [fix GH-1202][ci skip] Patch by @sunboshan
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53571 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-18 02:48:24 +00:00
naruse 9bed6e8e8e * configure.in: improve ICC (Intel C Compiler) support.
* configure.in (CXX): The name of icc's c++ compiler is `icpc`.

* configure.in (warnings): Add `-diag-disable=2259` to suppress
  noisy warnings: "non-pointer conversion from "..." to "..." may
  lose significant bits".

* configure.in (optflags): Add `-fp-model precise` like -fno-fast-math.

* lib/mkmf.rb: icc supports -Werror=division-by-zero
  and -Werror=deprecated-declarations, but doesn't support
  -Wdivision-by-zero and -Wdeprecated-declarations.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53566 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-17 12:20:15 +00:00
duerst e580847ce8 * string.c: Any kind of option is now taking the new code path for
upcase/downcase/capitalize/swapcase. :lithuanian can be used for
  testing if no specific option is desired.
* test/ruby/enc/test_case_mapping.rb: Adjusted to above.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-17 11:40:46 +00:00
duerst f307d1fe21 * enc/unicode.c: Fixed a logical error and some comments.
* test/ruby/enc/test_case_mapping.rb: Made tests more general.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53564 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-17 11:10:45 +00:00
duerst 959bbb6f72 * enc/unicode.c: Removed artificial expansion for Turkic,
added hand-coded support for Turkic, fixed logic for swapcase.
* string.c: Made use of new case mapping code possible from upcase,
  capitalize, and swapcase (with :lithuanian as a guard).
* test/ruby/enc/test_case_mapping.rb: Adjusted for above.
  (with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53562 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-17 08:42:16 +00:00
nobu 0bc5341690 option.c: single byte boolean
* ext/socket/option.c (sockopt_bool): relax boolean size to be one
  too not only sizeof(int).  Winsock getsockopt() returns a single
  byte as a boolean socket option.  [ruby-core:72730] [Bug #11958]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53561 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-17 06:31:36 +00:00
nobu f918d2b8e2 Add a test case for ENV#select_bang,keep_if
* test/ruby/test_env.rb: [Fix GH-1201]
  * Extract test code for ENV#keep_if from ENV#select_bang
  * Add a test case for ENV#select_bang,keep_if

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-17 05:43:40 +00:00
nobu ddd40c73b6 Add a test case for ENV#reject_bang,delete_if
* test/ruby/test_env.rb: [Fix GH-1201]
  * Extract test code for ENV#delete_if from ENV#reject_bang
  * Add a test case for ENV#reject_bang,delete_if

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-17 05:43:04 +00:00
nobu b25ad0daaa option.c: make error messages consistent
* ext/socket/option.c (check_size): extract a macro to check
  binary data size, with a consistent message.
* ext/socket/option.c (sockopt_byte): fix error message,
  sizeof(int) differs from sizeof(unsigned char) in general.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53557 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-17 05:41:01 +00:00
kazu 361d51a7ee fix typos [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53556 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-16 14:53:06 +00:00
nobu c8348d0cfa parse.y: should not deent concatenated string
* parse.y (xstring): reset heredoc indent after dedenting,
  so that following string literal would not be dedented.
  [ruby-core:72857] [Bug #11990]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-16 12:16:59 +00:00
duerst c12af76763 * enc/unicode.c: Artificial mapping to test buffer expansion code.
* string.c: Fixed buffer expansion logic.
* test/ruby/enc/test_case_mapping.rb: Tests for above.
(with Kimihito Matsui)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53554 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-16 08:24:58 +00:00
hsbt d2076446ed * ext/openssl/lib/openssl/pkey.rb: Added 2048 bit DH parameter.
* test/openssl/test_pkey_dh.rb: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53553 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-16 07:51:24 +00:00
hsbt 219467abde * enc/unicode.c: fix implicit conversion error with clang. fixup r53548.
* string.c: ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53552 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-16 01:51:58 +00:00
hsbt 203e604f46 * common.mk: test-sample was changed to test-basic.
[Feature #11982][ruby-core:72823]
* basictest/runner.rb: ditto. rename from tool/rubytest.rb.
* basictest/test.rb: ditto. rename from sample/test.rb.
* defs/gmake.mk: picked from r53540
* sample/test.rb: backword compatibility for chkbuild.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-16 01:37:47 +00:00
duerst be897c2507 * string.c, enc/unicode.c: New code path as a preparation for Unicode-wide
case mapping. The code path is currently guarded by the :lithuanian
  option to avoid accidental problems in daily use.
* test/ruby/enc/test_case_mapping.rb: Test for above.
* string.c: function 'check_case_options': fixed logical errors

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53548 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-16 01:24:03 +00:00
ngoto 5df321fb1d * regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): The value of
UNALIGNED_WORD_ACCESS should be used to determine whether
  unaligned word access is allowed or not. After this commit,
  ./configure CPPFLAGS="-DUNALIGNED_WORD_ACCESS=0" disables
  unaligned word access even on platforms that support the feature.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53543 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-15 11:25:29 +00:00
naruse e0ea641755 Revert "* common.mk: test-sample was changed to test-basic."
This reverts r53537.
Fix chkbuild first.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53542 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-15 11:05:51 +00:00
nobu 0d75b7f99e parse.y: should not deent concatenated string
* parse.y (string1): reset heredoc indent fore each string leteral
  so that concatenated string would not be dedented.
  [ruby-core:72857] [Bug #11990]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-15 07:12:46 +00:00
hsbt 17238bce22 * common.mk: test-sample was changed to test-basic.
[Feature #11982][ruby-core:72823]
* basictest/runner.rb: ditto. rename from tool/rubytest.rb.
* basictest/test.rb: ditto. rename from sample/test.rb.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-15 00:25:46 +00:00
naruse aa90e3b859 * lib/uri/generic.rb (URI::Generic#to_s): change encoding to
UTF-8 as Ruby 2.2/ by Koichi ITO <koic.ito@gmail.com>
  https://github.com/ruby/ruby/pull/1188 fix GH-1188

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-14 11:20:24 +00:00
nobu 92e803c9c8 variable.c: matched backrefs only
* variable.c (rb_f_global_variables): add matched back references
  only, as well as defiend? operator.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-14 08:36:49 +00:00
nobu 1301d1f5bc sprintf.c: exact number
* sprintf.c (rb_str_format): format exact number more exactly.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-14 07:12:42 +00:00
hsbt 55cb1b5e70 * Remove 512-bit DH group. It's affected by LogJam Attack.
https://weakdh.org/
  [fix GH-1196][Bug #11968][ruby-core:72766]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-14 06:09:19 +00:00
nobu 7e825eeefc variable.c: $1..$9 in global_variables
* variable.c (rb_f_global_variables): add $1..$9 only if $~ is
  set.  fix the condition removed at r14014.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-14 02:45:03 +00:00
hsbt 7cb5b7dd23 * .travis.yml: removed commented-out code.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-13 08:22:18 +00:00
hsbt 6cea22b5d6 * .travis.yml: removed osx code. follow up with r53517
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-13 08:15:39 +00:00
nobu 22121544e1 iseq.c: mark parent iseq
* iseq.c (rb_iseq_mark): mark parent iseq to prevent dynamically
  generated iseq by eval from GC.  [ruby-core:72620] [Bug #11928]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-13 07:56:51 +00:00
normal 244916d43b resolve class name earlier and more consistently
This further avoids class name resolution issues which came
about due to relying on hash table ordering before r53376.

Pre-caching the class name when it is never used raises memory
use, but the overall gain from moving away from st still gives
us a small gain.  Reverting r53376 and this patch and testing with
"valgrind -v ./ruby -rrdoc -eexit" on x86 (32-bit) shows:

before:
    in use at exit: 1,662,239 bytes in 25,286 blocks
  total heap usage: 49,514 allocs, 24,228 frees, 6,005,561 bytes allocated

after, with this change:
    in use at exit: 1,646,529 bytes in 24,572 blocks
  total heap usage: 48,891 allocs, 24,319 frees, 6,003,921 bytes allocated

* class.c (Init_class_hierarchy): resolve name for rb_cObject ASAP
* object.c (rb_mod_const_set): move name resolution to rb_const_set
* variable.c (rb_const_set): do class resolution here
  [ruby-core:72807] [Bug #11977]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 19:26:07 +00:00
nobu 05f1caa1cf Fix typo [ci skip]
* man/ruby.1: fix double word typo.  [Fix GH-1194]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 15:37:42 +00:00
nobu 1b39a6e539 iseq.c: mark parents of wrapped iseq
* iseq.c (iseqw_mark): as wrapped iseq is isolated from the call
  stack, it needs to take care of its parent and ancestors, so
  that they do not become orphans.  [ruby-core:72620] [Bug #11928]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 15:17:19 +00:00
eregon 9efd4dbe73 * common.mk: update URL and name for the Ruby spec suite.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 12:05:41 +00:00
sorah 09cb46b921 correction to proper word
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 11:23:05 +00:00
sorah f425e0fc2b * lib/forwardable.rb: Convert given accessors to String.
r53381 changed to accept only Symbol or String for accessors, but
  there are several rubygems that pass classes (e.g. Array,
  Hash, ...) as accessors. Prior r53381, it was accepted because Class#to_s
  returns its class name. After r53381 given accessors are checked
  with define_method, but it accepts only Symbol or String, otherwise
  raises TypeError.

      def_delegator Foo, :some_method

  This change is to revert unwanted incompatibility. But this behavior
  may change in the future.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 11:19:25 +00:00
duerst 4a5d3572e6 string.c: made a variable name more grammatically correct
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 09:42:07 +00:00
duerst f23658f1c1 string.c: minor grammar fix [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 09:35:00 +00:00
duerst 92dc9e55be test/ruby/enc/test_casing_options.rb: Tests for option
parsing/checking for upcase/downcase/capitalize/swapcase
(see r53503; with Kimihito Matsui)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 07:09:35 +00:00
duerst 2788cd9849 string.c: Added option parsing/checking for upcase/downcase/
capitalize/swapcase (with Kimihito Matsui

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-12 07:03:31 +00:00
duerst eb86cd6b7b include/ruby/oniguruma.h: Added flags needed for upcase/downcase
Unicode addition (with Kimihito Matsui)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-11 12:28:55 +00:00
nobu c97c37a5ca configure.in: check API version
* configure.in: check if the API version number is consistent with
  the program version number.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-11 00:50:51 +00:00
nobu e6f6c77d1d compile.c: fix lhs splat in massign
* compile.c (compile_massign_lhs): when index ends with splat,
  append rhs value to it like POSTARG, since VM_CALL_ARGS_SPLAT
  splats the last argument only.  [ruby-core:72777] [Bug #11970]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10 11:57:51 +00:00
nobu 09bdb7913c missing.h: remove explicit_bzero_by_memset_s
* include/ruby/missing.h (explicit_bzero_by_memset_s): remove
  inline implementation by memset_s, which needs a macro before
  including headers and can cause problems in extension libraries
  by the order of the macro and headers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10 06:45:36 +00:00
normal 2b26565ebb io.c: remove obsolete rb_deferr global variable
This was made obsolete by r4190 back in July 2003.  Furthermore,
this existed less than 3 months as it was only introduced in
r3782.

So with absolutely no references to rb_deferr, I doubt any vim
plugin would care anymore.

ChangeLog: fixup indent of my previous commit, oops :X

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10 04:44:08 +00:00
normal 18ca559da7 ChangeLog: fixup indent for r53488
Oops :x

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10 04:43:41 +00:00
normal 778bbac8ac stdlib: avoid extra calls to eliminate "\n" from Base64
We may use the '0' (zero) to avoid adding the line feed.
Furthermore, the '*' (asterisk) modifier is not needed for
a single-element arrays.

* ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String):
  eliminate chomp
* lib/net/http.rb (connect): eliminate delete
* lib/net/http/header.rb (basic_encode): ditto
* lib/net/imap.rb (authenticate): eliminate gsub
  (self.encode_utf7): shorten delete arg
* lib/net/smtp.rb (base64_encode): eliminate gsub
* lib/open-uri.rb (OpenURI.open_http): eliminate delete
* lib/rss/rss.rb: ditto
* lib/securerandom.rb (base64): ditto
  (urlsafe_base64): eliminate delete!
* lib/webrick/httpauth/digestauth.rb (split_param_value):
  eliminate chop
* lib/webrick/httpproxy.rb (do_CONNECT): eliminate delete
  (setup_upstream_proxy_authentication): ditto
  [ruby-core:72666] [Feature #11938]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-10 00:35:43 +00:00
nobu 4b346b0e71 test_hash.rb: add test
* test/ruby/test_hash.rb (test_try_convert): Add test for
  Hash.try_convert.  [Fix GH-1190]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53487 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 14:19:38 +00:00
nobu fa8920288c openssl: fix examples [ci skip]
* ext/openssl/ossl.c: Add missing variables to documentation
  examples.  [Fix GH-1189]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 14:15:49 +00:00
nobu c79402c4f0 symbol.h: unexpected safe call
* symbol.h (is_attrset_id): ASET is an attrset ID.  fix
  unexpected safe call instead of an ordinary ASET.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 09:26:23 +00:00
nobu d43ef66b12 RUBY_PROGRAM_VERSION from RUBY_VERSION
* configure.in, win32/setup.mak: extract RUBY_PROGRAM_VERSION from
  RUBY_VERSION in version.h instead of RUBY_API_VERSION numbers in
  include/ruby/version.h, and cut it into version numbers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53477 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 01:44:56 +00:00
nobu bc8a7f9ab7 revert r53459, r53427, r53314
Revert "* tool/make-snapshot: fix for the changes of version.h in r53314."
Revert "* version.h (RUBY_BUILD_VERSION_STR_3): Workaround for old version of"
Revert "program version from API version"

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-09 00:19:16 +00:00
ko1 fca0cf6e6b * gc.c: rename PAGE_* to HEAP_PAGE_* because PAGE_SIZE is used
in Mac OS X.

* test/ruby/test_gc.rb: catch up this fix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53471 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 22:15:40 +00:00
ko1 1f1f3112dc * gc.c: PAGE_BITMAP_PLANES (the number of bitmap) is 4, not 3.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53470 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 20:46:36 +00:00
ko1 f8827cef6a * gc.c: rename constant names HEAP_* to PAGE_*.
Keys of GC::INTERNAL_CONSTANTS are also renamed.

* test/ruby/test_gc.rb: catch up this fix.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 20:45:02 +00:00
knu 066b825400 * doc/regexp.rdoc: [DOC] Elaborate on the \G anchor. [ci skip]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53467 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 13:34:52 +00:00
ko1 b6261054cd * gc.c: remove heap_page::body. Instead of this field,
heap_page::start field works well.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53466 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 10:56:27 +00:00
ko1 3ccafdb027 * gc.c: rename rb_heap_t::page_length to rb_heap_t::total_pages.
`page_length' is not clear (we may understand with length of
  a page).



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53464 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 10:34:14 +00:00
svn 98311146cc * remove trailing spaces.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53462 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 08:23:59 +00:00
ko1 e5e37c20c9 * gc.c: remove heap_page::heap. This field is only used to recognize
whether a page is in a tomb or not. Instead of this field,
  heap_page:🎏:in_tomb (1 bit field) is added.

  Also type of heap_page::(total|free|final)_slots are changed from
  int to short. 2B is enough for them.




git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 08:23:58 +00:00
shugo 1645833e03 * tool/make-snapshot: fix for the changes of version.h in r53314.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53459 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 03:35:06 +00:00
shugo 115163421a * iseq.c (rb_iseq_compile_with_option): move variable initialization
code to avoid maybe-uninitialized warnings by gcc 4.8.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53458 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-08 00:38:40 +00:00
shugo 3dcd4b2a98 * enum.c (enum_min, enum_max): do the same optimization as r53454.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53456 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 15:07:25 +00:00
mrkn 98e565ec78 * ruby.h: undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P
and HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P on C++.
  [ruby-core:72736] [Bug #11962]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53455 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 13:35:32 +00:00
shugo 9f44b77a18 * enum.c (enum_minmax): optimize object comparison in
Enumerable#minmax.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53454 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 13:06:23 +00:00
nobu 557a00f1aa thread.c: interrupt queue on uninitialized thread
* thread.c (rb_thread_pending_interrupt_p): no pending interrupt
  before initialization.
* thread.c (thread_raise_m, rb_thread_kill): uninitialized thread
  cannot interrupt.  [ruby-core:72732] [Bug #11959]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53449 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 05:49:31 +00:00
nobu 7aab062ef3 version.c: no exit in ruby_show_copyright
* include/ruby/backward.h (ruby_show_copyright_to_die): for source
  code backward compatibility.
* ruby.c (process_options): return Qtrue to exit the process
  successfully.
* version.c (ruby_show_copyright): no longer exit.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53446 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-07 02:34:33 +00:00
nobu 49684589cd optparse.rb: into kwdarg
* lib/optparse.rb (OptionParser#order!): add `into` optional
  keyword argument to store the results.  [Feature #11191]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53444 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-06 08:23:10 +00:00
hsbt 96acb6e3a1 * ChangeLog: fix wrong class name.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53442 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-05 12:44:56 +00:00
hsbt e2191d4ce6 * test/ruby/test_string.rb(test_chr): added test for String#chr
[fix GH-1179]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53441 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-05 12:44:55 +00:00
hsbt 2c62030c51 * test/ruby/test_numeric.rb (test_nonzero_p): added test for String#nonzero?
[fix GH-1187]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53440 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-05 12:32:43 +00:00
nobu b01c28eeb3 Clarify object references example
* doc/marshal.rdoc: Clarify object references example, that the
  reference is same object.  [Fix GH-1156]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53438 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-01-05 02:47:38 +00:00