William Fisk wrote: > Joel, > > Thanks for that. Unfortunately it doesn't work for me. > I get lots of errors like the following > > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/e2mmap.rb:152: > warning: already initialized constant UnrecognizedSwitch > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/e2mmap.rb:152: > warning: already initialized constant NotImplementedError > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/e2mmap.rb:152: > warning: already initialized constant CantReturnToNormalMode > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/e2mmap.rb:152: > warning: already initialized constant IllegalParameter > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/e2mmap.rb:152: > warning: already initialized constant IrbAlreadyDead > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/e2mmap.rb:152: > warning: already initialized constant IrbSwitchedToCurrentThread > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/e2mmap.rb:152: > warning: already initialized constant NoSuchJob > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/e2mmap.rb:152: > warning: already initialized constant CantShiftToMultiIrbMode > /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/e2mmap.rb:152: > warning: already initialized constant CantChangeBinding > > However, I googled "IRB.start_session" and found some other interesting > post and replies (all by you I think!); and I can see other things are > possible. > I'm going to look at this again tomorrow. > > Thanks > > William Sorry, cut-and-paste error :( Removing the IRB.setup nil call should help. Here's the code for .irbrc: module IRB def IRB.start_session(*args) workspace = WorkSpace.new(*args) if @CONF[:SCRIPT] ## normally, set by parse_opts $irb = Irb.new(workspace, @CONF[:SCRIPT]) else $irb = Irb.new(workspace) end @CONF[:IRB_RC].call($irb.context) if @CONF[:IRB_RC] @CONF[:MAIN_CONTEXT] = $irb.context trap 'INT' do $irb.signal_handle end custom_configuration if defined?(IRB.custom_configuration) catch :IRB_EXIT do $irb.eval_input end end end x = Object.new puts "\nStarted irb shell for x" IRB.start_session(x) -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407