diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/irb/completion.rb | 6 |
2 files changed, 8 insertions, 3 deletions
@@ -1,3 +1,8 @@ +Tue Apr 13 13:57:36 2010 Keiju Ishitsuka <keiju@ruby-lang.org> + + * lib/irb/completion.rb (CompletionProc): fix [ruby-dev:40953] + [Bug #3126]. Thanks Kazuhiro NISHIYAMA. + Tue Apr 13 09:32:12 2010 NARUSE, Yui <naruse@ruby-lang.org> * transcode.c (transcode_loop): insert output the value when diff --git a/lib/irb/completion.rb b/lib/irb/completion.rb index a345c23af7..e059bc4055 100644 --- a/lib/irb/completion.rb +++ b/lib/irb/completion.rb @@ -81,10 +81,10 @@ module IRB candidates.grep(/^#{receiver}/).collect{|e| "::" + e} # when /^(((::)?[A-Z][^:.\(]*)+)::?([^:.]*)$/ - when /^([A-Z].*)::([^:.]+)*$/ + when /^([A-Z].*)::([^:.]*)$/ # Constant or class methods receiver = $1 - message = Regexp.quote($4) + message = Regexp.quote($2) begin candidates = eval("#{receiver}.constants.collect{|m| m.to_s}", bind) candidates |= eval("#{receiver}.methods.collect{|m| m.to_s}", bind) @@ -134,7 +134,7 @@ module IRB when /^([^."].*)\.([^.]*)$/ # variable receiver = $1 - message = Regexp.quote($3) + message = Regexp.quote($2) gv = eval("global_variables", bind).collect{|m| m.to_s} lv = eval("local_variables", bind).collect{|m| m.to_s} |