Activity
From 05/02/2020 to 05/08/2020
05/08/2020
-
04:54 PM Feature #16791: Shortcut for Process::Status.exitstatus
- nobu (Nobuyoshi Nakada) wrote in #note-4:
> It is not a good idea to compare `exitstatus` with 0 from the point of portability.
Can I ask why that is? 0 is success and non-0 is failure; I don't know of any system where things are dif... -
04:43 PM Revision e88bb6a2 (git): rbuninstall.rb: get rid of errors when prefix ends with "/."
-
04:40 PM Revision 8830d60d (git): rbuninstall.rb: print output record separator instead of $\
- 04:25 PM Revision 72106038 (git): * 2020-05-09 [ci skip]
-
04:22 PM Bug #16831: Running `Pathname#glob` with `File::FNM_DOTMATCH` option loses `.` and `..`
- I don't think those can have consistent results, because Pathname#glob is equivalent to using the `base` option of `Dir.glob` and then joining the paths, which is not the same as joining the paths into a glob and then invoking `Dir.glob`...
-
04:22 PM Revision 3333d023 (git): rbinstall.rb: get rid of installing duplicate files
- Should not overwrite ext/rubyvm/lib/forwardable/impl.rb by
lib/forwardable/impl.rb. -
04:04 PM Bug #16677: Negative integer powered (**) to a float number results in a complex
- nobu (Nobuyoshi Nakada) wrote in #note-23:
> A space after `-` means same things.
Thank you for the information. That further strengthens the motivation for the proposal.
-
02:53 PM Bug #16677: Negative integer powered (**) to a float number results in a complex
- nobu (Nobuyoshi Nakada) wrote in #note-23:
> A space after `-` means same things.
Wow! So `-2.to_s` is different from `- 2.to_s` !?!?!
I find this really amazing. I'm just not sure if it's amazing in a good or a bad way. -
03:55 PM Revision cc3352cc (git): rbinstall.rb: record bundled gem files
-
03:29 PM Feature #15771: Add `String#split` option to set `split_type string` with a single space separator
- I've often thought that the default behavior should be tied to nil rather than " ", but in terms of compatibility I don't really think it's worth the change.
The proposed option makes it easy to avoid special-casing the " " separator; i... -
12:23 PM Revision 8a504b22 (git): Added GC guard for splatted array
-
11:30 AM Bug #16841 (Closed): Some syntax errors are thrown from compile.c
- `compile.c` has a few places where it raises `SyntaxError`. Because of that `ruby -c`, Ripper and `RubyVM::AbstractSyntaxTree` don't catch them:
```sh
> ruby -vce 'class X; break; end'
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) ... -
09:55 AM Bug #16777: IRB in Ruby 2.7 hangs on pasting long here document
- I found the same issue is reported here https://github.com/ruby/irb/issues/43 , so you can close this.
jnchito (Junichi Ito) wrote:
> IRB in Ruby 2.7 hangs on pasting long here document. Here is an example when I copy and paste the s... -
08:19 AM Bug #16801 (Closed): The default Struct constructor improperly handle keyword arguments - Applied in changeset commit:git|adf709a78534c1483ba851ccb0490464ca31503c.
----------
Classes made from Struct should have default `new` singleton method.
[Bug #16465] [Bug #16801]
[Fix GH-2795] [Fix GH-2944] [Fix GH-3045] [Fix GH-3093]... -
08:19 AM Bug #16465 (Closed): False keyword warning against Struct#initialize - Applied in changeset commit:git|adf709a78534c1483ba851ccb0490464ca31503c.
----------
Classes made from Struct should have default `new` singleton method.
[Bug #16465] [Bug #16801]
[Fix GH-2795] [Fix GH-2944] [Fix GH-3045] [Fix GH-3093]... - 08:18 AM Revision adf709a7 (git): Classes made from Struct should have default `new` singleton method.
- [Bug #16465] [Bug #16801]
[Fix GH-2795] [Fix GH-2944] [Fix GH-3045] [Fix GH-3093]
Note: Backporting shouldn't modify object.h and instead can use
struct_new_kw which is basically a duplicate implementation of
rb_class_new_instance_pass_... -
07:56 AM Misc #16803: Discussion: those internal macros reside in public API headers
- OK then, let's move the directory from `impl` to `internal`. Will update the pull request.
-
07:34 AM Feature #16837: Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions?
- nobu (Nobuyoshi Nakada) wrote in #note-10:
> As `str` is an argument variable and `RUBY3_CONSTANT_P(str)` is always false here,
Well, thank you pointing this out. As I wrote in `include/ruby/3/constant_p.h`, you can apply `__builtin... -
02:46 AM Feature #16837: Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions?
- Not only assertions, some optimizations can no longer be applied.
For instance, `rb_str_new_cstr` was defined as following in 2.7,
```C
#define rb_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
(__builtin_constant_p(str)) ? \
... -
05:27 AM Revision da345adc (git): `Open3.capture2e` raises exception when the command is not present.
-
05:13 AM Feature #15921: R-assign (rightward-assignment) operator
- At https://bugs.ruby-lang.org/issues/16775#change-85434, Eregon (Benoit Daloze) wrote:
>>>>
- Could matz and other committers clarify the motivation to introduce this? There is no pipeline operator currently so it seems of limited usag... -
05:13 AM Revision ac2c07e9 (git): Revert "[rubygems/rubygems] Remove unneeded global teardown"
- This reverts commit 93d1588c782ab9d61699f98b6c64d7f0ab8121c0.
-
05:13 AM Revision ceacb063 (git): Revert "[rubygems/rubygems] Remove unneeded teardown"
- This reverts commit 0da416ab170dbe1cbd530a5a7c5e8128910014b2.
-
05:13 AM Revision 20971d0d (git): Revert "[rubygems/rubygems] Use a local temporary directory"
- This reverts commit e98455f289047c43a733e61ac6317fb74b68de82.
-
05:13 AM Revision 07d4ad93 (git): [rubygems/rubygems] Remove unneeded teardown
- Tests using credentials shouldn't be leaving side effects.
https://github.com/rubygems/rubygems/commit/975bcafdfc -
05:13 AM Revision 93293043 (git): [rubygems/rubygems] Remove unneeded global teardown
- Instead, make each test cleanup after itself.
https://github.com/rubygems/rubygems/commit/e0aba9d64f -
05:13 AM Revision b9031b10 (git): [rubygems/rubygems] Restore the old .gemrc example for compatible tests
- https://github.com/rubygems/rubygems/commit/c45d65a06d
-
05:13 AM Revision 4e436e60 (git): [rubygems/rubygems] Removed needless setup to clear credential
- https://github.com/rubygems/rubygems/commit/4f694f4fb7
-
05:13 AM Revision ab1b31ff (git): [rubygems/rubygems] Also added credential_setup to the some of tests
- https://github.com/rubygems/rubygems/commit/2ac557d008
-
05:13 AM Revision 58af4c0a (git): [rubygems/rubygems] Split credential helper as credential_setup and use it
- https://github.com/rubygems/rubygems/commit/b0c55c76ca
-
05:13 AM Revision 18ac783e (git): [rubygems/rubygems] Revert adding loaded specs to `Gem::Specification.stubs` and `Gem::Specification.stubs_for`
- The rationale is that:
* The change has caused realworld issues. See for example
https://github.com/ruby/did_you_mean/issues/117 and specifically [this
comment](https://github.com/ruby/did_you_mean/issues/117#issuecomment-482733159)
for... - 05:13 AM Revision 46462200 (git): [rubygems/rubygems] Test that two calls to `stub_for` returns the same (cached) instance.
- https://github.com/rubygems/rubygems/commit/00b3f55562
- 05:13 AM Revision acc86570 (git): [rubygems/rubygems] Let `@@stubs_by_name` to be incrementally populated again.
- Originally, the call to `.stubs_for` allowed to incrementally populate
the `@@stubs_by_name` (especially see the `"#{name}-*.gemspec"` pattern
in 4fa03bb7aac9f25f44394e818433fdda9962ae8d). Now it looks like it
expects that all stubs are ... -
05:13 AM Revision 15a4b7d7 (git): [rubygems/rubygems] Remove unnecessary code
- This list of exceptions is no longer rescued since
1f03275ff3faa1c808d3a3b89ef5db62dc2eb2ba.
https://github.com/rubygems/rubygems/commit/6e71e7be67 -
05:13 AM Revision c832e3fa (git): [rubygems/rubygems] Require open3 before using it
- Otherwise if this test file is run in isolation, this test will fail.
https://github.com/rubygems/rubygems/commit/79da003948 -
05:13 AM Revision 5df60827 (git): [rubygems/rubygems] Improve gzip errors logging
- By default, the `Zlib::GzipFile::Error` does not include the actual data
that was not in gzip format that caused the error.
However, its `#inspect` method includes it.
I think this can be helpful to troubleshoot errors.
https://github... - 05:13 AM Revision b24f7dbc (git): [rubygems/rubygems] Update util.rb
- Remove unused module variable.
https://github.com/rubygems/rubygems/commit/98135bb3d8 -
05:13 AM Revision 0e195c82 (git): [rubygems/rubygems] Remove old `gauntlet_rubygems` file on rubygems upgrade
- The file was removed at
https://github.com/rubygems/rubygems/commit/65b709b095b8354ac2620d1a5d7d537e539f6498,
shipped with rubygems 2.6.5.
https://github.com/rubygems/rubygems/commit/739159a120 -
05:13 AM Revision c982c5ef (git): [rubygems/rubygems] Skip flaky tests on jruby
- I believe these are most certainly due to a problem outside of rubygems.
I'm skipping these at least until webrick officially supports jruby
(defining "officially" as "webrick's CI passes on jruby").
https://github.com/rubygems/rubygems... -
05:13 AM Revision ce88e2a8 (git): [rubygems/rubygems] Suppress warnings coming from `jar-dependencies`
- This is a default gem on jruby, which ships with a rubygems plugin,
which prints warnings all over the place during our tests.
This plugin is unnecessary from our tests, so I disable it through the
`JARS_SKIP` environment variable provi... -
05:13 AM Revision 314d7f89 (git): Remove `builder` gem requirement for `gem regenerate_index`
- This requirement was introduced 14 years ago in
7ce7039b390440754954df5efea619e9f57ef823, and I don't think it's
necessary anymore. I made several tests introducing UTF-8 characters in
gemspec files and generating indexes out of them, an... -
05:13 AM Revision b5a0db8b (git): [rubygems/rubygems] Remove unnecessary code from remote fetcher tests
- This code is not necessary and has the bad side effect of causing
test failures in cascade once a single test inside the file fails.
See https://github.com/rubygems/rubygems/runs/538978838 for an example.
https://github.com/rubygems/ru... -
05:13 AM Revision a433b82f (git): [rubygems/rubygems] Now `Dir.tmpdir` is fixed and there's never such a folder
- https://github.com/rubygems/rubygems/commit/44ebbded12
-
05:13 AM Revision 2efe7419 (git): [rubygems/rubygems] Use a local temporary directory
- To make tests more deterministic, since `Dir.tmpdir` sometimes will
return the current directory dependending on the writability of other
paths, and in that case since the current directory is changed by our
tests, tests can fail.
Force... -
05:13 AM Revision fca24dd1 (git): [rubygems/rubygems] No longer necessary
- Fixed in
https://github.com/ruby/ruby/commit/45df1c24d269f93a2bc1e7a6fe0ffcecc1193051,
released with ruby 2.3
https://github.com/rubygems/rubygems/commit/f8f67f3952 - 05:13 AM Revision 7fb694fd (git): [rubygems/rubygems] Show gemspec location when a Gem::MissingSpecError is raised while trying to activate a gem
- https://github.com/rubygems/rubygems/commit/4da54a8e8b
- 05:13 AM Revision b454b4e3 (git): [rubygems/rubygems] Make MissingSpecError accept an extra error message
- https://github.com/rubygems/rubygems/commit/b23d2421df
-
05:13 AM Revision 4a417b08 (git): [rubygems/rubygems] Fix incorrect bundler version being required
- In ruby 2.7.0, there's a slight change in bundler's default gemspec file
where the executable folder of the bundler gem is `libexec` instead of
`exe`. I made that change in https://github.com/ruby/ruby/pull/2380 to
try to simplify the in... -
05:13 AM Revision 82500001 (git): [rubygems/rubygems] Extract logic to a local variable for later reuse
- https://github.com/rubygems/rubygems/commit/dc715888d4
-
05:13 AM Revision 6e80cabb (git): [rubygems/rubygems] Specify explicit separator not to be affected by $;
- https://github.com/rubygems/rubygems/commit/1cea3d4dce
-
05:13 AM Revision 241950b1 (git): [rubygems/rubygems] Properly look for man pages
- When bundler is installed as a default gem (either by ruby's or by
rubygems' installer), bundler man pages wouldn't be properly found.
https://github.com/rubygems/rubygems/commit/0831b40492 -
05:13 AM Revision a453f26b (git): [rubygems/rubygems] Extract a local variable
- https://github.com/rubygems/rubygems/commit/445c9da2ac
-
05:13 AM Revision ece16901 (git): [rubygems/rubygems] Install man files when bundler installed as a default gem
- https://github.com/rubygems/rubygems/commit/28d6d77d81
-
05:13 AM Revision 64e89713 (git): [rubygems/rubygems] Extract a `remove_file_list` helper
- https://github.com/rubygems/rubygems/commit/8cc6087590
-
05:13 AM Revision c74d306b (git): [rubygems/rubygems] Only need to call helper once
- https://github.com/rubygems/rubygems/commit/6ddbf5bcab
-
05:13 AM Revision d2087f1c (git): [rubygems/rubygems] Extract an `install_file_list` helper
- https://github.com/rubygems/rubygems/commit/5106ea4582
-
05:13 AM Revision 41b28847 (git): [rubygems/rubygems] Move helper to private section
- https://github.com/rubygems/rubygems/commit/fb824b7a81
-
05:13 AM Revision 5400811d (git): [rubygems/rubygems] Refactor dummy file creation
- https://github.com/rubygems/rubygems/commit/665099fe53
-
05:13 AM Revision 74867e2d (git): [rubygems/rubygems] Fix super weird code style
- https://github.com/rubygems/rubygems/commit/f1a5815896
-
05:13 AM Revision ed1e4504 (git): [rubygems/rubygems] Follow the pattern of other test files for foo.pem
- https://github.com/rubygems/rubygems/commit/a43cffddad
-
05:13 AM Revision 10904563 (git): [rubygems/rubygems] Move helper methods to private section of the test file
- https://github.com/rubygems/rubygems/commit/b85db66e2d
-
05:13 AM Revision d59b9222 (git): [rubygems/rubygems] Rename method to clarify
- https://github.com/rubygems/rubygems/commit/6dc76146ad
-
05:13 AM Revision 53b548f4 (git): [rubygems/rubygems] Install existing gems as regular gems
- https://github.com/rubygems/rubygems/commit/a0880d78a8
-
05:13 AM Revision 6438c584 (git): [rubygems/rubygems] Remove misleading comments
- `site_dir`, or `vendor_dir`, is the location where the default version
of bundler & rubygems gets installed. These folders are placed directly
in the LOAD_PATH, so they cannot hold any nested gem directory
structure. So a single copy of ... -
05:13 AM Revision 373d01bb (git): [rubygems/rubygems] Remove unnecessary line
- https://github.com/rubygems/rubygems/commit/1d0981809a
-
05:13 AM Revision 0d7e0eb2 (git): [rubygems/rubygems] Prefer `tr` to `gsub` when replacing path separators
- This is not detected by the `Performance/StringReplacement` cop, I guess
because of using constants. But still seems like a good change.
Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com>
https://github.com/rubygems/rubygems/... -
05:13 AM Revision de57d389 (git): [rubygems/rubygems] Shortcuit method earlier
- If the class variable is set, we can skip the whole thing from the
beginning.
Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com>
https://github.com/rubygems/rubygems/commit/83abf3a3d4 -
05:13 AM Revision c58d69e6 (git): [rubygems/rubygems] Condense some artificially broken lines
- Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com>
https://github.com/rubygems/rubygems/commit/5f390478c7 -
05:13 AM Revision a49a1311 (git): [rubygems/rubygems] Extract `gem_make_out` contents to a variable
- Co-authored-by: MSP-Greg <MSP-Greg@users.noreply.github.com>
https://github.com/rubygems/rubygems/commit/5f2b7474eb -
05:13 AM Revision b1541606 (git): [rubygems/rubygems] Fix incorrect `gem uninstall --all` message
- Currently `gem uninstall --all` shows the following incorrect message
after completion:
```
INFO: Uninstalled all gems in
```
Now it shows something that actually makes sense like:
```
INFO: Uninstalled all gems in /home/deivid/Code... - 05:13 AM Revision 22030fe5 (git): [rubygems/rubygems] Refactor duplicate metadata logic
- https://github.com/rubygems/rubygems/commit/1e5ef177ac
- 05:13 AM Revision 856f2f31 (git): [rubygems/rubygems] Remove unnecessary code
- `@host` _could_ be `nil` at this point, but only if all the conditions
above for setting `@host` were `nil`. In that case, it is guaranteed
to `default_gem_server` metadata is `nil` since it's one of the
branches in that condition. So th... - 05:13 AM Revision 12ac0fa9 (git): [rubygems/rubygems] Simplify host switching logic
- This block was a branch and variable heavy way of saying use the
user-provided host if available, or fall-back to the default host if
none of the other options match. IMO the resultant single-if condition
is clearer in intentions
https:... -
05:13 AM Revision acb793b7 (git): [rubygems/rubygems] Make cmake tests less verbose on jruby
- These tests work on jruby, but the flags to the system command used to
detect whether `cmake` is present seem to be ignored on jruby and the
output is printed to screen instead of being sent to /dev/null. This
results in very verbose tes... -
05:13 AM Revision 676d816e (git): [rubygems/rubygems] Refactor ruby command line building for tests
- https://github.com/rubygems/rubygems/commit/43819b6973
- 05:13 AM Revision 16353943 (git): [rubygems/rubygems] Update test_realworld_default_gem to use rubygems project sources
- https://github.com/rubygems/rubygems/commit/7506f7eb07
-
05:13 AM Revision 90427875 (git): [rubygems/rubygems] Remove unnecessary `@@ruby` variable
- https://github.com/rubygems/rubygems/commit/5f20647ec1
-
05:13 AM Revision c6979feb (git): [rubygems/rubygems] Remove unneeded explicit requires
- https://github.com/rubygems/rubygems/commit/583316bf49
-
05:13 AM Revision df39476a (git): [rubygems/rubygems] Remove unneeded dups
- https://github.com/rubygems/rubygems/commit/2f072e3dc7
-
05:13 AM Revision fd5e4ca4 (git): [rubygems/rubygems] Remove unneeded untainting
- https://github.com/rubygems/rubygems/commit/ff223d8489
-
05:13 AM Revision 1039c32d (git): [rubygems/rubygems] Simplify nested require exceptions
- https://github.com/rubygems/rubygems/commit/7fbef2f0e3
-
05:13 AM Revision 43daf4d2 (git): [rubygems/rubygems] Fix ruby warning about unused local variables
- https://github.com/rubygems/rubygems/commit/cca2fccd95
-
05:13 AM Revision 2ece4d96 (git): [rubygems/rubygems] Fix ruby warnings about a shadowed variable
- https://github.com/rubygems/rubygems/commit/5cfb3252d9
-
05:13 AM Revision a0c4d14a (git): [rubygems/rubygems] Fix symlink RubyGems test problems for non-admin user.
- https://github.com/rubygems/rubygems/commit/75f672ff0e
-
05:13 AM Revision 3315ce69 (git): [rubygems/rubygems] Fix race condition on bundler's parallel installer
- When installing in parallel, bundler creates several `Gem::Installer`
instances that run in parallel. These installers access the `@@all` class
variable of `Gem::Specification` concurrently.
If a concurrent thread calls `Gem::Specificat... - 05:13 AM Revision 03fe7da1 (git): [rubygems/rubygems] Allow spaces in file headers during octal check
- https://github.com/rubygems/rubygems/commit/e9e25731d8
05/07/2020
-
10:54 PM Revision 7574b836 (git): Add T_IMEMO support to lldb
- I'm trying to find why a reference to an IMEMO object isn't being
updated -
10:46 PM Revision ce91c561 (git): Fix typo in test name
-
10:38 PM Revision 427eb2b9 (git): [rubygems/rubygems] Remove unnecessary DIR constant
- We have `__dir__` which is the same thing.
https://github.com/rubygems/rubygems/commit/f89776427f -
10:38 PM Revision 1ede0c15 (git): [rubygems/rubygems] Move stuff to the instance level
- I don't know why it was living at the class level. At first I thought it
would be to reuse some server instances between tests, but they seem to
be cleaned up after every test anyways, so I don't think any of it is
needed.
https://githu... -
10:38 PM Revision 0b40279d (git): Normalize heredoc case in rubygems code base
-
10:38 PM Revision 2205ae8a (git): Normalize heredoc delimiters
-
10:38 PM Revision 31663e9e (git): [rubygems/rubygems] These specs seem to work just fine on jruby
- https://github.com/rubygems/rubygems/commit/a0219b9f27
-
10:38 PM Revision fe2b83e2 (git): [rubygems/rubygems] Fix platform comparison bug in #contains_requirable_file?
- * One should not compare RUBY_ENGINE and Gem::Platform.
* Introduced in https://github.com/rubygems/rubygems/pull/2672
https://github.com/rubygems/rubygems/commit/0e62c3be91 -
10:38 PM Revision 1464719f (git): [rubygems/rubygems] Only run the $SAFE test on MRI < 2.7
- * Other Ruby implementations don't support $SAFE.
https://github.com/rubygems/rubygems/commit/9a4ba16efa -
10:38 PM Revision bb3d80bb (git): [rubygems/rubygems] Autoload name_tuple.rb before use
- - Resolver asked Molinillo to resolve-then-activate, which led to using Gem::NameTuple before any require had been passed
Co-authored-by: David Rodríguez <deivid.rodriguez@riseup.net>
https://github.com/rubygems/rubygems/commit/e11782b0c8 -
10:38 PM Revision 39322317 (git): [rubygems/rubygems] Do not use set.
- https://github.com/rubygems/rubygems/commit/1a72c8796f
-
10:38 PM Revision 832a7b04 (git): [rubygems/rubygems] Add gem build test to check for removed methods.
- https://github.com/rubygems/rubygems/commit/c07b9cf4f1
-
10:38 PM Revision 856cbbdd (git): [rubygems/rubygems] Track removed methods calls and warn during build time.
- move rubyforge_project= to removed methods
https://github.com/rubygems/rubygems/commit/223f7fd470 -
10:38 PM Revision 4dd46dba (git): [rubygems/rubygems] Deprecate rubyforge_project attribute only during build time.
- https://github.com/rubygems/rubygems/commit/c44eb21648
-
10:38 PM Revision 60cafe8e (git): [rubygems/rubygems] Revert deprecation of deprecate method for now.
- https://github.com/rubygems/rubygems/commit/965eee1741
- 10:38 PM Revision 0e85a39d (git): [rubygems/rubygems] Restore and deprecate old deprecate method
- https://github.com/rubygems/rubygems/commit/024267fa60
- 10:38 PM Revision 7db538a7 (git): [rubygems/rubygems] Rename version horizon deprecation methods
- https://github.com/rubygems/rubygems/commit/6afd914fda
- 10:38 PM Revision 361ed8d0 (git): [rubygems/rubygems] Avoid "ambiguous first argument" warning
- https://github.com/rubygems/rubygems/commit/984bb9b815
- 10:38 PM Revision 80163db9 (git): [rubygems/rubygems] Add next_rubygems_major_version method
- https://github.com/rubygems/rubygems/commit/db5bb65baf
- 10:38 PM Revision ff37dd7e (git): [rubygems/rubygems] Modify files to use new version horizon deprecations
- https://github.com/rubygems/rubygems/commit/4fe5bb5bf3
- 10:38 PM Revision 42c91de9 (git): [rubygems/rubygems] Use the next major version as default for deprecations
- https://github.com/rubygems/rubygems/commit/b679ab27af
- 10:38 PM Revision feb29740 (git): [rubygems/rubygems] Remove deprecation methods by date
- https://github.com/rubygems/rubygems/commit/3a14635cf5
- 10:38 PM Revision a7a7e7be (git): [rubygems/rubygems] Make the deprecate_command method recieve a Rubygems version instead of a date
- https://github.com/rubygems/rubygems/commit/bf95b1de78
- 10:38 PM Revision 2f7865bb (git): [rubygems/rubygems] Make the deprecate method recieve a Rubygems version instead of a date
- https://github.com/rubygems/rubygems/commit/f0e098a1b7
-
10:38 PM Revision 1fe2b7f4 (git): Workaround for Minitest5
-
10:38 PM Revision 7050f86a (git): [rubygems/rubygems] Removed deprecated methods for Minitest5
- It was migrated on ruby core repository too.
https://github.com/ruby/ruby/commit/e5db3da9d34f0a7595208863301c044b612adbed
https://github.com/rubygems/rubygems/commit/848bbe3c76 -
10:38 PM Revision e29c94e8 (git): [rubygems/rubygems] Minitest::Test is works fine with the ruby core repository
- https://github.com/rubygems/rubygems/commit/afa01a29a3
-
10:38 PM Revision 3041e262 (git): [rubygems/rubygems] Revert https://github.com/rubygems/rubygems/pull/3445
- These changes completely broke the test suite on ruby core repository.
https://github.com/rubygems/rubygems/commit/84b0bea3e1 -
10:38 PM Revision 32564803 (git): [rubygems/rubygems] Don't swallow gem activation exception
- Our tests are now guaranteed to not work on older versions of minitest,
so I don't think we should swallow this activation error because it will
make it very clear for the user what the problem is if she has a
minitest version not satisf... -
10:38 PM Revision 2396f703 (git): [rubygems/rubygems] Update minitest version in `Gem.install` docs
- https://github.com/rubygems/rubygems/commit/aec3887d9c
-
10:38 PM Revision b8ef5ed8 (git): [rubygems/rubygems] Remove minitest compatibility code
- https://github.com/rubygems/rubygems/commit/24213b97d8
-
10:38 PM Revision f4022f94 (git): [rubygems/rubygems] [rubygems/rubygems] Require minitest `~> 5.13`
- https://github.com/rubygems/rubygems/commit/f2cc5d7033
https://github.com/rubygems/rubygems/commit/ae5b4e2043 -
10:38 PM Revision b72c5668 (git): [rubygems/rubygems] Use newer module Minitest name
- https://github.com/rubygems/rubygems/commit/2890622479
-
09:50 PM Bug #16658: `method__cache__clear` DTrace hook was dropped without replacement
- ko1 (Koichi Sasada) wrote in #note-6:
> Thanks, I think there is no chance to invoke this hook on current master.
Could you please adjust the probes.d then? Thx. -
09:46 PM Bug #16658: `method__cache__clear` DTrace hook was dropped without replacement
- Thanks, I think there is no chance to invoke this hook on current master.
-
06:56 PM Bug #16658: `method__cache__clear` DTrace hook was dropped without replacement
- > > When this hook was invoked?
> ...
Hm, this does not appear to really work, since the vm_method.c is collapsed. Anyway, this used to be the invocation place:
https://github.com/ruby/ruby/blob/f2286925f08406bc857f7b03ad6779a5d61443... -
06:51 PM Bug #16658: `method__cache__clear` DTrace hook was dropped without replacement
- ko1 (Koichi Sasada) wrote in #note-3:
> Sorry. what `method__cache__clear` did?
I don't really know. @tenderlovemaking is the author AFAIK. But this is the comment from probes.d:
~~~
ruby:::method-cache-clear(class, filename... -
07:14 AM Bug #16658: `method__cache__clear` DTrace hook was dropped without replacement
- Sorry. what `method__cache__clear` did?
When this hook was invoked?
-
09:32 PM Misc #16839: Unicode.org - downloads & tests
- @duerst
Martin,
Thanks for the reply.
As to CI caching, Actions, AppVeyor, and Travis all support it, but there currently is one exception, and that is Actions cron (scheduled) jobs. Of course, ruby-loco runs as a cron job on Act... -
08:41 PM Misc #16839: Unicode.org - downloads & tests
- The tests are valuable at least for me when upgrading to a new Unicode version. Because the code affected is relatively independent and stable, the value for the average CI is probably not too high. But my guess is that this applies to a...
-
05:00 PM Misc #16839 (Closed): Unicode.org - downloads & tests
- For quite a while, one can optionally download files from unicode.org, and the files enable additional tests.
Are these tests worthwhile? Some CI uses them, others not.
If above is true:
For the second time in a few weeks, down... -
09:19 PM Revision 56c6d520 (git): Add T_MOVED support to lldb
-
08:59 PM Feature #16832: Use #name rather than #inspect to build "uninitialized constant" error messages
- > In the case we exceed the limit, I think we could call rb_class_name() for Module/Class
IMO we should all that in priority over `inspect` as it's more likely to return an useful class path.
> ...
I actually submitted a PR to rem... -
07:54 PM Feature #16832: Use #name rather than #inspect to build "uninitialized constant" error messages
- Right, `name_err_mesg_to_str` does this.
And TruffleRuby actually replicated that logic but I didn't think about it for this issue:
https://github.com/oracle/truffleruby/blob/e8270af20bc4fae74be7f78d3d474e271768b943/src/main/ruby/truff... -
07:40 PM Feature #16832: Use #name rather than #inspect to build "uninitialized constant" error messages
- Actually I found the older history. It was introduced in https://github.com/ruby/ruby/commit/554b989ba1623b9f6a0b76f00824c83a23fbcbc1 version 0.99.4-961224 (December 1996)
And I think the changelog is
* eval.c (f_missing): オブジェク... -
07:30 PM Feature #16832: Use #name rather than #inspect to build "uninitialized constant" error messages
- I tried to look for the reason for this 65 size limit, but it was present in the initial commit dated from 1998, so I have no idea why this limitation is here.
-
07:20 PM Feature #16832: Use #name rather than #inspect to build "uninitialized constant" error messages
- Ok, so after digging into it, it's not caused by an error, but by the length on the string returned by `#inspect`:
```ruby
module OK
class << self
def inspect
"a" * 65
end
end
end
module BAD
class << sel... -
07:03 PM Feature #16832: Use #name rather than #inspect to build "uninitialized constant" error messages
- > Because inspect is called with rb_protect and fail in this context, so Ruby fallback to rb_obj_as_string.
Actually, I'm really unsure about that one. It doesn't appear to fail. I'll try to dig the root cause. -
06:57 PM Feature #16832: Use #name rather than #inspect to build "uninitialized constant" error messages
- > why don't we see uninitialized constant `Shipit::Stack(id: integer, environment: string, ...)::Foo`?
Because `inspect` is called with `rb_protect` and fail in this context, so Ruby fallback to `rb_obj_as_string`.
> ...
That's ... -
08:02 PM Feature #16816: Prematurely terminated Enumerator should stay terminated
- I agree this seems a bug, the `expected` of the example by @mame makes sense.
For @ko1's example, yes, because the exception will reach the end of the Enumerator (and Fiber), so there is nothing to Fiber.yield/Enumerator#next after. -
08:25 AM Feature #16816: Prematurely terminated Enumerator should stay terminated
- A simpler code for dev-meeting:
```
g = Enumerator.new { raise "error" }
p((g.next rescue $!)) #=> "error" (as expected)
p((g.next rescue $!)) #=> actual: "error", expected: StopIteration
``` -
08:17 AM Feature #16816: Prematurely terminated Enumerator should stay terminated
- Do you propose that the following your example:
```ruby
Enumerator.new {
2.times {|i| raise i.to_s }
}.tap {|f|
p 2.times.map { f.next rescue $!.message }
}
```
should outputs `["0", "iteration reached an end"]` ?
-
06:42 PM Revision 2d27632c (git): Add compaction support for backtrace objects
- This just introduces compaction support for backtrace objects.
-
06:42 PM Revision ff4f9cf9 (git): Allow global variables to move
- This patch allows global variables that have been assigned in Ruby to
move. I added a new function for the GC to call that will update
global references and introduced a new callback in the global variable
struct for updating references... -
06:15 PM Bug #16840 (Closed): Decrease in Hash#[]= performance with object keys
- I was playing around with Ruby hashing and I have discovered something strange/surprising.
The file ``test.rb`` looks like:
```ruby
require 'benchmark'
$N = 100000
class Ana
end
objects = Array.new($N) { Ana.new() }
ha... -
05:36 PM Misc #16775: DevelopersMeeting20200514Japan
- * [Feature #15921] R-assign (rightward-assignment) operator (eregon)
* Could matz and other committers clarify the motivation to introduce this? There is no pipeline operator currently so it seems of limited usage.
* Changing syntax ... -
05:03 PM Misc #16775: DevelopersMeeting20200514Japan
- * [Feature #16254] MRI internal: Define built-in classes in Ruby with `__intrinsic__` syntax (eregon)
* Thoughts on using `Primitive.name(a, b)` instead of `__builtin_name(a, b)`?
* I think this is an important opportunity to share... -
08:31 AM Misc #16775: DevelopersMeeting20200514Japan
- * [Feature #16827] C API for writing custom random number generator that can be used as Random objects (mrkn)
* I need such a feature to implement custom RNGs in an extension library
-
08:15 AM Misc #16775: DevelopersMeeting20200514Japan
- * [Feature #16837] Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions? (k0kubun)
* Do we have a policy on what kind of assertions should be always enabled and what should be CI-only, especially when it has impact on perf... -
07:52 AM Misc #16775: DevelopersMeeting20200514Japan
- * [Feature #8661] Add option to print backtrace in reverse order (stack frames first and error last) (mame)
* matz, could you check the spec of `--suppress-backtrace`? And should we change the name to `--backtrace-limit` or something? -
05:34 PM Feature #16746: Endless method definition
- Is it intended to allow multi-line definitions in this style?
I think we should not, and only single-line expressions should be allowed.
I think that's not the original purpose of this ticket and rather an incorrect usage of this new... -
05:08 PM Feature #16837: Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions?
- > I would like to suggest that if a user really favor speed over sanity check, they should just compiler everything with -DNDEBUG. This has been the standard C manner since long before Ruby's birth.
Got it. I'll consider using -DNDEBU... -
12:48 PM Feature #16837: Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions?
- I have a question concerning one point mentioned above.
k0kubun wrote:
> Provide .so for an assertion-enabled mode? (ko1's idea)
Could someone briefly explain the general idea behind this? I assume for a .so
file the ruby user ... -
09:38 AM Feature #16837: Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions?
- If you recompile everything using `./configure cppflags=-DNDEBUG`, then those assertions are eliminated, to let compilers inline `rb_array_len` again.
-
09:22 AM Feature #16837: Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions?
- Some analysis of the slowdown.
Looking at the generated binary and `perf` output, the slowdown is because some functions are not inlined. Might depend on compilers, but for me `rb_array_len()` is one of such victim:
```
zsh % gdb -bat... -
09:14 AM Feature #16837: Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions?
- I would like to suggest that if a user really favor speed over sanity check, they should just compiler everything with `-DNDEBUG`. This has been the _standard_ C manner since long before Ruby's birth.
-
08:11 AM Feature #16837 (Closed): Can we make Ruby 3.0 as fast as Ruby 2.7 with the new assertions?
- ## Problem
How can we make Ruby 3.0 as fast as (or faster than) Ruby 2.7?
### Background
* Split ruby.h https://github.com/ruby/ruby/pull/2991 added some new assertions
* While it has been helpful for revealing various bugs, it als... -
04:58 PM Feature #15771: Add `String#split` option to set `split_type string` with a single space separator
- Since splitting on whitespace is the default (ignoring `$;` which is deprecated in 2.7), maybe we could make `split(" ")` not special longer-term?
-
04:33 PM Feature #16838: Enumerator::ArithmeticSequence missing allocator for #clone and #dup
- After I filed this, al203-cr on #ruby IRC pointed out this seems intentional since `rb_undef_alloc_func(rb_cArithSeq);` is manually undefined here: https://github.com/ruby/ruby/blob/v2_7_1/enumerator.c#L4068
Treating it as immutable m... -
04:12 PM Feature #16838 (Open): Enumerator::ArithmeticSequence missing allocator for #clone and #dup
- In Ruby 2.5, with an Enumerator:
``` ruby
1.step.clone
#=> Enumerator
```
In Ruby 2.6, with an Enumerator::ArithmeticSequence:
``` ruby
1.step.clone
#!> TypeError (allocator undefined for Enumerator::ArithmeticSequence)
``... -
04:22 PM Revision 7ded8fd2 (git): Fix a typo [ci skip]
-
04:03 PM Feature #16761: Add an API to move the entire heap, as to make testing GC.compact compatibility easier
- We currently have this functionality, but the API isn't as nice as what you propose (and the naming isn't great either).
You can do `GC.verify_compaction_references(toward: :empty, double_heap: true)`. It will double the size of the ... -
04:00 PM Bug #16834: rb_profile_frame_classpath only recognize class singleton methods, not module singleton methods
- I've merged this in cbe4f75ef802f13d05f94e42274b65a062bd3666. It's been a bug for a while so I'm going to mark back port for 2.5, 2.6, and 2.7. 🙇🏻♂️
-
03:46 PM Revision cbe4f75e (git): Fix rb_profile_frame_classpath to handle module singletons
- Right now `SomeClass.method` is properly named, but `SomeModule.method`
is displayed as `#<Module:0x000055eb5d95adc8>.method` which makes
profiling annoying. -
03:44 PM Revision 00698f26 (git): `T_MOVED` should never be pushed on the mark stack
- No objects should ever reference a `T_MOVED` slot. If they do, it's
absolutely a bug. If we kill the process when `T_MOVED` is pushed on
the mark stack it will make it easier to identify which object holds a
reference that hasn't been ... -
03:19 PM Revision 1084b679 (git): Restore the external and internal encodings of STDIN, STDOUT, and STDERR
- IRB::ReadlineInputMethod#initialize changes them via IRB.set_encoding.
-
03:15 PM Revision 3b147c42 (git): test/irb/test_cmd.rb: clear IRB.@CONF on setup
- It caches a path to .irbrc file, which has caused random failure:
```
1) Failure:
TestIRB::ExtendCommand#test_irb_info_multiline [/home/mame/work/ruby/test/irb/test_cmd.rb:49]:
Expected /
Ruby\sversion: .+\n
IRB\sversi... - 03:13 PM Revision 00a3b8f7 (git): * 2020-05-08 [ci skip]
-
03:12 PM Revision 22b1e824 (git): Check encodings of STDIN,STDOUT,STDERR too
-
02:01 PM Bug #16677: Negative integer powered (**) to a float number results in a complex
- sawa (Tsuyoshi Sawada) wrote in #note-21:
> ```ruby
> ...
A space after `-` means same things. -
05:38 AM Bug #16677: Negative integer powered (**) to a float number results in a complex
- As an argument for this proposal, unary operators like `-@` and `+@` look very similar to splat operators `*`, `**`, and `&` in the sense that they are located at the front-most position of an expression. Since the splat operators have t...
-
05:26 AM Bug #16677: Negative integer powered (**) to a float number results in a complex
- matz (Yukihiro Matsumoto) wrote in #note-20:
> @sawa Are you proposing something new? I couldn't read the concrete behavior proposed.
My proposal (which I have suggested not so clearly in my previous comment) is this:
```ruby
-2.itself... -
03:22 AM Bug #16677: Negative integer powered (**) to a float number results in a complex
- @Dan0042 To rephrase, I vote for changing nothing, keeping the current behavior. It may be inconsistent but not worth breaking existing code.
@sawa Are you proposing something new? I couldn't read the concrete behavior proposed.
Ma... -
09:01 AM Bug #14367: Wrong interpretation of backslash C in regexp literals
- It looks inconsistency handling between regexp and Ruby's for `\c\xff`:
```
% LC_ALL=C ruby -ve 'p (/\c\xff/ =~ "\x1f")'
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]
0
``` -
08:49 AM Feature #16818: Rename `Range#%` to `Range#/`
- I borrowed the idea of `Range#%` from numo-narray.
When I first looked `Range#%` in numo-narray, I felt it is natural.
I refer one expression from the above example sawa showed:
> ```
> ...
You can see the 0th array of the result... -
08:31 AM Bug #16819 (Assigned): Line reporting off by one when reporting line of a hash?
- Yes, it is intentional behavior because the first instruction of the `A = { ... }` expression is line 9 (`a: 1`).
Each line number attribute is attached to the instruction and there is no instruction at the line 8 for the performance, f... -
08:20 AM Revision f38c6419 (git): LEGAL: add legal situation of parse.h [ci skip]
- There is parse.h apart from parse.c these days.
-
08:20 AM Revision b5db3234 (git): LEGAL: add legal situation of ext/pty/pty.c [ci skip]
- This file is not under Ruby's license.
-
08:20 AM Revision 637a1145 (git): LEGAL: add legal situation of enc/trans/ucm [ci skip]
- IBM holds their copyrights. Whether they are free software or not is
uncler. But arguably they are, given we have copied them from glibc. -
08:20 AM Revision 4d3e5ab4 (git): LEGAL: win32/win32.h no longer exists [ci skip]
- The file was moved.
-
08:20 AM Revision 2cc9f4f3 (git): LEGAL: add missing entries for enc [ci skip]
- Some files were missing.
-
08:20 AM Revision 0501e832 (git): LEGAL: add legal situation of benchmarks [ci skip]
- It is no longer obvious what were the original license of so_*
benchmarks, because the original was lost. -
08:20 AM Revision eb10be2c (git): LEGAL: add legal situation of addr2line.c [ci skip]
- This file includes BSD printf.
-
08:20 AM Revision 8f8358d2 (git): LEGAL: add legal situation of aclocal.m4 [ci skip]
- FSF holds its copyright.
-
07:29 AM Bug #16782: `lock': deadlock; recursive locking (ThreadError) in 2.7.1
- > deadlock; recursive locking
seems not difficult error, the same thread tries to lock a mutex twice without unlocking.
can you check it? -
07:23 AM Bug #6087: How should inherited methods deal with return values of their own subclass?
- Eregon (Benoit Daloze) wrote in #note-14:
> Much like all Enumerable methods return `Array` and (of course) do not copy instance variables, I think Array methods should do the same.
+1 -
07:17 AM Bug #16836 (Feedback): configure-time LDFLAGS leak into ruby pkg-config file
- When building ruby with e.g. `-Wl,-rpath=/ro/ruby-amd64-2.7.1-6/lib` (to make it hermetic, see my work-in-progress post at https://website-review.zekjur.net/pull/hermetic/posts/2020-05-04-distri-hermetic-packages/), I noticed that the re...
-
05:56 AM Revision 6300e6d3 (git): Remove test of ruby-mode.el
- Because ruby-mode.el already removed at f03e68edb80dca962290d1fb3a6d49dabdbb911e
-
05:36 AM Feature #16744: Flag to load current bundle without using bundle exec
- I rarely run `bundle exec ruby`.
Usually I run something like `bundle exec rake`, `bundle exec rails`, `bundle exec rspec`, `bundle exec script/foo` and so on.
I think `ruby -G` sounds nonsense.
-
03:26 AM Revision a5073c05 (git): Always correct sp on leave cancel
- Even if local stack optimization is not used and values are written to
VM stack, the stack pointer itself may not be moved properly. So this
should be always moved on JIT cancellation.
By the way it's hard to write a test for this becau... -
03:24 AM Revision 0244f91e (git): Remove OPT_CHECKED_RUN code
- Now this one is actually not in use because we override entire leave
definition for JIT.
05/06/2020
-
11:33 PM Feature #16786: Light-weight scheduler for improved concurrency.
- > My big concern here is that this does not cover why #13618 was deficient and this complete greenfield implementation solves the issues it had?
This proposal is really an evolution of #13618. The reasons why that proposal did not mov... -
11:25 PM Bug #16831: Running `Pathname#glob` with `File::FNM_DOTMATCH` option loses `.` and `..`
- nobu (Nobuyoshi Nakada) wrote in #note-1:
> Actually `.` and `..` entries are kept.
> ...
That's true, but I feel the following code should have consistent results:
``` ruby
require 'pathname'
pathname = Pathname.pwd
Pathname... -
06:40 AM Bug #16831: Running `Pathname#glob` with `File::FNM_DOTMATCH` option loses `.` and `..`
- Actually `.` and `..` entries are kept.
Just `Pathname("/Users/jnito/dev/..")` is cleaned up as `Pathname("/Users/jnito")`. -
10:42 PM Feature #16832: Use #name rather than #inspect to build "uninitialized constant" error messages
- From your example, why don't we see `uninitialized constant Shipit::Stack(id: integer, environment: string, ...)::Foo`?
I feel calling `name` here is a hack, if people return a useless String for `inspect` that's the bug, `inspect` is... -
01:01 PM Feature #16832: Use #name rather than #inspect to build "uninitialized constant" error messages
- Nobu recommended creating an issue request here, so I won't comment on that in
itself - but I would like to point out that ruby users may wonder why/if/how
to use #name rather than #inspect, if applicable, so that should be considered
... -
11:38 AM Feature #16832 (Closed): Use #name rather than #inspect to build "uninitialized constant" error messages
- While debugging a bug in Rails (https://github.com/rails/rails/pull/37632#issuecomment-623387954) I noticed `NameError` calls `inspect` on the `const_get` receiver to build its error message.
The problem is that some libraries such as... -
10:32 PM Bug #16835: SIGCHLD + system new behavior on 2.6
- Oh that's definitely interesting. Both on my mac and on a freebsd server I spot-checked on it outputs nothing. But evidently there isn't a settled "correct" answer for how this should behave.
-
10:18 PM Bug #16835: SIGCHLD + system new behavior on 2.6
- If I compile that program on OpenBSD, it outputs `Handler`. So system(3) behavior appears to be operating-system (or libc) specific.
-
10:01 PM Bug #16835: SIGCHLD + system new behavior on 2.6
- Also I have tested and the old behavior (not calling the CLD signal handler) does appear to match the glibc behavior
``` c
#include <stdlib.h>
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
void proc_exit()
{
pr... -
09:39 PM Bug #16835: SIGCHLD + system new behavior on 2.6
- jeremyevans0 (Jeremy Evans) wrote in #note-2:
> I agree that based on a review of the commit message, this change was unintended, and since the issue was not known previously, it was not documented.
> ...
Going by https://github.com/ru... -
09:06 PM Bug #16835: SIGCHLD + system new behavior on 2.6
- I agree that based on a review of the commit message, this change was unintended, and since the issue was not known previously, it was not documented.
However, I think the new behavior makes more sense. `system` creates a child proces... -
08:16 PM Bug #16835 (Rejected): SIGCHLD + system new behavior on 2.6
- In rubies < 2.5, the `system` command did not trigger sigchld signal traps. On ruby >= 2.6 it does. This appears to have been introduced by https://github.com/ruby/ruby/commit/054a412d540e7ed2de63d68da753f585ea6616c3 . To observe the ...
-
07:55 PM Feature #16833: Add Enumerable#empty?
- sawa wrote:
> If that was what you meant, then that is not the case. Array mixes-in
> ...
Happens to me as well a lot - I always mix these two up. May be because
the name is so similar. :)
To the suggestion itself: I have no part... -
04:44 PM Feature #16833: Add Enumerable#empty?
- Enumerators can behave very differently than arrays. Some have side-effects. What's supposed to happen with those?
```
require 'stringio'
s = StringIO.new("first\nsecond\nthird\nlast").each_line
s.first # => "first"
s.first # => "... -
04:40 PM Feature #16833: Add Enumerable#empty?
- Your use case is not clear. Why can't you do this?
```ruby
table_rows = [{ data: ['First', 'Second', 'Third'], config: {} }, { data: [4, 5, 6], config: { color: 'red' } }].to_enum
table_rows.to_a.dig(0, :data) # => ["First", "Second", "... -
04:34 PM Feature #16833: Add Enumerable#empty?
- Not sure what you mean by
>Enumerator, something mixed into Array
Do you mean this?
> ...
If that was what you meant, then that is not the case. `Array` mixes-in `Enumerable`, not `Enumerator`.
Even if that was the case, it is not cl... -
02:09 PM Feature #16833 (Assigned): Add Enumerable#empty?
- It was surprising to me that Enumerator, something mixed into Array, does not include `#empty?`. I think it is reasonable to assume people may have to guard iterating and other logic based on the emptiness of an enumerator, such was my c...
-
05:58 PM Revision 545d2ab7 (git): leakchecker.rb: try `lsof`
-
05:53 PM Revision ce00fda9 (git): Suffixed memory leak tests as "memory_leak"
- So that `TEST_EXCLUDES` option in common.mk works.
-
05:51 PM Revision 01e0e4c4 (git): Cut down warm-up loops and gain main/warm-up ratio
-
05:50 PM Revision eb012595 (git): Share logically equivalent functions
- 05:49 PM Revision 2273af56 (git): * 2020-05-07 [ci skip]
-
05:47 PM Revision 1e3c910b (git): Enable OPT_CHECKED_RUN on MJIT for debugging
- Trying to debug errors like
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2921397
http://ci.rvm.jp/results/trunk-mjit@silicon-docker/2894526 -
05:25 PM Bug #16834 (Closed): rb_profile_frame_classpath only recognize class singleton methods, not module singleton methods
- Proposed patch: https://github.com/ruby/ruby/pull/3084
Right now `SomeClass.method` is properly named, but `SomeModule.method`
is displayed as `#<Module:0x000055eb5d95adc8>.method` which makes
profiling annoying.
This particularl... -
11:40 AM Misc #16775: DevelopersMeeting20200514Japan
- * [Feature #16832] Use `#name` rather than `#inspect` to build "uninitialized constant" error messages (byroot)
* As `#name` on `Module` and `Class` is more likely to return a proper constant name than `#inspect` -
07:06 AM Revision 46b93175 (git): Fakes IPSocket.getaddress in the whole method
- To get rid of calling `getaddrinfo`, which may keep FDs
internally. -
05:09 AM Revision de3f7259 (git): Makes nil-safe
-
04:47 AM Revision b247ac08 (git): Ignore FDs kept by system library
- `getaddrinfo` on macOS seems keeping FDs to query host names
internally. -
03:45 AM Revision 7397b9f7 (git): Fixed leaked fds
-
01:09 AM Revision 039a8ef7 (git): leakchecker.rb: search /dev/fd too
- It is more popular than /proc/self/fd.
-
12:51 AM Revision 3a6dad9d (git): [DOC] Removed no longer meaningful part [ci skip]
- As now `Object#===` document is separated from `rb_equal`, this note
no longer makes sense. -
12:47 AM Revision b0498caa (git): Removed unnecessary duplicate code
- `rb_equal` may be inlined in `case_equal` and actually same code
is generated twice.
05/05/2020
-
10:56 PM Misc #16803: Discussion: those internal macros reside in public API headers
- > also think it makes sense: both are internal, and one of them of make install-ed and the other not, because include/ruby/internal/ needs to be public headers to compile correctly.
Agreed. I think because @nobu was going to use `int... -
09:39 PM Misc #16803: Discussion: those internal macros reside in public API headers
- shyouhei (Shyouhei Urabe) wrote in #note-6:
> https://github.com/ruby/ruby/pull/3079
Looks a lot clearer to me :)
I think indeed having `ruby/internal/attr/const.h` instead of `ruby/impl/attr/const.h` would be even clearer,
and for the... -
06:43 AM Misc #16803: Discussion: those internal macros reside in public API headers
- ioquatix (Samuel Williams) wrote in #note-7:
> If it was me, I'd literally call it `ruby/internal/file.h` to make it very clear, along with `ruby3` -> `rb_internal_/RB_INTERNAL_`
> ...
That arrangement could be confusing when @nobu mer... -
05:32 AM Misc #16803: Discussion: those internal macros reside in public API headers
- If it was me, I'd literally call it `ruby/internal/file.h` to make it very clear, along with `ruby3` -> `rb_internal_/RB_INTERNAL_`
Assuming `impl` means implementation, it's not clear that it's private, but `internal` does mean a cer... -
10:49 PM Bug #16831 (Closed): Running `Pathname#glob` with `File::FNM_DOTMATCH` option loses `.` and `..`
- Running `Dir.glob`, `Pathname.glob` with `File::FNM_DOTMATCH` option keeps `.` and `..` as their basename:
``` ruby
require 'pathname'
pathname = Pathname.pwd
#=> #<Pathname:/Users/jnito/dev>
# Dir.glob keeps "." and ".."
Dir... -
10:27 PM Revision e79e5e0b (git): Generalize the explanation of the side effect of the rb_equal() optimization
-
10:20 PM Revision 48d509ce (git): Document rb_equal() and clarify the relation with Kernel#===
- * Multiple times people have been confused and believed rb_equal()
called #=== but it does not, it calls #==.
* This optimization has a subtle side effect for Float::NAN,
which is now documented. -
10:09 PM Revision 00a9d697 (git): Remove redundant check in rb_obj_cmp()
- * rb_equal() already checks using `obj1 == obj2`.
-
09:06 PM Bug #16829: Exceptions raised from within an enumerated method lose part of their stacktrace
- I've made by best to improve the documentation in 7bde981.
@nobu: is it feasible to improve stacktraces raised within fibers? -
08:36 PM Bug #16829: Exceptions raised from within an enumerated method lose part of their stacktrace
- I believe this is due to the fact that `next`'s implementation uses a `Fiber`.
If you use `to_a` instead of `next`, you will get the stacktrace you were hoping for.
If you replace your definition of `execution_method_a` with:
``... - 09:04 PM Revision 86391a55 (git): * 2020-05-06 [ci skip]
- 09:04 PM Revision 7bde9812 (git): Improve documentation for Enumerator#next, next_values, peek and peek_values.
- [DOC] [#16829]
- 09:04 PM Revision 77f19d26 (git): Fix gemspec
-
08:23 PM Feature #16822: Array slicing: nils and edge cases
- I'm strongly against this, for compatibility reasons and because current choice is a consistent convention.
Before proposing any incompatible change, especially for an API that is very much in use, please provide a compelling use case... -
02:33 PM Bug #16830 (Closed): URI.parse raises NoMethodError instead of URI::InvalidURIError
-
07:58 AM Bug #16830 (Closed): URI.parse raises NoMethodError instead of URI::InvalidURIError
- When parsing an invalid uri using `URI.parse` it is possible to get `NoMethodError (undefined method `[]' for nil:NilClass)`. I would expect `URI::InvalidURIError` or similar.
Example with a trace:
```
irb(main):002:0> URI.parse("ld... -
02:29 PM Revision e04418bb (git): [ruby/uri] Check if DN exists
- https://bugs.ruby-lang.org/issues/16830
https://github.com/ruby/uri/commit/b4bf8c1217 -
10:09 AM Bug #16825: JSON#generate gives invalid json string
- shyouhei (Shyouhei Urabe) wrote in #note-2:
> Actually it is not an _invalid_ JSON in any sense. RFC 8259 section 4 explicitly allows such duplicated names:
> ...
I am little confused now, RFC states that
> The names within an object SH... -
04:53 AM Revision f0b5629c (git): envutil.rb: Also alias to #name
05/04/2020
-
09:15 PM Bug #16829 (Open): Exceptions raised from within an enumerated method lose part of their stacktrace
- Consider the following code:
``` ruby
class Test
include Enumerable
def each(&block)
raise "Boom"
end
end
def execution_method_a
Test.new.to_enum(:each).next
end
def execution_method_b
Test.new.each do
... - 08:50 PM Revision dc13a980 (git): * 2020-05-05 [ci skip]
-
08:50 PM Revision 5ef019e8 (git): Output compaction stats in one loop / eliminate 0 counts
- We only need to loop `T_MASK` times once. Also, not every value between
0 and `T_MASK` is an actual Ruby type. Before this change, some
integers were being added to the result hash even though they aren't
actual types. This patch omit... -
01:38 PM Feature #16828: Introduce find patterns
- Is this a bit like .scan(), but applied to the pattern matching style? (Not
sure if I understood this completely but it reminds me a bit of using .scan()
and MatchData on the result possibly.) -
09:03 AM Feature #16828: Introduce find patterns
- I am a noob in this area who don't understand what is good about it. Can you show us a bit more realistic example? The proposal kind of seems illustrative to me.
-
04:13 AM Feature #16828 (Closed): Introduce find patterns
- I propose to add find pattern to pattern matching.
# Specification
```
find_pattern: Constant(*var, pat, ..., *var)
| Constant[*var, pat, ..., *var]
| [*var, pat, ..., *var]
```
This pattern is similar ... -
09:10 AM Revision 5c250806 (git): Bison 3.5.91 now defaults parse.error to "simple"
-
08:46 AM Misc #16803: Discussion: those internal macros reside in public API headers
- https://github.com/ruby/ruby/pull/3079
-
04:35 AM Revision 47720e22 (git): Bison 3.59.1 folds yydestruct function header
-
04:27 AM Revision 6ed7bc83 (git): Fix indentation
-
04:27 AM Revision d6389224 (git): Fix pseudo code for NODE_ARYPTN, NODE_HSHPTN
- Due to the change in 3893a8dd42fb3bbd71750648c3c0de118955a6ea,
there is no longer a need to put true/false. -
03:28 AM Revision b7e1eda9 (git): Suppress warnings by gcc 10.1.0-RC-20200430
- * Folding results should not be empty.
If `OnigCodePointCount(to->n)` were 0, `for` loop using `fn`
wouldn't execute and `ncs` elements are not initialized.
```
enc/unicode.c:557:21: warning: 'ncs[0]' may be used uninitialized ... -
03:01 AM Feature #16822: Array slicing: nils and edge cases
- Slicing returns nil when the index is out of bounds, and that can be a useful signal that something is wrong and we should fail fast. Having that nil return value provides information that is not present if it's auto-converted to an empt...
-
12:39 AM Revision 39bd1244 (git): Revert 0776198486 for Solaris debug
- For some reason 0776198486 didn't fail
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200503T230004Z.log.html.gz
even while it was before 9aa5fe1bf8.
Anyway, there's no need to keep the change anymore.
05/03/2020
-
11:49 PM Revision a8d39a05 (git): Test no .dSYM on macOS
- I think 9aa5fe1bf89db8cd215b24d8ddfb668714681b83 helps this issue too.
-
11:41 PM Revision 9aa5fe1b (git): Split compile and link for MinGW support
- MinGW test_jit fails with no error message. Perhaps linker flags should
not be passed when compilation is happening.
Anyway splitting these stages doesn't matter for performance. So let me
just split it to fix the issue. Probably this h... -
10:49 PM Revision 07761984 (git): Debug Solaris's MJIT failure
- using -Winvalid-pch
https://rubyci.org/logs/rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20200501T170004Z.fail.html.gz -
10:16 PM Feature #16791: Shortcut for Process::Status.exitstatus
- nobu (Nobuyoshi Nakada) wrote in #note-4:
> Even `exec` works better than `system` & `exit`, unless you need some clean-ups.
You're right. What can you say about this 'vararg require':
```
module Kernel
alias :require_1 :requi... -
08:58 PM Revision f72bec2c (git): Travis s390x-linux is too unstable
- It has caused errors by ENOSPC like
https://travis-ci.org/github/ruby/ruby/jobs/682520961 too often.
I cleared all cache of Travis yesterday, but it didn't help it. Until
somebody figures out how to fix it, let me exclude it from CI sta... -
03:27 PM Revision 41e547e6 (git): Fixed constant initializer
- An expression using `static const` value seems not considered as
`static const` by Visual C. - 03:00 PM Revision dfbbd94e (git): * 2020-05-04 [ci skip]
-
03:00 PM Revision 5b28f01d (git): Make int-pair-to-real conversion more portable
- And utilize more bits even if DBL_MANT_DIG > 53.
-
02:48 PM Misc #16803: Discussion: those internal macros reside in public API headers
- shyouhei (Shyouhei Urabe) wrote in #note-4:
> What about those names, like `ruby_impl` or even, `rbimpl`?
I think those are already much clearer than `ruby3_`.
`ruby_internal_` might be even clearer but indeed it's long.
I think ... -
08:26 AM Misc #16803: Discussion: those internal macros reside in public API headers
- Thank you for looking at the new macros/functions.
Eregon (Benoit Daloze) wrote in #note-3:
> I took a look, these look fine to me, they seem almost all about portability, except `RUBY3_ANYARGS_DISPATCH*`.
Yes. ANYARGS related on... -
10:28 AM Revision 5aaa75e7 (git): Update to ruby/spec@032ee74
-
10:28 AM Revision f646d20a (git): Update to ruby/mspec@d419d0b
-
07:47 AM Bug #16825: JSON#generate gives invalid json string
- Actually it is not an _invalid_ JSON in any sense. RFC 8259 section 4 explicitly allows such duplicated names:
https://tools.ietf.org/html/rfc8259#section-4 -
07:45 AM Revision 4aca078b (git): Support cc_added_args again
- This support was accidentally removed in 818d6d33368a396d9cd3d1a34a84015a9e76c5c8.
-
07:41 AM Revision a218cbdf (git): Skip pdb corruption on Visual Studio 2015 as well
- It turned out that the pdb corruption happens on Visual Studio 2015 as
well.
https://ci.appveyor.com/project/ruby/ruby/builds/32602953/job/3gj43q18wqeiy729 -
07:34 AM Revision e0c023d1 (git): Skip only .dSYM cleanup on macOS
- Fix https://github.com/ruby/ruby/runs/636020145 without skipping too
many tests.
It seems that .c -> .o with debug flags and .o -> .so without debug
flags did not generate .dSYM but now .c -> .so with debug flags seems to
generate a .dS... -
07:09 AM Feature #15921: R-assign (rightward-assignment) operator
- duerst (Martin Dürst) wrote in #note-20:
> I'm not sure if having the assignment on the following line is possible (see below), but I think it should be. I'll submit a feature request if it is not yet possible.
It was removed at http... -
12:04 AM Feature #15921: R-assign (rightward-assignment) operator
- For me, the main use case is at the end of method chains. Instead of e.g.
```ruby
Word = Struct.new(:text, :count)
words = $stdin.read
.scan(/[-\w']+/)
.group_by(&:downcase)
.collect { |key, value| Word.new(key, v... -
06:29 AM Revision e49ecaed (git): Optimize sin/cos
- GCC/Clang can optimize to calculate `sin(x)` and `cos(x)` at once,
when the both are closely called on the same argument.
Similar optimization is possible for `__sinpi(x)` and `__cospi(x)`
if available, which calculate arguments in radi... -
05:36 AM Revision 8af098b4 (git): Show unreserved bits only
- `RUBY_FL_SEEN_OBJ_ID` can be set by #object_id.
-
04:43 AM Revision cc6afff0 (git): Avoid infinite times of JIT compaction
- It's to avoid memory leak for actual usage (because they don't get
unloaded properly), but also for fixing CI timed out due to JIT
compaction taking too long time on --jit-wait (which runs every time)
http://ci.rvm.jp/results/trunk-mjit-... -
03:07 AM Feature #16827 (Closed): C API for writing custom random number generator that can be used as Random objects
- I want to write custom random number generators (RNGs) that can be used as an alternative to a Random object.
Now custom RNGs with `#rand` method can be used for that purpose, but there is the method call overhead in the current impleme...
05/02/2020
-
09:08 PM Misc #16747: Repository reorganization request
- vo.x (Vit Ondruch) wrote in #note-7:
> Also, not sure what is the rationale for mainsrc, but at the first look, I couldn't find the sources, because it is somehow unexpected name (at least to me).
Indeed, I missed that, why `mainsrc`... -
09:05 PM Misc #16747: Repository reorganization request
- vo.x (Vit Ondruch) wrote in #note-7:
> Also, not sure what is the rationale for mainsrc, but at the first look, I couldn't find the sources, because it is somehow unexpected name (at least to me).
`src` is what people are used to, so... -
06:45 PM Misc #16747: Repository reorganization request
- shyouhei (Shyouhei Urabe) wrote in #note-5:
> - For instance ccan is a header-only library. Should it be placed under include?
It is not just header only library, but vendored code. It would be nice if this kind of code lives outsid... -
11:49 AM Misc #16747: Repository reorganization request
- IMHO it's best if `include/` in the repository corresponds closely to what ends up in the install dir.
So I prefer ccan in `src/`.
`make test*` uses the repository dir, so adding anything else under `include/` would expose it to thos... -
09:31 AM Misc #16747: Repository reorganization request
- Great work, thank you.
Questions/discussions related to header files:
- For instance ccan is a header-only library. Should it be placed under include?
- What about for instance vm_core.h etc?
- Should files under include be instal... -
03:21 AM Misc #16747: Repository reorganization request
- https://github.com/nobu/ruby/tree/feature/src-dir is the status quo.
-
03:23 PM Revision 224f29c8 (git): spec/ruby/core/process/clock_getres_spec.rb: lax the resolution limit
- Android is Linux, but the clock resolution is 10 milliseconds.
I think that 1 microsecond is too strict for embedded environment.
This change laxes the limit to 10 milliseconds. - 03:16 PM Revision fe2a832a (git): * 2020-05-03 [ci skip]
-
03:15 PM Revision cfe0e660 (git): Disable -Wswitch warning when VM_CHECK_MODE
-
03:11 PM Revision 717680f1 (git): DO NOT CORRUPT TYPE FLAGS
-
03:05 PM Revision 9998161b (git): Fixed missing `should`
-
02:16 PM Revision c2dc52e1 (git): Rename arguments for ObjectSpace::WeakMap#[]= for clarity
-
02:15 PM Revision e964f67b (git): append newline at EOF [ci skip]
-
02:11 PM Revision de8b8b60 (git): Command failed to run just fails
- The exact exit status value of command failed to run is not a
spec, but a platform dependent implementation detail. Just it is
not "success". -
02:09 PM Bug #16826 (Closed): ObjectSpace::WeakMap#key? returns false if value is nil
- Applied in changeset commit:git|a2be428c5fec31b8adbd5ac087e7637ddf7e54d0.
----------
Fix ObjectSpace::WeakMap#key? to work if the value is nil
* Fixes [Bug #16826] -
02:06 PM Bug #16826: ObjectSpace::WeakMap#key? returns false if value is nil
- I'll fix this.
-
01:17 PM Bug #16826 (Closed): ObjectSpace::WeakMap#key? returns false if value is nil
- ```
$ ruby -e 'map=ObjectSpace::WeakMap.new; map[:foo] = 4; p map; p map.key? :foo'
#<ObjectSpace::WeakMap:0x000055fbe0c38c00: :foo => 4>
true # OK
$ ruby -e 'map=ObjectSpace::WeakMap.new; map[:foo] = nil; p map; p map.key? :foo'... -
02:08 PM Revision a2be428c (git): Fix ObjectSpace::WeakMap#key? to work if the value is nil
- * Fixes [Bug #16826]
-
02:03 PM Revision c9213aa8 (git): Update to ruby/spec@d394dfd
-
02:03 PM Revision a68ddf42 (git): Update to ruby/mspec@ee29a34
-
01:17 PM Revision b78fba44 (git): internal/process.h: forgot to guard "#ifdef HAVE_WORKING_FORK"
-
12:34 PM Revision 91e4e240 (git): internal/process.h: add a no-warning simple wrapper for fork(2)
- As fork(2) is deprecated, its calls must be guarded by
`COMPILER_WARNING_IGNORED(-Wdeprecated-declarations)`.
All usages of fork(2) in process have been alread guarded. A new call
to fork(2) was added in ruby.c with f22c4ff359498ab342e4... -
12:06 PM Misc #16803: Discussion: those internal macros reside in public API headers
- shyouhei (Shyouhei Urabe) wrote in #note-2:
> If you want the complete list, new macros are:
> ...
I took a look, these look fine to me, they seem almost all about portability, except `RUBY3_ANYARGS_DISPATCH*`.
I think most of those... -
12:04 PM Bug #16825 (Third Party's Issue): JSON#generate gives invalid json string
- Interesting.
As `JSON.generate` converts the keys by `to_s`, it can be funnier.
```sh
$ ruby -rjson -e 'puts JSON.generate({"main"=>"string", :main=>"symbol", self=>"object"})'
{"main":"string","main":"symbol","main":"object"}
`... -
11:30 AM Bug #16825 (Third Party's Issue): JSON#generate gives invalid json string
- Hello Guys! First of all, thank you for working on the Ruby language.
I observed a peculiarity while playing around with `JSON#generate`. When hash contains keys of the same word/literal but as symbol and string in the same hash, the ... -
11:45 AM Feature #15921: R-assign (rightward-assignment) operator
- I think it would be good to make it a habit to justify any syntax change with some motivation.
For instance, I would suggest making sure the point is clear in the ticket before accepting a syntax change.
I don't see much examples her... -
09:15 AM Misc #16775: DevelopersMeeting20200514Japan
- * [Feature #15771] Add `String#split` option to set `split_type string` with a single space separator (sawa)
* Proposal by 284km. Allow splitting literally by `" "` when the argument is `" "`. -
02:54 AM Misc #16775: DevelopersMeeting20200514Japan
- - [Misc #16747] Repository reorganization request (shyouhei)
- @hsbt says:
> I remember @nobu has the working branch about this.
I would like to know its current situation.
-
02:47 AM Feature #16824: Follow RubyGems naming conventions for the stdlib
- shevegen (Robert A. Heiler) wrote in #note-9:
> The optionparser situation is indeed quite ... peculiar to me:
> ...
It has been available since 6 years ago, for your [Feature #9864].
```
$ ruby -roptionparser -e 'ARGV.parse!' -- -... -
01:42 AM Feature #16824: Follow RubyGems naming conventions for the stdlib
- The optionparser situation is indeed quite ... peculiar to me:
require 'optparse'
OptionParser.new
My brain has a hard time with it. I'd prefer:
require 'optionparser'
or
require 'option_parser' # <- would...