summaryrefslogtreecommitdiff
path: root/lib/irb/locale.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/irb/locale.rb')
-rw-r--r--lib/irb/locale.rb14
1 files changed, 5 insertions, 9 deletions
diff --git a/lib/irb/locale.rb b/lib/irb/locale.rb
index b2c90e38e2..351406c2da 100644
--- a/lib/irb/locale.rb
+++ b/lib/irb/locale.rb
@@ -10,7 +10,6 @@
#
#
-autoload :Tempfile, "tempfile"
autoload :Kconv, "kconv"
module IRB
@@ -126,15 +125,12 @@ module IRB
end
def real_load(path, priv)
- tmp_base = path.tr("./:", "___")
- lc_file = Tempfile.new(tmp_base)
- File.foreach(path) do |line|
- line = self.String(line)
- lc_file.print(line)
+ src = self.String(File.read(path))
+ if priv
+ eval("self", TOPLEVEL_BINDING).extend(Module.new {eval(src, nil, path)})
+ else
+ eval(src, TOPLEVEL_BINDING, path)
end
- lc_file.close
- toplevel_load lc_file.path, priv
- lc_file.close(true)
end
private :real_load