diff options
author | keiju <keiju@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-07-09 11:17:17 +0000 |
---|---|---|
committer | keiju <keiju@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-07-09 11:17:17 +0000 |
commit | af064b04b1622897995fe1177aabfb60db90e6f7 (patch) | |
tree | 326cb343c08c55d2d93fa5223c01f940d3591f8b /lib/irb/workspace.rb | |
parent | 93602810e93b5da1c7161fb4b5c1a4025434a9ce (diff) |
* irb 0.9
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2627 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/irb/workspace.rb')
-rw-r--r-- | lib/irb/workspace.rb | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/irb/workspace.rb b/lib/irb/workspace.rb index 68559a1173..6dcb450fd7 100644 --- a/lib/irb/workspace.rb +++ b/lib/irb/workspace.rb @@ -1,6 +1,6 @@ # # irb/workspace-binding.rb - -# $Release Version: 0.7.3$ +# $Release Version: 0.9$ # $Revision$ # $Date$ # by Keiju ISHITSUKA([email protected]) @@ -11,11 +11,12 @@ # module IRB class WorkSpace - # create new workspace. - # set self to main if specified, otherwise inherit main - # from TOPLEVEL_BINDING. + # create new workspace. set self to main if specified, otherwise + # inherit main from TOPLEVEL_BINDING. def initialize(*main) - if IRB.conf[:SINGLE_IRB] + if main[0].kind_of?(Binding) + @binding = main.shift + elsif IRB.conf[:SINGLE_IRB] @binding = TOPLEVEL_BINDING else case IRB.conf[:CONTEXT_MODE] @@ -76,10 +77,10 @@ EOF attr_reader :binding attr_reader :main - def evaluate(statements, file = __FILE__, line = __LINE__) - eval statements, @binding, file, line + def evaluate(context, statements, file = __FILE__, line = __LINE__) + eval(statements, @binding, file, line) end - + # error message manupilator def filter_backtrace(bt) case IRB.conf[:CONTEXT_MODE] |