summaryrefslogtreecommitdiff
path: root/prelude.rb
diff options
context:
space:
mode:
Diffstat (limited to 'prelude.rb')
-rw-r--r--prelude.rb48
1 files changed, 32 insertions, 16 deletions
diff --git a/prelude.rb b/prelude.rb
index a38a578595..b6c610dd58 100644
--- a/prelude.rb
+++ b/prelude.rb
@@ -1,25 +1,41 @@
+class Binding
+ # :nodoc:
+ def irb(...)
+ suppress = Thread.current[:__bundled_gems_warning_suppression]
+ Thread.current[:__bundled_gems_warning_suppression] = ['reline', 'rdoc']
-# Mutex
-
-class Mutex
- def synchronize
- self.lock
begin
- yield
- ensure
- self.unlock rescue nil
+ require 'irb'
+ rescue LoadError, Gem::LoadError
+ Gem::BUNDLED_GEMS.force_activate 'irb'
+ require 'irb'
end
+ irb(...)
+ ensure
+ Thread.current[:__bundled_gems_warning_suppression] = suppress
end
-end
-# Thread
+ # suppress redefinition warning
+ alias irb irb # :nodoc:
+end
-class Thread
- MUTEX_FOR_THREAD_EXCLUSIVE = Mutex.new
- def self.exclusive
- MUTEX_FOR_THREAD_EXCLUSIVE.synchronize{
- yield
- }
+module Kernel
+ # :stopdoc:
+ def pp(*objs)
+ require 'pp'
+ pp(*objs)
end
+
+ # suppress redefinition warning
+ alias pp pp
+
+ private :pp
+ # :startdoc:
end
+module Enumerable
+ # Makes a set from the enumerable object with given arguments.
+ def to_set(&block)
+ Set.new(self, &block)
+ end
+end