Project

General

Profile

Actions

Bug #3126

closed

irb/completionでTypeError

Added by znz (Kazuhiro NISHIYAMA) about 12 years ago. Updated about 11 years ago.

Status:
Closed
Priority:
Normal
Target version:
ruby -v:
ruby 1.9.2dev (2010-04-10 trunk 27284) [x86_64-linux]
Backport:
[ruby-dev:40953]

Description

=begin
irb/completion を読み込んでいると「a.」や「C::」などの後にタブキーを押すと
.../irb/completion.rb:137:in quote': can't convert NilClass to String (TypeError) や .../irb/completion.rb:87:in quote': can't convert NilClass to String (TypeError)
で終了してしまいます。

以下の修正で直るようです。

diff --git a/lib/irb/completion.rb b/lib/irb/completion.rb
index a345c23..e059bc4 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}
    =end

Actions #1

Updated by keiju (Keiju Ishitsuka) about 12 years ago

=begin
けいじゅ@いしつかです.

In the message: "[Bug #3126] irb/completionでTypeError", on Apr/11 11:34(JST)
Kazuhiro NISHIYAMA writes:

Bug #3126: irb/completionでTypeError
http://redmine.ruby-lang.org/issues/show/3126

irb/completion を読み込んでいると「a.」や「C::」などの後にタブキーを押すと
.../irb/completion.rb:137:in quote': can't convert NilClass to String (TypeError) や .../irb/completion.rb:87:in quote': can't convert NilClass to String (TypeError)
で終了してしまいます。

申し訳ない. コミットしました.

__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: <<---
=end

Actions #2

Updated by keiju (Keiju Ishitsuka) about 12 years ago

=begin
けいじゅ@いしつかです.

In the message: "[Bug #3126] irb/completionでTypeError", on Apr/11 11:34(JST)
Kazuhiro NISHIYAMA writes:

Bug #3126: irb/completionでTypeError
http://redmine.ruby-lang.org/issues/show/3126

irb/completion を読み込んでいると「a.」や「C::」などの後にタブキーを押すと
.../irb/completion.rb:137:in quote': can't convert NilClass to String (TypeError) や .../irb/completion.rb:87:in quote': can't convert NilClass to String (TypeError)
で終了してしまいます。

申し訳ない. コミットしました.

__
---------------------------------------------------->> 石塚 圭樹 <<---
---------------------------------->> e-mail: <<---

=end

Actions #3

Updated by keiju (Keiju Ishitsuka) about 12 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r27327.
Kazuhiro, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Actions

Also available in: Atom PDF