summaryrefslogtreecommitdiff
path: root/prelude.rb
diff options
context:
space:
mode:
Diffstat (limited to 'prelude.rb')
-rw-r--r--prelude.rb54
1 files changed, 30 insertions, 24 deletions
diff --git a/prelude.rb b/prelude.rb
index fdf401b56a..b6c610dd58 100644
--- a/prelude.rb
+++ b/prelude.rb
@@ -1,35 +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
-def require_relative(relative_feature)
- c = caller.first
- e = c.rindex(/:\d+:in /)
- file = $`
- if /\A\((.*)\)/ =~ file # eval, etc.
- raise LoadError, "require_relative is called in #{$1}"
+module Enumerable
+ # Makes a set from the enumerable object with given arguments.
+ def to_set(&block)
+ Set.new(self, &block)
end
- absolute_feature = File.expand_path(File.join(File.dirname(file), relative_feature))
- require absolute_feature
end