71084 Commits

Author SHA1 Message Date
Nobuyoshi Nakada
16fdc1ff46
[DOC] Fix broken links to literals.rdoc 2022-02-08 01:27:52 +09:00
Nobuyoshi Nakada
bc5662d9d8
[DOC] Simplify links to global methods 2022-02-08 01:18:56 +09:00
Peter Zhu
f53f49197f [DOC] Replace with IO@Modes 2022-02-07 09:52:06 -05:00
Peter Zhu
9b3115ff64 [DOC] Remove extra period 2022-02-07 09:52:06 -05:00
Peter Zhu
a12e2f9aa5 [DOC] Remove extra closing curly bracket 2022-02-07 09:52:06 -05:00
Peter Zhu
a32e5e1b97 [DOC] Use RDoc link style for links in the same class/module
I used this regex:

(?<=\[)#(?:class|module)-([A-Za-z]+)-label-([A-Za-z0-9\-\+]+)

And performed a global find & replace for this:

rdoc-ref:$1@$2
2022-02-07 09:52:06 -05:00
Peter Zhu
f9a2802bc5 [DOC] Use RDoc link style for links to other classes/modules
I used this regex:

([A-Za-z]+)\.html#(?:class|module)-[A-Za-z]+-label-([A-Za-z0-9\-\+]+)

And performed a global find & replace for this:

rdoc-ref:$1@$2
2022-02-07 09:52:06 -05:00
Peter Zhu
ecd469fad0 [DOC] Fix links in documentation for File and IO
Fixes some typos and dead links.
2022-02-07 09:52:06 -05:00
nicholas a. evans
981a75db91 [rubygems/rubygems] Fix missing rdoc for Gem::Version
The rdoc for Gem::Version is available here:
* https://docs.ruby-lang.org/en/3.0/Gem/Version.html

However it is currently missing from:
* https://ruby-doc.org/stdlib-3.1.0/libdoc/rubygems/rdoc/Gem/Version.html
* https://docs.ruby-lang.org/en/3.1/Gem/Version.html
* https://docs.ruby-lang.org/en/master/Gem/Version.html
* `ri Gem::Version`
  with `ri --version` => 6.4.0 and `gem --version` => 3.3.5
* `yard ri Gem::Version` with `yard --version` => 0.9.27

https://github.com/rubygems/rubygems/commit/c10e5dd884
2022-02-07 23:06:19 +09:00
Nobuyoshi Nakada
0169380741
Appveyor: Link vcpkg DLLs except for readline 2022-02-07 15:30:07 +09:00
Nobuyoshi Nakada
8fe2ce83ef
[MSWin] Link all vcpkg DLLs except for readline 2022-02-07 13:40:48 +09:00
Nobuyoshi Nakada
65ccae5b2a
[MSWin] Install libyaml using vcpkg 2022-02-07 13:40:48 +09:00
Burdette Lamar
a07fa198a6
Improve links to labels in string.c and struct.c (#5531) 2022-02-06 09:44:40 -06:00
git
893b0fd723 * 2022-02-07 [ci skip] 2022-02-07 00:03:39 +09:00
Nobuyoshi Nakada
402d76485c
[MSWin] Install libffi using vcpkg 2022-02-06 22:23:55 +09:00
Nobuyoshi Nakada
b9083c206a
[MSWin] Cache installed vcpkg packages 2022-02-06 22:22:58 +09:00
Nobuyoshi Nakada
90a540e9f2
Appveyor: Try readline extension 2022-02-06 19:24:36 +09:00
Nobuyoshi Nakada
2cf687fe6c
Appveyor: DBM extensions have not been bundled already 2022-02-06 19:23:30 +09:00
Nobuyoshi Nakada
7ce3a100f2
Fold command line items 2022-02-06 19:22:44 +09:00
John Hawthorn
c79d2e5474 Fix TAG_THROW through require [Bug #18562]
Previously this was being incorrectly swapped with TAG_RAISE in the next
line. This would end up checking the T_IMEMO throw_data to the exception
handling (which calls Module#===). This happened to not break existing
tests because Module#=== returned false when klass is NULL.

This commit handles throw from require correctly by jumping to the tag
retaining the TAG_THROW state.
2022-02-05 18:10:19 -08:00
Burdette Lamar
3e6c6c74dd
{DOC] Enhanced RDoc for io.c (#5529)
Changes parameter name from simple opts to open_opts or enc_opts when appropriate; leaves the name unchanged when more than one kind of option is allowed.
2022-02-05 14:05:27 -06:00
git
3ec2ffed86 * 2022-02-06 [ci skip] 2022-02-06 03:06:14 +09:00
Koichi Sasada
603ab70961 support concurrent btest execution
* `-j` option for concurrent test with threads
  * `-jN` uses N threads
  * `-j` uses nproc/2 threads
* Introduce `BT` struct to manage configurations
* Introduce `Assertion` to manage all assertions
* Remove all toplevel instance variables
* Show elapsed seconds at last

```
$ time make btest
...
real    0m37.319s
user    0m26.221s
sys     0m16.534s

$ time make btest TESTOPTS=-j
...
real    0m11.812s
user    0m36.667s
sys     0m21.872s
```
2022-02-06 03:05:47 +09:00
Aaron Patterson
2a76440fac [Bug #18501] Fire write barrier after hash has been written
Before this change the write barrier was executed before the key and
value were actually reachable via the Hash.  This could cause
inconsistencies in object coloration which would lead to accidental
collection of dup'd keys.

Example:

1. Object O is grey, Object P is white.
2. Write barrier fires O -> P
3. Write barrier does nothing
4. Malloc happens, which starts GC
5. GC colors O black
6. P is written in to O (now we have O -> P reference)
7. P is now accidentally treated as garbage
2022-02-04 14:36:04 -08:00
git
06e96b922f * 2022-02-05 [ci skip] 2022-02-05 07:27:04 +09:00
Burdette Lamar
06a28ec4d4
[DOC] Enhanced RDoc for io.c (#5527)
Treats:

    IO.binread (abbreviated to be like IO.binwrite).
    IO.write
    IO.binwrite
    IO.copystream
    IO#external_encoding
    IO#internal_encoding
    IO#set_encoding
2022-02-04 16:26:49 -06:00
Burdette Lamar
46f6575157
[DOC] Enhanced RDoc for io.c (#5511)
Treats:

    IO.foreach
    IO.readlines
    IO.read
    IO.binread
2022-02-04 06:55:10 -06:00
Max Leopold
203b1fc7e2 Add documentation for regexp emoji named character property 2022-02-04 08:26:49 +09:00
Matt Valentine-House
9fab2c1a1a Add the size pool slot size to the output of ObjectSpace.dump/dump_all 2022-02-03 15:07:35 -05:00
git
a3caf196d9 * 2022-02-04 [ci skip] 2022-02-04 05:07:15 +09:00
Peter Zhu
af321ea727 Move total_freed_pages to size pool 2022-02-03 15:06:55 -05:00
Peter Zhu
a9221406aa Move total_allocated_pages to size pool 2022-02-03 15:06:55 -05:00
Peter Zhu
424374d330 Fix case when gc_marks_continue does not yield slots
gc_marks_continue will start sweeping when it finishes marking. However,
if the heap we are trying to allocate into is full, then the sweeping
may not yield any free slots. If we don't call gc_sweep_continue
immediate after this, then another GC will be started halfway during
lazy sweeping. gc_sweep_continue will either grow the heap or finish
sweeping.
2022-02-03 09:22:24 -05:00
Nobuyoshi Nakada
8f3a36fb6e
Fix indents [ci skip] 2022-02-03 11:21:41 +09:00
Jeremy Evans
7529c53891 [ruby/net-http] Do not set SNI hostname if connecting to IP address
RFC 6066, section 3, explicitly disallows the use of an IP address
as an SNI server name.  So check if the connection is being made
to an IP address using the resolv regexps, and do not set an SNI
hostname in that case.

Recent changes to LibreSSL make it more strictly follow RFC 6066,
resulting an s.hostname= raising an error if passed an IP address.
When such verions of LibreSSL are used, this change not only fixes
the net/http tests, it also fixes tests for webrick and open-uri,
which both make SSL connections to 127.0.0.1 using net/http in
their tests.

Avoid warning in the openssl extension by unsetting
@ssl_context.verify_hostname if connecting to an IP address.
Make changes so that the post_connection_check still happens
when connecting to an IP address, which is necessary to keep
checking that the certificate returned includes the IP address,
which one of the tests depends on.

Revert the previous change that modified the regexp used for
checking the error message.

https://github.com/ruby/net-http/commit/fa68e64bee
2022-02-03 05:10:21 +09:00
git
3ca244a29a * 2022-02-03 [ci skip] 2022-02-03 02:21:00 +09:00
Jemma Issroff
2913a2f5cf Treat TS_ICVARC cache as separate from TS_IVC cache 2022-02-02 09:20:34 -08:00
Peter Zhu
7b77d46671 Decouple GC slot sizes from RVALUE
Add a new macro BASE_SLOT_SIZE that determines the slot size.

For Variable Width Allocation (compiled with USE_RVARGC=1), all slot
sizes are powers-of-2 multiples of BASE_SLOT_SIZE.

For USE_RVARGC=0, BASE_SLOT_SIZE is set to sizeof(RVALUE).
2022-02-02 09:52:04 -05:00
S.H
af10771045
Add econv_get_encoding function 2022-02-02 22:52:55 +09:00
Olle Jonsson
d8c54bac4a [ruby/net-protocol] Fix typo in gem description [ci skip]
https://github.com/ruby/net-protocol/commit/35d7b08a54
2022-02-02 21:21:47 +09:00
Olle Jonsson
94687a6826 [ruby/net-protocol] Drop unused gemspec directives
This gem exposes no executables.

https://github.com/ruby/net-protocol/commit/3c4def2a64
2022-02-02 21:17:47 +09:00
git
ea6b6f1ad3 Update bundled gems list at d4a8c04dc7bb1c9aa48eaf50dc6b18 [ci skip] 2022-02-02 04:26:22 +00:00
Soutaro Matsumoto
d4a8c04dc7
Update RBS (#5515)
* Bundle RBS 2.1.0
2022-02-02 13:25:47 +09:00
git
bb845fb971 * 2022-02-02 [ci skip] 2022-02-02 09:08:47 +09:00
Kazuhiro NISHIYAMA
aff4b2194f
Fix a typo [ci skip] 2022-02-02 09:08:12 +09:00
Dan Jensen
0b2f6b942b [rubygems/rubygems] Skip "seller shipped" notification after delivery
If a Shipment has been delivered, there is no point in notifying the
buyer that the seller shipped. Instead, we should simply notify the
buyer that the shipment was delivered. This is relevant in cases where
the seller is late to mark a Shipment as shipped, so the first EasyPost
Tracker update marks it as delivered, or in cases where the seller
fails to mark as shipped and the buyer marks it as delivered.

This fixes a Shipment event handler so the buyer notification for
shipment is no longer invoked if the Shipment is already delivered.

https://github.com/rubygems/rubygems/commit/09c2cadc86
2022-02-01 20:07:18 +09:00
Nobuyoshi Nakada
f6894711a4 [ruby/io-wait] Exclude rake files from packages
https://github.com/ruby/io-wait/commit/7be58cd7f4
2022-02-01 20:04:15 +09:00
Jean Boussier
ddb9d60f7d
[ruby/io-wait] Make the gem a noop on Rubies older than 2.6
Ref: https://github.com/mikel/mail/pull/1439

Some gems depend on io-wait, but still support older rubies,
so they have to chose between droping support or not listing io-wait.

But io-wait could act a a noop on older rubies.

https://github.com/ruby/io-wait/commit/75fcb74c32
2022-02-01 14:11:16 +09:00
git
804dca7b0c Update default gems list at fc4fbeef28b1d243e45d7fc8d60778 [ci skip] 2022-02-01 04:22:40 +00:00
Nobuyoshi Nakada
fc4fbeef28 [ruby/io-wait] bump up to 0.2.2
https://github.com/ruby/io-wait/commit/e15a2486b2
2022-02-01 13:22:03 +09:00