Forum: Ruby-core [Backport93 - Backport #7632][Open] IRB autocompletion bug

Posted by Bogdan Gusiev (bogdangusiev)
on 2012-12-28 14:50
(Received via mailing list)
Issue #7632 has been reported by bogdan (Bogdan Gusiev).

----------------------------------------
Backport #7632: IRB autocompletion bug
https://bugs.ruby-lang.org/issues/7632

Author: bogdan (Bogdan Gusiev)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:


Steps to reproduce:
* Launch IRB
* type: (&:)
* press tab

Result: irb crashes
Ruby version: ruby-1.9.3-p194

/Users/bogdan/.rvm/gems/ruby-1.9.3-p194/gems/wirble-0.1.3/lib/wirble.rb:95:in 
`save_history': undefined method `size' for nil:NilClass (NoMethodError)
  from 
/Users/bogdan/.rvm/gems/ruby-1.9.3-p194/gems/wirble-0.1.3/lib/wirble.rb:119:in 
`block in initialize'
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:80:in 
`block in <module:InputCompletor>': unmatched close parenthesis: /^:)/ 
(RegexpError)
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/input-method.rb:115:in 
`call'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/input-method.rb:115:in 
`readline'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/input-method.rb:115:in 
`gets'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:139:in 
`block (2 levels) in eval_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:273:in 
`signal_status'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:138:in 
`block in eval_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in 
`call'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in 
`buf_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:103:in 
`getc'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/slex.rb:205:in 
`match_io'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/slex.rb:75:in 
`match'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:286:in 
`token'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:262:in 
`lex'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:233:in 
`block (2 levels) in each_top_level_statement'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in 
`loop'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in 
`block in each_top_level_statement'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in 
`catch'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in 
`each_top_level_statement'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:155:in 
`eval_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:70:in 
`block in start'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:69:in 
`catch'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:69:in 
`start'
  from /Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/bin/irb:16:in `<main>'
Posted by drbrain (Eric Hodel) (Guest)
on 2012-12-28 19:36
(Received via mailing list)
Issue #7632 has been updated by drbrain (Eric Hodel).


Can you reproduce without wirble?
----------------------------------------
Backport #7632: IRB autocompletion bug
https://bugs.ruby-lang.org/issues/7632#change-35126

Author: bogdan (Bogdan Gusiev)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:


Steps to reproduce:
* Launch IRB
* type: (&:)
* press tab

Result: irb crashes
Ruby version: ruby-1.9.3-p194

/Users/bogdan/.rvm/gems/ruby-1.9.3-p194/gems/wirble-0.1.3/lib/wirble.rb:95:in 
`save_history': undefined method `size' for nil:NilClass (NoMethodError)
  from 
/Users/bogdan/.rvm/gems/ruby-1.9.3-p194/gems/wirble-0.1.3/lib/wirble.rb:119:in 
`block in initialize'
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:80:in 
`block in <module:InputCompletor>': unmatched close parenthesis: /^:)/ 
(RegexpError)
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/input-method.rb:115:in 
`call'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/input-method.rb:115:in 
`readline'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/input-method.rb:115:in 
`gets'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:139:in 
`block (2 levels) in eval_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:273:in 
`signal_status'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:138:in 
`block in eval_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in 
`call'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in 
`buf_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:103:in 
`getc'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/slex.rb:205:in 
`match_io'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/slex.rb:75:in 
`match'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:286:in 
`token'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:262:in 
`lex'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:233:in 
`block (2 levels) in each_top_level_statement'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in 
`loop'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in 
`block in each_top_level_statement'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in 
`catch'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in 
`each_top_level_statement'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:155:in 
`eval_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:70:in 
`block in start'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:69:in 
`catch'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:69:in 
`start'
  from /Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/bin/irb:16:in `<main>'
Posted by zzak (Zachary Scott) (Guest)
on 2012-12-28 20:13
(Received via mailing list)
Issue #7632 has been updated by zzak (Zachary Scott).


I was able to reproduce it with a previous patch level version of 1.9.3 
as well as p362

https://gist.github.com/4400982
----------------------------------------
Backport #7632: IRB autocompletion bug
https://bugs.ruby-lang.org/issues/7632#change-35127

Author: bogdan (Bogdan Gusiev)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:


Steps to reproduce:
* Launch IRB
* type: (&:)
* press tab

Result: irb crashes
Ruby version: ruby-1.9.3-p194

/Users/bogdan/.rvm/gems/ruby-1.9.3-p194/gems/wirble-0.1.3/lib/wirble.rb:95:in 
`save_history': undefined method `size' for nil:NilClass (NoMethodError)
  from 
/Users/bogdan/.rvm/gems/ruby-1.9.3-p194/gems/wirble-0.1.3/lib/wirble.rb:119:in 
`block in initialize'
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:80:in 
`block in <module:InputCompletor>': unmatched close parenthesis: /^:)/ 
(RegexpError)
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/input-method.rb:115:in 
`call'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/input-method.rb:115:in 
`readline'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/input-method.rb:115:in 
`gets'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:139:in 
`block (2 levels) in eval_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:273:in 
`signal_status'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:138:in 
`block in eval_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in 
`call'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in 
`buf_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:103:in 
`getc'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/slex.rb:205:in 
`match_io'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/slex.rb:75:in 
`match'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:286:in 
`token'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:262:in 
`lex'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:233:in 
`block (2 levels) in each_top_level_statement'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in 
`loop'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in 
`block in each_top_level_statement'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in 
`catch'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in 
`each_top_level_statement'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:155:in 
`eval_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:70:in 
`block in start'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:69:in 
`catch'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:69:in 
`start'
  from /Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/bin/irb:16:in `<main>'
Posted by keiju (Keiju Ishitsuka) (Guest)
on 2012-12-29 13:58
(Received via mailing list)
Issue #7632 has been updated by keiju (Keiju Ishitsuka).

Status changed from Open to Assigned
Assignee set to keiju (Keiju Ishitsuka)
ruby -v set to 2.0.0


----------------------------------------
Bug #7632: IRB autocompletion bug
https://bugs.ruby-lang.org/issues/7632#change-35138

Author: bogdan (Bogdan Gusiev)
Status: Assigned
Priority: Normal
Assignee: keiju (Keiju Ishitsuka)
Category:
Target version:
ruby -v: 2.0.0


Steps to reproduce:
* Launch IRB
* type: (&:)
* press tab

Result: irb crashes
Ruby version: ruby-1.9.3-p194

/Users/bogdan/.rvm/gems/ruby-1.9.3-p194/gems/wirble-0.1.3/lib/wirble.rb:95:in 
`save_history': undefined method `size' for nil:NilClass (NoMethodError)
  from 
/Users/bogdan/.rvm/gems/ruby-1.9.3-p194/gems/wirble-0.1.3/lib/wirble.rb:119:in 
`block in initialize'
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:80:in 
`block in <module:InputCompletor>': unmatched close parenthesis: /^:)/ 
(RegexpError)
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/input-method.rb:115:in 
`call'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/input-method.rb:115:in 
`readline'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/input-method.rb:115:in 
`gets'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:139:in 
`block (2 levels) in eval_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:273:in 
`signal_status'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:138:in 
`block in eval_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in 
`call'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in 
`buf_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:103:in 
`getc'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/slex.rb:205:in 
`match_io'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/slex.rb:75:in 
`match'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:286:in 
`token'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:262:in 
`lex'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:233:in 
`block (2 levels) in each_top_level_statement'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in 
`loop'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in 
`block in each_top_level_statement'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in 
`catch'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in 
`each_top_level_statement'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:155:in 
`eval_input'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:70:in 
`block in start'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:69:in 
`catch'
  from 
/Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/irb.rb:69:in 
`start'
  from /Users/bogdan/.rvm/rubies/ruby-1.9.3-p194/bin/irb:16:in `<main>'
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.