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

58827 Коммитов

Автор SHA1 Сообщение Дата
Yusuke Endoh 5f6fbf8725 spec: Fix syntax errors
Follow up of 473882e01f
2019-10-31 17:11:23 +09:00
Hiroshi SHIBATA 473882e01f
Skip tainted examples for stringio 2019-10-31 16:50:00 +09:00
Jeremy Evans ebc884461b
[ruby/stringio] Remove taint support
Ruby 2.7 deprecates taint and it no longer has an effect.
The lack of taint support should not cause a problem in
previous Ruby versions.

https://github.com/ruby/stringio/commit/60ee9ccd95
2019-10-31 16:24:02 +09:00
Jeremy Evans 3895e548bd [ruby/date] Revert "Simplify #inspect"
This reverts commit af01edd7d8575f544f647dbe8cde5b6ae535d459.

Revert requested by Yui Naruse.

https://github.com/ruby/date/commit/875d563557
2019-10-31 15:51:30 +09:00
glaszig fce940aac7 [ruby/date] introduce Date::Error, raise Date::Error for every
"invalid <anything>" type of exception

https://github.com/ruby/date/commit/3e55c09ba4
2019-10-31 15:51:25 +09:00
Jeremy Evans e4cd0d7287 [ruby/fileutils] Remove use of untaint on Ruby 2.7 to avoid deprecation warnings
https://github.com/ruby/fileutils/commit/5ac9a8a1f7
2019-10-31 15:41:46 +09:00
Hiroshi SHIBATA 39281d5774
[ruby/gdbm] Use Gemfile instead of Gem::Specification#add_development_dependency.
https://github.com/ruby/gdbm/commit/bd2e7f6647
2019-10-31 15:34:01 +09:00
Jeremy Evans b93ab7d693
[ruby/gdbm] Remove taint support
Ruby 2.7 deprecates taint and it no longer has an effect.
The lack of taint support should not cause a problem in
previous Ruby versions.

https://github.com/ruby/gdbm/commit/f9aaa1a08d
2019-10-31 15:34:01 +09:00
Jeremy Evans 290903dba0
[ruby/zlib] Remove taint support
Ruby 2.7 deprecates taint and it no longer has an effect.
The lack of taint support should not cause a problem in
previous Ruby versions.

https://github.com/ruby/zlib/commit/21711ed0ce
2019-10-31 15:34:01 +09:00
Martin Dürst bc7fbb6f02 Mention update to Unicode Emoji version 12.1 in NEWS.
Also fixed some grammatical errors. [ci skip]
2019-10-31 15:19:59 +09:00
Hiroshi SHIBATA c38ba75780
Fixed the sync task for json
* Ignode to change ext/json/depend
  * Fixed to ignore json_pure files
2019-10-31 10:19:57 +09:00
Aaron Patterson 79d96b42df
Revert "Fix zero free objects assertion"
This reverts commit e1bf29314f.

I'm not sure why this broke stuff, I need to investigate later.
2019-10-30 18:05:32 -07:00
Aaron Patterson e1bf29314f
Fix zero free objects assertion
This commit is to attempt fixing this error:

  http://ci.rvm.jp/results/trunk-gc-asserts@ruby-sky1/2353281

Each non-full heap_page struct contains a reference to the next page
that contains free slots.  Compaction could fill any page, including
pages that happen to be linked to as "pages which contain free slots".

To fix this, we'll iterate each page, and rebuild the "free page list"
depending on the number of actual free slots on that page.  If there are
no free slots on the page, we'll set the free_next pointer to NULL.

Finally we'll pop one page off the "free page list" and set it as the
"using page" for the next allocation.
2019-10-30 17:28:55 -07:00
Hiroshi SHIBATA e08f2e47e3 Also ignore mswin platform 2019-10-31 08:39:48 +09:00
Hiroshi SHIBATA 8540efd342 Ignore test_racc_command with linux platform 2019-10-31 08:39:48 +09:00
Hiroshi SHIBATA 1c03026ea3 Try to run assert_output_unchanged with racc tests 2019-10-31 08:39:48 +09:00
git 5f8795a07b * 2019-10-31 [ci skip] 2019-10-31 00:38:16 +09:00
Alan Wu 4c7f789e94 Allow only one argument for keyword_init struct
```
irb(main):001:0> RUBY_VERSION
=> "2.6.5"
irb(main):002:0> S = Struct.new(:foo, keyword_init: true)
=> S(keyword_init: true)
irb(main):003:0> S.new({foo: 23424}, 234) # I don't think this is intentional
=> #<struct S foo=23424>
irb(main):004:0>
```

Tightening this up should inform users when they are confused about
whether a struct is `keyword_init`.
2019-10-31 00:37:53 +09:00
Hiroshi SHIBATA 6c3ed0d71c
Update the latest versions from upstream repository of racc 2019-10-30 21:36:59 +09:00
Hiroshi SHIBATA e6d611ad37
Regenerate the output results for test fixtures of racc 2019-10-30 21:02:07 +09:00
Hiroshi SHIBATA d3272fcba3
Update the latest structure for racc upstream 2019-10-30 21:00:01 +09:00
Martin Dürst c54635c08b Update Unicode Emoji version from 12.0 to 12.1.
This update does not add any new codepoint assignments, it just
expands the range of emoji codepoint sequences recommended for
public interchange.

Depending on how emoji data files are cached, this commit may
require manual intervention in some build environments
(including some CI systems).
2019-10-30 08:25:45 +09:00
git 92c13380e8 * 2019-10-30 [ci skip] 2019-10-30 00:14:03 +09:00
Aaron Patterson 22dbbbeb32
Compacting the heap can cause GC, so disable it
When we compact the heap, various st tables are updated, particularly
the table that contains the object id map.  Updating an st table can
cause a GC to occur, and we need to prevent any GC from happening while
moving or updating references.
2019-10-29 08:13:38 -07:00
Nobuyoshi Nakada fee5cde00b
Fix tests for CVE-2018-6914
Since the current working directory is not involved in `Tempfile`
and `Dir.mktmpdir` (except for the last resort), it is incorrect
to derive the traversal path from it.  Also, since the rubyspec
temporary directory is created under the build directory, this is
not involved in the target method.  Fixed sporadic errors in
test-spec.
2019-10-29 22:40:41 +09:00
Nobuyoshi Nakada ad4da86669
Check for nonnull attribute in configure 2019-10-29 16:38:15 +09:00
卜部昌平 9195ed18ca Revert "Check for nonnull attribute in configure"
This reverts commit 54eb51d72b.

Windows build failure. See also https://github.com/ruby/ruby/runs/278718805
2019-10-29 16:05:39 +09:00
Yusuke Endoh 7bf51ced55 test/rubygems/test_gem.rb: early failure when there is /tmp/Gemfile
Some test cases in rubygems assume that /tmp/Gemfile does not exist.
If it does, they fail with very difficult-to-understand message:

```
[ 149/2108] TestGemBundlerVersionFinder#test_bundler_version_with_bundle_update_bundler = 0.00
  1) Failure:
TestGemBundlerVersionFinder#test_bundler_version_with_bundle_update_bundler [/home/mame/work/ruby/test/rubygems/test_gem_bundler_version_finder.rb:38]:
Expected Gem::Version.new("2.0.2") to be nil.
```

I spent one hour to debug this issue.  To prevent the same accident,
this change makes the test suite stop when /tmp/Gemfile explicitly.
2019-10-29 14:40:26 +09:00
Yusuke Endoh 79a7fd9120 Revert "Revert "[ruby/rdoc] Use omit of test-unit instead of skip of minitest""
This reverts commit ca5812fe45.

Now tool/lib/minitest provides "omit", so it should work.
2019-10-29 13:16:31 +09:00
Yusuke Endoh 1820aeeeb2 tool/lib/minitest/unit.rb: add "omit" as an alias to "skip"
According to rdoc, test-unit provides omit instead of skip.
This is a compatibility layer to make it work with both test-unit and
tool/lib/minitest.
2019-10-29 13:15:09 +09:00
Yusuke Endoh ca5812fe45 Revert "[ruby/rdoc] Use omit of test-unit instead of skip of minitest"
This reverts commit b4da6fc1c2.

`make test-all` uses minitest, which led to "undefined method `omit'"
2019-10-29 12:57:31 +09:00
aycabta 9525541d02 [ruby/rdoc] Use Dir.glob to convert short path of Dir.tmpdir to long path
https://github.com/ruby/rdoc/commit/ba16e44572
2019-10-29 12:34:44 +09:00
aycabta c8ce37d427 [ruby/rdoc] Support different drive latters in include paths
https://github.com/ruby/rdoc/commit/946d2592e2
2019-10-29 12:34:44 +09:00
aycabta b4da6fc1c2 [ruby/rdoc] Use omit of test-unit instead of skip of minitest
https://github.com/ruby/rdoc/commit/1c5bf2ae1d
2019-10-29 12:34:44 +09:00
Nobuyoshi Nakada 54eb51d72b
Check for nonnull attribute in configure 2019-10-29 12:12:07 +09:00
John Hawthorn b86e5c9fec Clang can also use C call cache
Previously this was restricted to only gcc because of the
GCC_VERSION_SINCE check (which explicitly excludes clang).

GCC 3.3.0 is quite old so I feel relatively safe assuming that all
reasonable versions of clang support this.
2019-10-29 12:07:44 +09:00
Lourens Naudé 85b88c1d89 Let the arrays for the singleton and instance method reflection helpers be initialized to the methods count 2019-10-29 11:32:46 +09:00
Lourens Naudé fecaa6e946 Let the backtrace array constructed in backtrace_collect be initialized with the size already given 2019-10-29 11:32:09 +09:00
Lourens Naudé 0095362918 Right size the vm_default_params hash 2019-10-29 11:31:50 +09:00
Lourens Naudé 0e68913f81 Right size the Enumerator internal lazy_use_super_method hash 2019-10-29 11:31:34 +09:00
Lourens Naudé 4480d68931 Right size the compile option hash 2019-10-29 11:31:15 +09:00
Lourens Naudé 65744fb19e Right size the iseq coverage branches tmp array - initializes with 5 elements 2019-10-29 11:30:49 +09:00
aycabta 0547627705 Version 0.0.4 2019-10-29 10:35:43 +09:00
Nobuyoshi Nakada b4229c0a90
Restore `in_kwarg` flag properly 2019-10-29 08:58:39 +09:00
Aaron Patterson da3774e5eb
Revert "Protect finalizer references during execution"
This reverts commit 60a7f9f446.

We can't have Ruby objects pointing at T_ZOMBIE objects otherwise we get
an error in the GC.  We need to find a different way to update
references.
2019-10-28 16:14:50 -07:00
Aaron Patterson 60a7f9f446
Protect finalizer references during execution
When we run finalizers we have to copy all of the finalizers to a new
data structure because a finalizer could add another finalizer and we
need to keep draining the "real" finalizer table until it's empty.
We don't want Ruby programs to mutate the finalizers that we're
iterating over as well.

Before this commit we would copy the finalizers in to a linked list.
The problem with this approach is that if compaction happens, the linked
list will need to be updated.  But the GC doesn't know about the
existence of the linked list, so it could not update references.  This
commit changes the linked list to be a Ruby array so that when
compaction happens, the arrays will automatically be updated and all
references remain valid.
2019-10-28 14:50:36 -07:00
Aaron Patterson 6147fa82a9
Fix continuation mark / compact 2019-10-28 13:09:10 -07:00
Aaron Patterson bbf3de22b6
Pin labels during disassembly
We need to ensure that labels are pinned while disassembling.  If the
compactor runs during disassembly, references to these labels could go
bad, so this commit just ensures that the labels can't move until we're
done.
2019-10-28 12:15:05 -07:00
Aaron Patterson 339a891c7d
Pin keys of this st_table 2019-10-28 11:47:09 -07:00
git a51583b678 * 2019-10-29 [ci skip] 2019-10-29 03:19:25 +09:00