Backport #8008

super's implicit args behavior with keyword args

Added by nov matake over 2 years ago. Updated over 2 years ago.

[ruby-core:53114]
Status:Closed
Priority:Normal
Assignee:Tomoyuki Chikanaga

Description

I thought this sample says "Year!" 3 times, but actually, keyword args are't passed to super.
https://gist.github.com/nov/5075185

Is this intended behavior?
If so, please ignore this issue.

Associated revisions

Revision 39627
Added by Nobuyoshi Nakada over 2 years ago

compile.c: zsuper keyword args

  • compile.c (iseq_compile_each): pass keyword arguments to zsuper, with current values. [Bug #8008]

Revision 39914
Added by Tomoyuki Chikanaga over 2 years ago

merge revision(s) 39627: [Backport #8008]

* compile.c (iseq_compile_each): pass keyword arguments to zsuper,
  with current values.   [Bug #8008]

Revision 39917
Added by Tomoyuki Chikanaga over 2 years ago

merge revision(s) 39625,39626: [Backport #8008]

compile.c: calc in int

* compile.c (iseq_compile_each): calculate argc as int, not as Fixnum.

History

#1 Updated by Nobuyoshi Nakada over 2 years ago

  • Category set to core
  • Assignee set to Nobuyoshi Nakada
  • Target version set to 2.1.0

Definitely a bug.

#2 Updated by Nobuyoshi Nakada over 2 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

This issue was solved with changeset r39627.
nov, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


compile.c: zsuper keyword args

  • compile.c (iseq_compile_each): pass keyword arguments to zsuper, with current values. [Bug #8008]

#3 Updated by Nobuyoshi Nakada over 2 years ago

  • Assignee changed from Nobuyoshi Nakada to Tomoyuki Chikanaga
  • Target version deleted (2.1.0)
  • Tracker changed from Bug to Backport
  • Project changed from Ruby trunk to Backport200
  • Category deleted (core)
  • Status changed from Closed to Assigned

#4 Updated by Tomoyuki Chikanaga over 2 years ago

  • Status changed from Assigned to Closed

This issue was solved with changeset r39914.
nov, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 39627: [Backport #8008]

* compile.c (iseq_compile_each): pass keyword arguments to zsuper,
  with current values.   [Bug #8008]

#5 Updated by Tomoyuki Chikanaga over 2 years ago

  • Status changed from Closed to Assigned

I'm so sorry r39914 introduce compile error on ruby_2_0_0.
r39627 depend on r39626. I'll merge r39626.

#6 Updated by Tomoyuki Chikanaga over 2 years ago

Hmm... r39626 cannot be merged cleanly.
I'll temporary revert r39914.

#7 Updated by Tomoyuki Chikanaga over 2 years ago

  • Status changed from Assigned to Closed

This issue was solved with changeset r39917.
nov, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 39625,39626: [Backport #8008]

compile.c: calc in int

* compile.c (iseq_compile_each): calculate argc as int, not as Fixnum.

Also available in: Atom PDF