Project

General

Profile

Backport #7925

refine bug with puts

Added by marcandre (Marc-Andre Lafortune) almost 7 years ago. Updated almost 7 years ago.

Status:
Closed
Priority:
Normal
[ruby-core:52750]

Description

As reported by Dave Thomas in [ruby-core:52515]

module VanityPuts
  refine Object do
    private
    def puts(*args)
      args.each do |arg|
        super("Dave says: #{arg}")
      end
    end
  end
end

using VanityPuts

puts "Hello" # => SystemStackError, expected "Dave says: Hello"

Associated revisions

Revision ac94eb1a
Added by nobu (Nobuyoshi Nakada) almost 7 years ago

vm_insnhelper.c: compare with me in method top cfp

  • vm_insnhelper.c (vm_call_method): block level control frame does not have method entry, so obtain the method entry from method top-level control frame to be compared with refined method entry. [ruby-core:52750] [Bug #7925]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39451 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 39451
Added by nobu (Nobuyoshi Nakada) almost 7 years ago

vm_insnhelper.c: compare with me in method top cfp

  • vm_insnhelper.c (vm_call_method): block level control frame does not have method entry, so obtain the method entry from method top-level control frame to be compared with refined method entry. [ruby-core:52750] [Bug #7925]

Revision 39451
Added by nobu (Nobuyoshi Nakada) almost 7 years ago

vm_insnhelper.c: compare with me in method top cfp

  • vm_insnhelper.c (vm_call_method): block level control frame does not have method entry, so obtain the method entry from method top-level control frame to be compared with refined method entry. [ruby-core:52750] [Bug #7925]

Revision 39451
Added by nobu (Nobuyoshi Nakada) almost 7 years ago

vm_insnhelper.c: compare with me in method top cfp

  • vm_insnhelper.c (vm_call_method): block level control frame does not have method entry, so obtain the method entry from method top-level control frame to be compared with refined method entry. [ruby-core:52750] [Bug #7925]

Revision 39451
Added by nobu (Nobuyoshi Nakada) almost 7 years ago

vm_insnhelper.c: compare with me in method top cfp

  • vm_insnhelper.c (vm_call_method): block level control frame does not have method entry, so obtain the method entry from method top-level control frame to be compared with refined method entry. [ruby-core:52750] [Bug #7925]

Revision 39451
Added by nobu (Nobuyoshi Nakada) almost 7 years ago

vm_insnhelper.c: compare with me in method top cfp

  • vm_insnhelper.c (vm_call_method): block level control frame does not have method entry, so obtain the method entry from method top-level control frame to be compared with refined method entry. [ruby-core:52750] [Bug #7925]

Revision 39451
Added by nobu (Nobuyoshi Nakada) almost 7 years ago

vm_insnhelper.c: compare with me in method top cfp

  • vm_insnhelper.c (vm_call_method): block level control frame does not have method entry, so obtain the method entry from method top-level control frame to be compared with refined method entry. [ruby-core:52750] [Bug #7925]

Revision 8c7d4383
Added by nagachika (Tomoyuki Chikanaga) almost 7 years ago

merge revision(s) 39451: [Backport #7925]

    * vm_insnhelper.c (vm_call_method): block level control frame does not
      have method entry, so obtain the method entry from method top-level
      control frame to be compared with refined method entry.
      [ruby-core:52750] [Bug #7925]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 39672
Added by nagachika (Tomoyuki Chikanaga) almost 7 years ago

merge revision(s) 39451: [Backport #7925]

* vm_insnhelper.c (vm_call_method): block level control frame does not
  have method entry, so obtain the method entry from method top-level
  control frame to be compared with refined method entry.
  [ruby-core:52750] [Bug #7925]

History

#1

Updated by nobu (Nobuyoshi Nakada) almost 7 years ago

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

This issue was solved with changeset r39451.
Marc-Andre, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


vm_insnhelper.c: compare with me in method top cfp

  • vm_insnhelper.c (vm_call_method): block level control frame does not have method entry, so obtain the method entry from method top-level control frame to be compared with refined method entry. [ruby-core:52750] [Bug #7925]
#2

Updated by nagachika (Tomoyuki Chikanaga) almost 7 years ago

  • Tracker changed from Bug to Backport
  • Project changed from Ruby master to Backport200
  • Category deleted (core)
  • Status changed from Closed to Assigned
  • Assignee changed from shugo (Shugo Maeda) to nagachika (Tomoyuki Chikanaga)
  • Target version deleted (2.6)

I think this is definitely a bug-fix.

#3

Updated by nagachika (Tomoyuki Chikanaga) almost 7 years ago

  • Status changed from Assigned to Closed

This issue was solved with changeset r39672.
Marc-Andre, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


merge revision(s) 39451: [Backport #7925]

* vm_insnhelper.c (vm_call_method): block level control frame does not
  have method entry, so obtain the method entry from method top-level
  control frame to be compared with refined method entry.
  [ruby-core:52750] [Bug #7925]

Also available in: Atom PDF