summaryrefslogtreecommitdiff
path: root/spec/ruby/library/open3/capture3_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/open3/capture3_spec.rb')
0 files changed, 0 insertions, 0 deletions
//github.com/ruby/delegate/commit/5ee4189537 2024-04-30[ruby/delegate] test: remove needless mu_ppSutou Kouhei It's for minitest. We don't need it with test-unit. https://github.com/ruby/delegate/commit/447cd43973 2022-12-01[ruby/delegate] Revert "Fix `DelegateClass` block "method redefined" warning"Nobuyoshi Nakada https://github.com/ruby/delegate/commit/2a91436284 2022-10-15[ruby/delegate] Fix DelegateClass block "method redefined" warningJonathan Hefner This commit prevents "method redefined" warnings when overriding methods within a `DelegateClass` block, such as in the following example: ```ruby Base = Class.new do def foo "foo" end end Overridden = DelegateClass(Base) do def foo super + "!" end end ``` Fixes https://bugs.ruby-lang.org/issues/19047. https://github.com/ruby/delegate/commit/214fae86de 2020-07-09Add instance_methods to class generated by DelegateClassMasataka Pocke Kuwabara Also, make DelegateClass.instance_method fallback to superclass. Fixes [Bug #16982] Notes: Merged: https://github.com/ruby/ruby/pull/3221 Merged-By: jeremyevans <code@jeremyevans.net> 2020-02-03Fix SimpleDelegator respond_to? regressionJean Boussier In 2.6, SimpleDelegator would always use the target `respond_to?` In 2.7.0 it doesn't if the target does not inherit from Object. This breaks compatibility for delegated objects that inherit from BasicObject and redefine `respond_to?`. Notes: Merged: https://github.com/ruby/ruby/pull/2875 2020-01-30delegate.rb: fixed keyword arguments in DelegateClassNobuyoshi Nakada `Delegator.delegating_block` should delegate keyword arguments separately. [ruby-core:96949] Notes: Merged: https://github.com/ruby/ruby/pull/2852 2020-01-03Call initialize_clone with freeze: false if clone called with freeze: falseJeremy Evans This makes it possible to initialize_clone to correctly not freeze internal state if the freeze: false keyword is passed to clone. If clone is called with freeze: true or no keyword, do not pass a second argument to initialize_clone to keep backwards compatibility. This makes it so that external libraries that override initialize_clone but do not support the freeze keyword will fail with ArgumentError if passing freeze: false to clone. I think that is better than the current behavior, which succeeds but results in an unfrozen object with frozen internals. Fix related issues in set and delegate in stdlib. Fixes [Bug #14266] Notes: Merged: https://github.com/ruby/ruby/pull/2816 2020-01-02Update tests for full keyword argument separationJeremy Evans Notes: Merged: https://github.com/ruby/ruby/pull/2794 2019-12-23Reword keyword arguments warning messages to convey these are deprecation ↵Marc-Andre Lafortune warnings 2019-12-20vm_args.c: rephrase the warning message of keyword argument separationYusuke Endoh (old) test.rb:4: warning: The last argument is used as the keyword parameter test.rb:1: warning: for `foo' defined here; maybe ** should be added to the call? (new) test.rb:4: warning: The last argument is used as keyword parameters; maybe ** should be added to the call test.rb:1: warning: The called method `foo' is defined here 2019-10-10Support delegates for BasicObjectJeremy Evans For BasicObject, bind the Kernel respond_to? instance method to the object and call it instead of calling the method directly. Also, use bind_call(recv, ...) for better performance. Fixes [Bug #16127] Notes: Merged: https://github.com/ruby/ruby/pull/2546 2019-09-25Add Module#ruby2_keywords for passing keywords through regular argument splatsJeremy Evans This approach uses a flag bit on the final hash object in the regular splat, as opposed to a previous approach that used a VM frame flag. The hash flag approach is less invasive, and handles some cases that the VM frame flag approach does not, such as saving the argument splat array and splatting it later: ruby2_keywords def foo(*args) @args = args bar end def bar baz(*@args) end def baz(*args, **kw) [args, kw] end foo(a:1) #=> [[], {a: 1}] foo({a: 1}, **{}) #=> [[{a: 1}], {}] foo({a: 1}) #=> 2.7: [[], {a: 1}] # and warning foo({a: 1}) #=> 3.0: [[{a: 1}], {}] It doesn't handle some cases that the VM frame flag handles, such as when the final hash object is replaced using Hash#merge, but those cases are probably less common and are unlikely to properly support keyword argument separation. Use ruby2_keywords to handle argument delegation in the delegate library. Notes: Merged: https://github.com/ruby/ruby/pull/2477