summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-26Add a missing labelNobuyoshi Nakada
2023-09-26Download Unicode files once [ci skip]Nobuyoshi Nakada
2023-09-26Fix build on FreeBSDNobuyoshi Nakada
2023-09-25[ruby/reline] Update to Unicode 15.1.0elfham
(https://github.com/ruby/reline/pull/591) https://github.com/ruby/reline/commit/c2fc1f771a
2023-09-25[Feature #19790] [DOC] Fix the manual page as crash reportNobuyoshi Nakada
Also add missing `%f` and `%F`.
2023-09-25Use named references for method/class/module definitionsNobuyoshi Nakada
2023-09-25Extract class/module context checksNobuyoshi Nakada
2023-09-25Split the build of `RESBODY` nodesNobuyoshi Nakada
2023-09-25Reduce stack usage in `string_content`Nobuyoshi Nakada
2023-09-25Remove `escape_Qundef`Nobuyoshi Nakada
Ripper dispatcher methods always escape `Qundef` by `get_value`.
2023-09-25Name midrules in complex rulesNobuyoshi Nakada
2023-09-25ripper: Support named references in the DSLNobuyoshi Nakada
2023-09-25[Feature #19790] Rename BUGREPORT_PATH as CRASH_REPORTNobuyoshi Nakada
2023-09-25Honor the same option given laterNobuyoshi Nakada
2023-09-25Add `--bugreport-path` optionNobuyoshi Nakada
It has precedence over the environment variable `RUBY_BUGREPORT_PATH`.
2023-09-25Add "piping bug reports to a program" to the manual pageNobuyoshi Nakada
2023-09-25Test bug_reportNobuyoshi Nakada
2023-09-25Invoke the command when RUBY_BUGREPORT_PATH starts with `|`Nobuyoshi Nakada
2023-09-25Add `rb_w32_uspawn_process`Nobuyoshi Nakada
2023-09-25Add `RUBY_BUGREPORT_PATH` to the manual pageNobuyoshi Nakada
2023-09-25Test bug_reportNobuyoshi Nakada
2023-09-25Extract `expand_report_argument`Nobuyoshi Nakada
2023-09-25Redirect to RUBY_BUGREPORT_PATH fileNobuyoshi Nakada
2023-09-25Abort dumping when output failedNobuyoshi Nakada
2023-09-25Dump backtraces to an arbitrary streamNobuyoshi Nakada
2023-09-25[ruby/yarp] Fix crashes in parsing block argumentsHaldun Bayhantopcu
https://github.com/ruby/yarp/commit/e1f2fde775
2023-09-25[rubygems/rubygems] Allow standalone mode to work on a Windows edge caseDavid Rodriguez
If a gem is located in a different drive than the Gemfile, standalone mode will fail to generate the `bundler/setup` script, failing with an error like ``` ArgumentError: different prefix: "C:/" and "D:/a/rubygems/rubygems/bundler/tmp/2/bundled_app/bundle/bundler" C:/hostedtoolcache/windows/Ruby/3.0.5/x64/lib/ruby/3.0.0/pathname.rb:528:in `relative_path_from' D:/a/rubygems/rubygems/bundler/tmp/2/gems/system/gems/bundler-2.4.20/lib/bundler/installer/standalone.rb:58:in `gem_path' D:/a/rubygems/rubygems/bundler/tmp/2/gems/system/gems/bundler-2.4.20/lib/bundler/installer/standalone.rb:33:in `block (2 levels) in paths' D:/a/rubygems/rubygems/bundler/tmp/2/gems/system/gems/bundler-2.4.20/lib/bundler/installer/standalone.rb:32:in `map' D:/a/rubygems/rubygems/bundler/tmp/2/gems/system/gems/bundler-2.4.20/lib/bundler/installer/standalone.rb:32:in `block in paths' ``` I'm fixing this by falling back to using a full path in this case. This was caught by a failing spec, so I'm not adding new specs. https://github.com/rubygems/rubygems/commit/3cb9b9ab7a
2023-09-25Bump actions/checkout from 4.0.0 to 4.1.0dependabot[bot]
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.0.0 to 4.1.0. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/3df4ab11eba7bda6032a0b82a6bb43b11571feac...8ade135a41bc03ea155e62e844d188df1ea18608) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
2023-09-24[DOC] Correction for doc guide + TOC fix in File (#8505)Burdette Lamar
2023-09-24Add rb_hash_free for the GC to usePeter Zhu
2023-09-24Add hash_st_freePeter Zhu
2023-09-24Refactor to use ripper_new_yylval2yui-knk
2023-09-24Fix test thread leakageNobuyoshi Nakada
2023-09-24The first arg of NEW_OPT_ARG is always 0yui-knk
2023-09-23[Bug #19901]Adam Hess
fix leak in module clone Co-authored-by: Peter Zhu <peter@peterzhu.ca>
2023-09-23Fix memory leak in Hash#rehash for ST hashesPeter Zhu
We need to free the old ST table in Hash#rehash. Co-authored-by: Adam Hess <adamhess1991@gmail.com>
2023-09-23Improve VCS::GIT#format_changelog addessing [ci skip]Nobuyoshi Nakada
2023-09-23Ignore rbs test failuresTakashi Kokubun
For some reason, it's been failing only on YJIT, but apparently it's reproducible on the interpreter as well. So it's not related to YJIT. rbs marked rbs tests on Ruby master as allow_failures https://github.com/ruby/rbs/pull/1536, so it's known to not work on Ruby master. We should revert this once we fix the flaky test failure on Ruby master.
2023-09-23Improve performance of include? by 5-10xHartley McGuire
Rails uses IPAddr#include? to evaluate what it should use as the client's remote ip by filtering potential ips against a trusted list of internal ips. In a _very_ minimal app, #include? was showing up in a profile as ~1% of request time. The issue is that #include? was converting itself and the other value passed in to ranges of IPAddr. This mean as a worst case (where other is a non-IPAddr, like a String) then there would be 5 IPAddr instances created (other -> IPAddr, and two each for the conversions to ranges). However, wrapping the begin and end values as IPAddr is not needed because they are necessarily fixed addresses already. This patch extracts the logic for getting the begin_addr and end_addr from the #to_range method so that they can be used in #include? without having to instantiate so many IPAddr. Benchmark: ```ruby net1 = IPAddr.new("192.168.2.0/24") net2 = IPAddr.new("192.168.2.100") net3 = IPAddr.new("192.168.3.0") net4 = IPAddr.new("192.168.2.0/16") Benchmark.ips do |x| x.report("/24 includes address") { net1.include? net2 } x.report("/24 not includes address") { net1.include? net3 } x.report("/16 includes /24") { net4.include? net1 } x.report("/24 not includes /16") { net1.include? net4 } x.compare! end ``` Before: ``` Comparison: /24 not includes /16: 175041.3 i/s /24 not includes address: 164933.2 i/s - 1.06x (± 0.00) slower /16 includes /24: 163881.9 i/s - 1.07x (± 0.00) slower /24 includes address: 163558.4 i/s - 1.07x (± 0.00) slower ``` After: ``` Comparison: /24 not includes /16: 2588364.9 i/s /24 not includes address: 1474650.7 i/s - 1.76x (± 0.00) slower /16 includes /24: 1461351.0 i/s - 1.77x (± 0.00) slower /24 includes address: 1425463.5 i/s - 1.82x (± 0.00) slower ```
2023-09-22Try to fix compilation on m68kPeter Zhu
Compilation is failing on m68k-linux with: ``` ./include/ruby/internal/static_assert.h:51:46: error: static assertion failed: "sizeof_method_def: offsetof(rb_method_definition_t, body)==8" 51 | # define RBIMPL_STATIC_ASSERT0 __extension__ _Static_assert | ^~~~~~~~~~~~~~ ./include/ruby/internal/static_assert.h:70:5: note: in expansion of macro 'RBIMPL_STATIC_ASSERT0' 70 | RBIMPL_STATIC_ASSERT0(expr, # name ": " # expr) | ^~~~~~~~~~~~~~~~~~~~~ ./internal/static_assert.h:13:24: note: in expansion of macro 'RBIMPL_STATIC_ASSERT' 13 | # define STATIC_ASSERT RBIMPL_STATIC_ASSERT | ^~~~~~~~~~~~~~~~~~~~ ./method.h:203:1: note: in expansion of macro 'STATIC_ASSERT' 203 | STATIC_ASSERT(sizeof_method_def, offsetof(rb_method_definition_t, body)==8); | ^~~~~~~~~~~~~ ```
2023-09-22[YARP] Use the integer base flag (#8476)Kevin Newton
Use the integer base flag
2023-09-22[ruby/yarp] Check class name to be a constant path node or a constant read nodeHaldun Bayhantopcu
https://github.com/ruby/yarp/commit/fd7c44f13f
2023-09-22Resync yarp (#8498)Jemma Issroff
* [YARP] Reject numbered parameters in block parameters * [YARP] Do not allow BEGIN except the toplevel --------- Co-authored-by: Haldun Bayhantopcu <haldun@github.com>
2023-09-22[ruby/yarp] Introduce YP_TOKEN_METHOD_NAMEHaldun Bayhantopcu
https://github.com/ruby/yarp/commit/e855bf415c
2023-09-22[YARP] Remove minor instances of rb_intern (#8497)Jemma Issroff
2023-09-22Magical wait to get rid of deadlock on macOSNobuyoshi Nakada
2023-09-22[ruby/yarp] use `yp_statements_node_body_length` a little bit moreNathan Froyd
https://github.com/ruby/yarp/commit/65d8816178
2023-09-22[ruby/stringio] [DOC] Fix linkBurdette Lamar
(https://github.com/ruby/stringio/pull/65) https://github.com/ruby/stringio/commit/e3ea087d04
2023-09-22[ruby/yarp] Fix listener leave event orderKevin Newton
https://github.com/ruby/yarp/commit/1e6e264836
2023-09-22[ruby/prettyprint] [DOC] Link fixesBurdetteLamar
https://github.com/ruby/prettyprint/commit/f1f583c827