diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-12-05 09:41:11 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2009-12-05 09:41:11 +0000 |
commit | ccddc7b05df595f2514752cc4b38829a0b3444f0 (patch) | |
tree | 3717d728d5e20b27b5ac872b27ae2068b83a51c7 | |
parent | a9777ca24c82de575f2119deecb2320ed0d6c071 (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-- | ChangeLog | 14 | ||||
-rw-r--r-- | lib/irb/extend-command.rb | 26 | ||||
-rw-r--r-- | version.h | 2 |
3 files changed, 28 insertions, 14 deletions
@@ -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> @@ -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 |