| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
An almost universal convention for gems is to expose Namespace::VERSION
which makes it much easier when debugging etc.
https://github.com/ruby/ipaddr/commit/587ae6996e
|
|
|
|
|
|
|
|
|
| |
Previously, include? would return true for the end of the range,
when it should return false because the range is exclusive.
Research and Analysis by Victor Shepelev.
Fixes [Bug #18577]
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inside ObjectSpace.reachable_objects_from we keep an internal identhash
in order to de-duplicate reachable objects when wrapping them as
InternalObject. Previously this hash was not hidden, making it possible
to leak references to those internal objects to Ruby if using
ObjectSpace.each_object.
This commit solves this by hiding the hash. To simplify collection of
values, we instead now just use the hash as a set of visited objects,
and collect an Array (not hidden) of values to be returned.
|
|
|
|
| |
https://github.com/rubygems/rubygems/commit/bc69d19097
|
|
|
|
| |
See also https://github.com/llvm/llvm-project/commit/a2601c98873376bbbeff4b6eddf0f4d920535f8b
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
tab->entries_bound is used to check if the bins are full in
rebuild_table_if_necessary.
Hash#shift against an empty hash assigned 0 to tab->entries_bound, but
didn't clear the bins. Thus, the table is not rebuilt even when the bins
are full. Attempting to add a new element into full-bin hash gets stuck.
This change stops clearing tab->entries_bound in Hash#shift.
[Bug #18578]
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/45e33c4b85
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/63fac51198
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/69cafb213a
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/17c0da304d
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/b6c6d4f978
|
|
|
|
| |
https://github.com/ruby/rdoc/commit/52c33157f1
|
|
|
|
|
|
|
| |
Make operator methods, e.g., `Regexp#=~`, `Integer#<=>`, cross
reference targets.
https://github.com/ruby/rdoc/commit/5d332a4128
|
|
|
|
|
|
|
|
| |
Currently only `rb_struct_define_without_accessor` is supported by
https://github.com/ruby/rdoc/pull/73. We should support other
three functions too.
https://github.com/ruby/rdoc/commit/d42288f06c
|
| |
|
|
|
|
|
| |
Should also the label in an explicit `rdoc-ref:` link be converted
in the future?
|
|
|
| |
Mostly suppressing links to itself.
|
| |
|
| |
|
|
|
|
|
| |
Once https://github.com/ruby/rdoc/pull/865 is merged, these hacks
are no longer needed.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Fixes some typos and dead links.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* `-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
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Treats:
IO.binread (abbreviated to be like IO.binwrite).
IO.write
IO.binwrite
IO.copystream
IO#external_encoding
IO#internal_encoding
IO#set_encoding
|
|
|
|
|
|
|
|
|
| |
Treats:
IO.foreach
IO.readlines
IO.read
IO.binread
|
| |
|