summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-12-05 09:41:11 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-12-05 09:41:11 +0000
commitccddc7b05df595f2514752cc4b38829a0b3444f0 (patch)
tree3717d728d5e20b27b5ac872b27ae2068b83a51c7
parenta9777ca24c82de575f2119deecb2320ed0d6c071 (diff)
* lib/irb/extend-command.rb (IRB::ExtendCommandBundle::def_extend_command):
gives eval a source location for readability of backtrace. * lib/irb/extend-command.rb (IRB::ContextExtender::def_extend_command): ditto * lib/irb/extend-command.rb (IRB::MethodExtender::def_pre_proc): ditto * lib/irb/extend-command.rb (IRB::MethodExtender::def_post_proc): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@26020 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog14
-rw-r--r--lib/irb/extend-command.rb26
-rw-r--r--version.h2
3 files changed, 28 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 44a78f73ce..55359f7aaf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+Sat Dec 5 14:24:10 2009 Yuki Sonoda (Yugui) <yugui@yugui.jp>
+
+ * lib/irb/extend-command.rb (IRB::ExtendCommandBundle::def_extend_command):
+ gives eval a source location for readability of backtrace.
+
+ * lib/irb/extend-command.rb (IRB::ContextExtender::def_extend_command):
+ ditto
+
+ * lib/irb/extend-command.rb (IRB::MethodExtender::def_pre_proc):
+ ditto
+
+ * lib/irb/extend-command.rb (IRB::MethodExtender::def_post_proc):
+ ditto
+
Tue Jul 21 21:37:19 2009 Keiju Ishitsuka <keiju@emperor2.pendome>
* lib/irb/cmd/help.rb: fixed irb's "help" command. [ruby-core:22310].
diff --git a/lib/irb/extend-command.rb b/lib/irb/extend-command.rb
index 2816f35116..84c4c05e15 100644
--- a/lib/irb/extend-command.rb
+++ b/lib/irb/extend-command.rb
@@ -122,28 +122,28 @@ module IRB
end
if load_file
- eval %[
+ eval <<-"EOS", binding, __FILE__, __LINE__+1
def #{cmd_name}(*opts, &b)
require "#{load_file}"
arity = ExtendCommand::#{cmd_class}.instance_method(:execute).arity
- args = (1..arity.abs).map {|i| "arg" + i.to_s }
+ args = (1..arity).map {|i| "arg" + i.to_s }
args << "*opts" if arity < 0
args << "&block"
args = args.join(", ")
- eval %[
+ eval <<-"EOS2", binding, __FILE__, __LINE__+1
def #{cmd_name}(\#{args})
ExtendCommand::#{cmd_class}.execute(irb_context, \#{args})
end
- ]
+ EOS2
send :#{cmd_name}, *opts, &b
end
- ]
+ EOS
else
- eval %[
+ eval <<-"EOS", binding, __FILE__, __LINE__+1
def #{cmd_name}(*opts, &b)
ExtendCommand::#{cmd_class}.execute(irb_context, *opts, &b)
end
- ]
+ EOS
end
for ali, flag in aliases
@@ -207,7 +207,7 @@ module IRB
end
def self.def_extend_command(cmd_name, load_file, *aliases)
- Context.module_eval %[
+ Context.module_eval <<-"EOS", __FILE__, __LINE__+1
def #{cmd_name}(*opts, &b)
Context.module_eval {remove_method(:#{cmd_name})}
require "#{load_file}"
@@ -216,7 +216,7 @@ module IRB
for ali in aliases
alias_method ali, cmd_name
end
- ]
+ EOS
end
CE.install_extend_commands
@@ -228,13 +228,13 @@ module IRB
extend_method = extend_method.to_s
alias_name = new_alias_name(base_method)
- module_eval %[
+ module_eval <<-"EOS", __FILE__, __LINE__+1
alias_method alias_name, base_method
def #{base_method}(*opts)
send :#{extend_method}, *opts
send :#{alias_name}, *opts
end
- ]
+ EOS
end
def def_post_proc(base_method, extend_method)
@@ -242,13 +242,13 @@ module IRB
extend_method = extend_method.to_s
alias_name = new_alias_name(base_method)
- module_eval %[
+ module_eval <<-"EOS", __FLIE__, __LINE__+1
alias_method alias_name, base_method
def #{base_method}(*opts)
send :#{alias_name}, *opts
send :#{extend_method}, *opts
end
- ]
+ EOS
end
# return #{prefix}#{name}#{postfix}<num>
diff --git a/version.h b/version.h
index 3cfe8becd1..8923a4a234 100644
--- a/version.h
+++ b/version.h
@@ -1,5 +1,5 @@
#define RUBY_VERSION "1.9.1"
-#define RUBY_PATCHLEVEL 373
+#define RUBY_PATCHLEVEL 374
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 9
#define RUBY_VERSION_TEENY 1