Skip to content

Commit

Permalink
* lib/irb/completion.rb (IRB::InputCompletor::CompletionProc):
Browse files Browse the repository at this point in the history
  ignore non-string name modules.  [ruby-core:42244][Bug #5938]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
nobu committed Jan 27, 2012
1 parent 0c5cfb6 commit ef72bdf
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 2 deletions.
5 changes: 5 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
Sat Jan 28 05:53:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>

* lib/irb/completion.rb (IRB::InputCompletor::CompletionProc):
ignore non-string name modules. [ruby-core:42244][Bug #5938]

Fri Jan 27 16:31:45 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>

* gc.c (HEAP_ALIGN, HEAP_ALIGN_MASK): DRY, let compiler calculate
Expand Down
8 changes: 6 additions & 2 deletions lib/irb/completion.rb
Original file line number Diff line number Diff line change
Expand Up @@ -178,8 +178,12 @@ module InputCompletor
rescue Exception
name = ""
end
next if name != "IRB::Context" and
/^(IRB|SLex|RubyLex|RubyToken)/ =~ name
begin
next if name != "IRB::Context" and
/^(IRB|SLex|RubyLex|RubyToken)/ =~ name
rescue Exception
next
end
candidates.concat m.instance_methods(false).collect{|x| x.to_s}
}
candidates.sort!
Expand Down
17 changes: 17 additions & 0 deletions test/irb/test_completion.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
require 'test/unit'
require_relative '../ruby/envutil'

module TestIRB
class TestCompletion < Test::Unit::TestCase
def test_nonstring_module_name
bug5938 = '[ruby-core:42244]'
cmds = %W[-rirb -rirb/completion -e IRB.setup(__FILE__)
-e IRB.conf[:MAIN_CONTEXT]=IRB::Irb.new.context
-e module\sFoo;def\sself.name;//;end;end
-e IRB::InputCompletor::CompletionProc.call("[1].first.")
-- -f --]
status = assert_in_out_err(cmds, "", //, [], bug5938)
assert(status.success?, bug5938)
end
end
end

0 comments on commit ef72bdf

Please sign in to comment.