
require 'facets/core/binding/eval'

class Binding

  # Returns the call stack, same format as Kernel#caller()
  def caller( skip = 0 )
    eval( "caller( #{skip} )" )
  end

end



#  _____         _
# |_   _|__  ___| |_
#   | |/ _ \/ __| __|
#   | |  __/\__ \ |_
#   |_|\___||___/\__|
#
=begin test

  require 'test/unit'

  class TCBinding < Test::Unit::TestCase

    def setup
      a = 1
      b = 2
      x = "hello"
      # the line number must be updated if it moves
      @bind = binding; @this_line_no = 25
    end

    def test_caller
      # how to test?
      assert_nothing_raised{ @bind.caller }
    end

  end

=end
