45612 Commits

Author SHA1 Message Date
nobu
cd6d919373 pty/shl.rb: update [ci skip]
* sample/pty/shl.rb: leap exited child process.
  [ruby-dev:49974] [Bug #13191]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57537 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-05 01:26:27 +00:00
normal
a6b9b360ce doc: Add example for Symbol#to_s
* string.c: add example for Symbol#to_s.

The docs for Symbol#to_s only include an example for
Symbol#id2name, but not for #to_s which is an alias;
the docs should include examples for both methods.

From: Marcus Stollsteimer <sto.mar@web.de>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57536 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-05 00:22:03 +00:00
svn
559b51ff9c * 2017-02-05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57535 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 18:14:43 +00:00
naruse
68e10755d4 fix description for current implementation
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57534 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 18:14:42 +00:00
nobu
b163b3ff64 pty/shl.rb: update [ci skip]
* sample/pty/shl.rb: do not manage array length separately.
  [ruby-dev:49974] [Bug #13191]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57533 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 10:48:15 +00:00
nobu
69b6471104 pty/shl.rb: update [ci skip]
* sample/pty/shl.rb: use io/console instead of stty.
  [ruby-dev:49974] [Bug #13191]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 10:48:14 +00:00
nobu
0d98fd889f pty/shl.rb: update [ci skip]
* sample/pty/shl.rb: stop writer loop when the child exited.
  PTY::ChildExited no longer raises asynchronously since r20298.
  [ruby-dev:49974] [Bug #13191]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57531 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 10:48:13 +00:00
kazu
5b540799bf sample/pty/shl.rb: update sample
* Specify frozen_string_literal: true.
* Fix TypeError of raise.
* Use a character literal instead of Integer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57530 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 06:49:07 +00:00
kazu
af2009a58f sample/pty/script.rb: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57529 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 06:49:06 +00:00
kazu
2cc0461bfa sample/pty/expect_sample.rb: Update sample
* Fix regexp capture scope bug.
* Specify frozen_string_literal: true.
* Use passive mode.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 06:49:04 +00:00
kazu
411083a9a6 ext/pty: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 06:49:00 +00:00
nobu
d4502a6767 test/unit.rb: jobserver for workers
* test/lib/test/unit.rb (Test::Unit::Parallel#process_args):
  initialize @run_options to pass jobserver auth pipes to worker
  processes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57526 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 05:23:48 +00:00
nobu
1f23dd016b test/unit.rb: job tokens
* test/lib/test/unit.rb (_run_parallel): deal with job tokens for
  each workers.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 03:28:17 +00:00
nobu
36037442be test/unit.rb: initialize instance variable
* test/lib/test/unit.rb (Test::Unit::Parallel#non_options):
  initialize @jobserver instance variable to suppress warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 02:17:35 +00:00
nobu
fbdec8186e test_gem.rb: exclude default gems
* test/rubygems/test_gem.rb: check difference to exclude default
  gems from the expected results.  [Feature #13186]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-04 01:04:14 +00:00
normal
02887a56e5 doc: restore class documentation for Struct
* struct.c: restore class documentation for Struct
  that disappeared with r46663.

Due to r46663, the class documentation for Struct disappeared.
(The revision inserted the definition of `InitVM_Struct` between
the rdoc and the definition of `Init_Struct`.)

The docs are rendered for 2.1: <https://docs.ruby-lang.org/en/2.1.0/Struct.html>,
but not for later versions, see: <https://docs.ruby-lang.org/en/2.2.0/Struct.html>
(Same for `ri` pages).

[ruby-core:79416] [Bug #13189]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 23:58:18 +00:00
normal
b0cfa46bce symbol.c (rb_id2str): eliminate branch to set class
Since the fstring table encompasses all strings in the
symbol table, we may reuse the fstring table walk to set
the class and eliminate the branch in rb_id2str.

* string.c (Init_String): use rb_cString immediately after definition
* symbol.c (rb_id2str): eliminate branch to set class

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57521 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 23:55:06 +00:00
nobu
257bf9c0d0 ruby.h: unused parameter
* include/ruby/ruby.h (rb_scan_args_set): remove unused parameter
  for more pedantic extension libraries.
  [ruby-core:79399] [Feature #13184]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57520 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 23:50:41 +00:00
normal
0e9878811d .gitignore: add ext/rbconfig/sizeof/limits.c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57519 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 23:40:59 +00:00
normal
bd09f79042 ext/rbconfig/sizeof: add limits.c to svn:ignore
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 23:40:05 +00:00
normal
90fdfec11a doc: Fix error for escape sequences in string literals
Backslash goes first in escape sequences, so it must be
"any other character following a backslash is interpreted as ...",
while the doc says "...followed by...".

Author: Marcus Stollsteimer <sto.mar@web.de>
[ruby-core:79418] [Bug #13190]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57517 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 23:34:48 +00:00
svn
d1d79f170d * 2017-02-04
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57516 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 18:25:29 +00:00
marcandre
4d7b999c77 lib/ostruct.rb: Fix returned value of each_pair.
From a patch by Marcus Stollsteimer. [Fixes #13169]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57515 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 18:25:28 +00:00
nobu
0fe47fad55 test/unit.rb: share job slots
* test/lib/test/unit.rb (Test::Unit::Parallel#_run_parallel):
  share job slots with GNU 'make'.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57514 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 12:52:09 +00:00
nobu
953093e2a4 test/unit.rb: job testing flag
* test/lib/test/unit.rb (Parallel#non_options): split testing flag
  and job count by OptionParser.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57513 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 12:52:08 +00:00
hsbt
367acdaa30 Added initial gemspec for zlib module.
[Feature #13186]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 12:39:04 +00:00
nobu
bb3d794929 ensured.c: fix conflict
* ext/-test-/exception/ensured.c (exc_raise): get rid of conflict
  with raise(2) in the standard.  [ruby-core:79371] [Bug #13176]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 06:48:02 +00:00
nobu
2aaca10505 eval.c: hide internal objects
* eval.c (rb_ensure): veil internal exception objects not to leak
  in ensure functions.  [ruby-core:79371] [Bug #13176]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57510 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 06:23:34 +00:00
nobu
c2a6adc5fb internal.h: fix r57507
* internal.h (rb_overflowed_fix_to_int): invert sign bit.  should
  not set LSB of fixnum value, which is always set, to MSB.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57509 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-03 06:11:32 +00:00
normal
0db6b623a6 io.c: remove rb_ensure usage for rb_str_tmp_frozen_* calls
Using rb_ensure pessimizes the common case and makes the code
more difficult to read and follow.  If we hit an exceptions
during write, just let the GC handle cleanup as the exception
is already bad for garbage.

* io.c (io_fwrite): call rb_str_tmp_frozen{acquire,release} directly
  (rb_io_syswrite): ditto
  (fwrite_do, fwrite_end, swrite_do, swrite_end): remove

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 18:59:40 +00:00
naruse
c0837cb73a fix typo and argument of r57506
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57507 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 17:07:28 +00:00
naruse
038ccbd112 Use carry flag to reduce instructions
NOTE:
(1) Fixnum's LSB is always 1.
    It means you can always run `x - 1` without overflow.
(2) Of course `z = x + (y-1)` may overflow.
    Now z's LSB is always 1, and the MSB of true result is also 1.
    You can get true result in long as `(1<<63)|(z>>1)`,
    and it equals to `(z<<63)|(z>>1)` == `ror(z)`.

GCC and Clang have __builtin_add_ovewflow:
* https://gcc.gnu.org/onlinedocs/gcc/Integer-Overflow-Builtins.html
* https://clang.llvm.org/docs/LanguageExtensions.html#checked-arithmetic-builtins

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 15:54:51 +00:00
svn
b36f5ba197 * 2017-02-03
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57505 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 15:12:30 +00:00
kazu
5eb5afb67a ext/fcntl: Specify frozen_string_literal: true.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 15:12:29 +00:00
kazu
14ccf1262a Add class name to assert messages
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57503 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 12:38:41 +00:00
hsbt
c3d27b5979 Added initial gemspec for Date module.
[Feature #13183]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57502 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 08:38:54 +00:00
nobu
c373866444 escape.c: check argument
* ext/cgi/escape/escape.c (optimized_unescape): check
  accept_charset encoding argument.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 08:02:36 +00:00
hsbt
ffcb389d68 Added initial gemspec for CMath module.
[Feature #13182]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 07:49:19 +00:00
nobu
7d0d0d5864 test_cgi_util.rb: encoding tests
* test/cgi/test_cgi_util.rb (test_cgi_unescape): \u is useless on
  old versions.

* test/cgi/test_cgi_util.rb (test_cgi_include_unescape): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 07:03:59 +00:00
nobu
c4770f1a10 compile.c: restore catch entry sp
* compile.c (iseq_build_from_ary_exception): restore stack depth
  of catch entries.  accurate stack depths cannot be calculated
  from dumped array.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 05:56:06 +00:00
nobu
4de496034d compile.c: restore misc params
* compile.c (rb_iseq_build_from_ary): restore misc params.
  accurate stack depths cannot be calculated from dumped array.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 05:45:22 +00:00
nobu
6bff3ce394 compile.c: keyword table for required kwarg
* compile.c (iseq_build_kw): keyword table is necessary also when
  required keyword argumetns only.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 05:45:21 +00:00
nobu
57b6d6032c test_iseq_load.rb: refine test_require_integration
* test/-ext-/iseq_load/test_iseq_load.rb (test_require_integration):
  assert with diff.

[ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57495 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-02 05:43:58 +00:00
nobu
ab6a38c9e5 test_time.rb: use UTC
* test/ruby/test_time.rb (test_strftime_no_hidden_garbage): fix
  failure due to timezone offset.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57494 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-01 22:18:28 +00:00
svn
991a57b160 * 2017-02-02
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57493 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-01 22:14:23 +00:00
nobu
1a0eaede42 test_queue.rb: fix portability
* test/thread/test_queue.rb (test_queue_with_trap): fix
  portability.  use SIGINT instead of SIGUSR2 which is supported
  on not all platforms.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-01 22:14:22 +00:00
hsbt
8395d5a7c3 Prepare to make CSV module to default gem.
* lib/csv.gemspec: initial gemspec for csv gem.
  * tool/rbinstall.rb: support gemspec located under lib direcotry like `lib/foo.gemspec`

  [Feature #13177]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57491 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-01 09:12:53 +00:00
nobu
a106278e54 configure.in: use AC_SEARCH_LIBS
* configure.in (--with-gmp, --with-jemalloc): use AC_SEARCH_LIBS
  to check if no library is required, instead of AC_CHECK_LIB.
  [ruby-core:79368] [Bug #13175]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57490 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-01 07:40:58 +00:00
nobu
c2310e8598 common.mk: remove explicit MFLAGS
It is unnecessary to pass MFLAGS to sub-makes, because it is
evaluated implicitly if set by make.  GNU make 4.2 sets both of
-jN and --jobserver-auth (or --jobserver-fds in older versions)
options which conflict.  And it is useless for command line macros
since Microsoft NMAKE does not set them.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57489 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-01 04:54:04 +00:00
nobu
e704fc8280 win32/setup.mak: reorder
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@57488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-02-01 04:54:03 +00:00