From: Alex Young Date: 2012-08-30T23:54:17+09:00 Subject: [ruby-core:47370] Re: [ruby-trunk - Bug #6950] ruby-mode: comint-previous-input does not work On 30/08/12 01:57, drbrain (Eric Hodel) wrote: > > Issue #6950 has been updated by drbrain (Eric Hodel). > > > =begin > Additionally, perhaps your problem is your .irbrc? My irb prompt is unchanged since 1.8.7. > > 1.9.2-p290: > > irb(main):001:0> RUBY_VERSION > => "1.9.2" > irb(main):002:0> RUBY_PATCHLEVEL > => 290 > > 1.9.3-p194: > > irb(main):001:0> [RUBY_VERSION, RUBY_PATCHLEVEL] > => ["1.9.3", 194] > > 2.0.0-r36819 > > irb(main):001:0> [RUBY_VERSION, RUBY_REVISION] > => ["2.0.0", 36819] > > =end This is RVM at work: https://rvm.io/workflow/irbrc/ $ rvm use system Now using system ruby. $ irb irb(main):001:0> $ rvm use 1.8.7-p302 Using /home/zander/.rvm/gems/ruby-1.8.7-p302 $ irb 1.8.7 :001 > $ rvm use 1.9.3 Using /home/zander/.rvm/gems/ruby-1.9.3-p194 $ irb 1.9.3p194 :001 > -- Alex > > ---------------------------------------- > Bug #6950: ruby-mode: comint-previous-input does not work > https://bugs.ruby-lang.org/issues/6950#change-29104 > > Author: cinsk (Seong-Kook Shin) > Status: Third Party's Issue > Priority: Normal > Assignee: > Category: > Target version: 1.9.3 > ruby -v: ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux] > > > On RVM irb with ruby 1.9.3-p194, the prompt is somewhat different from irb with ruby 1.8.x > > On ruby 1.8, the prompt looks like: > > irb(main):001:0> _ > > On ruby 1.9.x, the prompt looks like: > > ruby-1.9.2-p180 :001> _ > > Since misc/inf-ruby.el has regular expressions that only parse "irb(...)>" prompt, > M-p or M-n command do not work properly. > > Solution: > > 1. replace the initial value of 'inferior-ruby-first-prompt-pattern' and 'inferior-ruby-prompt-pattern' to > following: > > (defvar inferior-ruby-first-prompt-pattern "^\\(?:irb(.*)[0-9:]+0\\|ruby[-0-9.a-z]+ *:[0-9]+ *\\)> *" > "first prompt regex pattern of ruby interpreter.") > > (defvar inferior-ruby-prompt-pattern "^\\(?:\\(irb(.*)[0-9:]+[>*\"'] *\\)+\\|ruby[-0-9.a-z]+ *:[0-9]+[ \"']> *\\)" > "prompt regex pattern of ruby interpreter.") > > > >