* lib/irb/completion.rb (CompletionProc): calling the method "methods"

may raise an exception.  [ruby-core:28366]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27263 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
mame 2010-04-08 16:16:17 +00:00
Родитель f3b9acda21
Коммит d56c658030
2 изменённых файлов: 6 добавлений и 4 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Fri Apr 9 01:12:07 2010 Yusuke Endoh <mame@tsg.ne.jp>
* lib/irb/completion.rb (CompletionProc): calling the method "methods"
may raise an exception. [ruby-core:28366]
Thu Apr 8 14:33:24 2010 URABE Shyouhei <shyouhei@ruby-lang.org>
* configure.in: --disable-install-doc should prohibit doxygen.

Просмотреть файл

@ -138,10 +138,7 @@ module IRB
lv = eval("local_variables", bind).collect{|m| m.to_s}
cv = eval("self.class.constants", bind).collect{|m| m.to_s}
if (gv | lv | cv).include?(receiver)
# foo.func and foo is local var.
candidates = eval("#{receiver}.methods", bind).collect{|m| m.to_s}
elsif /^[A-Z]/ =~ receiver and /\./ !~ receiver
if (gv | lv | cv).include?(receiver) || /^[A-Z]/ =~ receiver and /\./ !~ receiver
# Foo::Bar.func
begin
candidates = eval("#{receiver}.methods", bind).collect{|m| m.to_s}