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

57963 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada ad6cbc1d33
Unused LONG_MAX_as_double
LONG_MAX_as_double is not needed when long is small enough to be
exactly representable as a double, e.g., IL32LLP64 platforms.
2019-09-10 17:20:31 +09:00
卜部昌平 487d290044 oops
Silly typo.
2019-09-10 16:04:17 +09:00
Nobuyoshi Nakada df1721c668
Fixed GCC version for diagnostic-pragmas
"GCC diagnostic push/pop" seems appeared at gcc 4.6.
2019-09-10 14:37:17 +09:00
Masaki Matsushita f5024de002 Remove check of ai.protocol
Solaris 10 returns addrinfo.ai_protocol as 0, not 6.
2019-09-10 12:39:49 +09:00
卜部昌平 20e428ec40 fix CentOS 6 compile error
See also https://rubyci.org/logs/rubyci.s3.amazonaws.com/centos6/ruby-master/log/20190910T003005Z.fail.html.gz
2019-09-10 12:25:36 +09:00
Jeremy Evans 8d3db4f26c Default to cc/c++ instead of gcc/g++ on OpenBSD 2019-09-09 18:11:52 -07:00
Masaki Matsushita 0e9d56f5e7 Support timeout for Addrinfo
Addrinfo.getaddrinfo and .foreach now accepts :timeout in seconds as
a keyword argument. If getaddrinfo_a(3) is available, the timeout will be
applied for name resolution. Otherwise, it will be ignored.

Socket.tcp accepts :resolv_timeout to use this feature.

This commit is retry of 6382f5cc91.
Test was failed on Solaris machines which don't have "http" in
/etc/services. In this commit, use "ssh" instead.
2019-09-10 10:10:59 +09:00
Nobuyoshi Nakada 3678c37119 [ruby/io-console] Added IO#check_winsize_changed on Windows
https://github.com/ruby/io-console/commit/ee648fa8bb
2019-09-10 08:18:03 +09:00
Nobuyoshi Nakada 74790e2dc4 [ruby/io-console] Added scroll methods
https://github.com/ruby/io-console/commit/83e70de8ab
2019-09-10 08:18:03 +09:00
Nobuyoshi Nakada c1412bd6d9 [ruby/io-console] Added line/screen erase methods
https://github.com/ruby/io-console/commit/e6344108a1
2019-09-10 08:18:03 +09:00
Nobuyoshi Nakada 9844a349bf [ruby/io-console] Added IO#goto_column
https://github.com/ruby/io-console/commit/143a9d5764
2019-09-10 08:18:03 +09:00
Nobuyoshi Nakada e8be056af9 [ruby/io-console] Added relative cursor move methods
https://github.com/ruby/io-console/commit/21d340e4a2
2019-09-10 08:18:03 +09:00
Nobuyoshi Nakada 3d9c7c2835 [ruby/io-console] Added IO#goto and IO#cursor= for VT
https://github.com/ruby/io-console/commit/7f2b1b473d
2019-09-10 08:18:03 +09:00
Nobuyoshi Nakada 53ed4fb376 [ruby/io-console] Added IO#cursor for VT
https://github.com/ruby/io-console/commit/41a6a6cace
2019-09-10 08:18:03 +09:00
Nobuyoshi Nakada 803dc9e1e4 [ruby/io-console] Added console_vt_response
A function to query console info.

https://github.com/ruby/io-console/commit/db75a07fa3
2019-09-10 08:18:03 +09:00
Nobuyoshi Nakada f4aa06c0ff [ruby/io-console] Drop fat gem support
https://github.com/ruby/io-console/commit/972ceb081d
2019-09-10 08:18:03 +09:00
Jeremy Evans 00744a03d5 Update documentation for Exception [ci skip]
Mostly from burdettelamar@yahoo.com (Burdette Lamar).

Implements [Misc #16156]
2019-09-09 15:23:26 -07:00
Aaron Patterson d8a4af47a5
Only use `add_mark_object` in Ripper
This patch changes parse.y to only use `add_mark_object` in Ripper.
Previously we were seeing a bug in write barrier verification.  I had
changed `add_mark_object` to execute the write barrier, but the problem
is that we had code like this:

```
NEW_STR(add_mark_object(p, obj), loc)
```

In this case, `add_mark_object` would execute the write barrier between
the ast and `obj`, but the problem is that `obj` isn't actually
reachable from the AST at the time the write barrier executed.
`NEW_STR` can possibly call `malloc` which can kick a GC, and since
`obj` isn't actually reachable from the AST at the time of WB execution,
verification would fail.

Basically the steps were like this:

1. RB_OBJ_WRITTEN via `add_mark_object`
2. Allocate node
3. *Possibly* execute GC via malloc
4. Write obj in to allocated node

This patch changes the steps to:

1. Allocate node
2. *Possibly* execute GC via malloc
3. Write obj in to allocated node
4. RB_OBJ_WRITTEN
2019-09-09 14:26:57 -07:00
Aaron Patterson 4524780d17
Revert "Reverting node marking until I can fix GC problem."
This reverts commit 092f31e7e2.
2019-09-09 14:26:51 -07:00
git 9b53a69d57 * 2019-09-10 [ci skip] 2019-09-10 00:57:34 +09:00
Nobuyoshi Nakada 6d9e54816f Support multibyte input 2019-09-10 00:56:31 +09:00
Nobuyoshi Nakada 685f12bbca Use IO#getbyte 2019-09-10 00:56:31 +09:00
Nobuyoshi Nakada 805b0a4811 Use IO#getch to read one char in raw mode 2019-09-10 00:56:31 +09:00
卜部昌平 89c5d5a64e add minimaist C++ check
This is a test extension so we basically want test failures rather
than a configure breakage but if there is no C++ compiler, we need
no test at all because there will be no chance for the tested
header file to be used later.

This makes it possible to build the ruby binary without any C++
compiler installed in a build environment.
2019-09-09 21:27:40 +09:00
卜部昌平 150f514e19 workaround for C++ 98 const union problem.
Not the case of recent compilers, but compilers before C++11
rejected ruby.h, like https://ci.appveyor.com/project/ruby/ruby/builds/27225706/job/qjca7dpe204dytbd

This is supposedly because a struct with a member qualified with
a const effectively deletes its default copy constructor, which
is considered as being user-defined somehow.  Not sure where
exactly is the phrase in the C++98 standard who allows such C /
C++ incompatibility though.
2019-09-09 21:27:40 +09:00
卜部昌平 042c436cd9 static member variables must explictly be initialized
These variables then get their room for storage.

See also https://github.com/ruby/ruby/runs/214042030
2019-09-09 21:27:40 +09:00
卜部昌平 1364217bcd add missing dependency for .travis.yml 2019-09-09 21:27:40 +09:00
卜部昌平 92a8726994 Revert "save committers' weekend from CI failures"
This reverts commit 53d21087da.
2019-09-09 21:27:40 +09:00
Masaki Matsushita c4efbf663e Revert "Support timeout for Addrinfo"
This reverts commit 6382f5cc91.
test failed on Solaris.
2019-09-09 20:34:51 +09:00
Yusuke Endoh cce6cfbe48 Make test-all and test-spec runnable on Android
Calling some syscall functions such as Dir.chroot causes SIGSYS instead
of EPERM on Android.
This change skips all tests that stops the test-suite run.
2019-09-09 20:24:03 +09:00
Kazuhiro NISHIYAMA 0691a748b6
Fix a typo [ci skip] 2019-09-09 20:06:00 +09:00
Lars Kanis 551edf64bc Reline: Fix wrong variable name
This raised a NameError before.
2019-09-09 19:16:01 +09:00
Masaki Matsushita 8c09de38c5 Fix expected ip_port 2019-09-09 18:44:42 +09:00
Masaki Matsushita 0fb2457d79 Fix service name for test
change service name to fix failed test on Solaris
2019-09-09 18:35:19 +09:00
Masaki Matsushita 461663f52a Fix domain name for test 2019-09-09 15:05:38 +09:00
Jeremy Evans 61d90da25c Fix invalid keyword argument separation warning for delegating calls
This removes an invalid keyword argument separation warning for
code such as:

```ruby
def foo(arg)
  arg
end
kw = {}
foo(*[1], **kw)
```

This warning was caused because the remove_empty_keyword_hash
was set based on a comparison with two variables, and in this
case, one of the variables was updated after the check and we
need to use the updated variable.

Simplify things by just inlining the comparison.
2019-09-08 22:47:06 -07:00
Masaki Matsushita 6382f5cc91 Support timeout for Addrinfo
Addrinfo.getaddrinfo and .foreach now accepts :timeout in seconds as
a keyword argument. If getaddrinfo_a(3) is available, the timeout will be
applied for name resolution. Otherwise, it will be ignored.

Socket.tcp accepts :resolv_timeout to use this feature.
2019-09-09 14:34:05 +09:00
Jeremy Evans fa79219356 Add keyword argument separation tests for implicit/explicit super calls
No code changes are necessary, but we didn't have as extensive
tests for these calls previously.
2019-09-08 10:34:34 -07:00
git d636feb6a6 * 2019-09-09 [ci skip] 2019-09-09 00:27:05 +09:00
Nobuyoshi Nakada 8d53b2cdf8
Use target-specific variable instead of a conditional [ci skip]
And test-rubyspec is deprecated.
2019-09-09 00:21:54 +09:00
Nobuyoshi Nakada 3ef76ce44a
make-snapshot: -git option is no longer provided [ci skip] 2019-09-08 21:22:37 +09:00
Benoit Daloze b10940a839 Improve Proc#to_s specs 2019-09-08 12:41:14 +02:00
Nobuyoshi Nakada aedf6946a7
Removed useless braces to suppress a warning 2019-09-08 12:54:06 +09:00
aycabta e9bc8b35c6 Behave ESC key correctly when vi command mode 2019-09-08 03:26:35 +09:00
Yusuke Endoh 46bfe907f1 compile.c (compile_hash): rewrite keyword splat handling
and add some comments.
(I confirm that `foo(**{})` allocates no hash object.)
2019-09-08 03:17:04 +09:00
Yusuke Endoh 95297a15f1 compile.c (compile_hash): rewrite the compilation algorithm
This is a similar refactoring to 8c908c9890,
but the target is compile_hash.
2019-09-08 03:17:04 +09:00
aycabta 3568029823 Remove .document and .gitignore from file list of rdoc.gemspec 2019-09-08 03:07:45 +09:00
Yusuke Endoh 4f63634af1 compile.c (NODE_OP_ASGN1): Remove unneeded DECL_ANCHOR 2019-09-08 01:22:26 +09:00
Nobuyoshi Nakada 2d017d6126
make-snapshot: default to the toplevel directory
As this tool has been intended to use in a working directory,
assume that the toplevel directory is under the VCS, and SVN will
no longer be canonical.
2019-09-08 00:48:18 +09:00
Yusuke Endoh a3f5265fd1 parse.y: Use the correct alias for brace flag of hash literal
nd_alen and nd_brace is the same field, but nd_brace is more suitable
for this case.
2019-09-08 00:28:03 +09:00