summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/irb/completion.rb6
2 files changed, 8 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 71d342e187..f36e3726a0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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}