Skip to content
Create a gist now

Instantly share code, notes, and snippets.

Embed URL


Subversion checkout URL

You can clone with
Download ZIP
making pry work with inf-ruby
(add-to-list 'inf-ruby-implementations '("pry" . "pry"))
(setq inf-ruby-default-implementation "pry")
(setq inf-ruby-first-prompt-pattern "^\\[[0-9]+\\] pry\\((.*)\\)> *")
(setq inf-ruby-prompt-pattern "^\\[[0-9]+\\] pry\\((.*)\\)[>*\"'] *")

At least from my experience and set up, this is not a proper way to make pry work under emacs 24.3 and current inf-ruby with MEPLA installation. Since this gist shows up quite high in google search result, I'd like to comment here what was the problem and how I solved it.


  • (add-to-list 'inf-ruby-implementations '("pry" . "pry")) causes init.el load error. It's already implemented in the inf-ruby.el source so I don't think it's necessary to add again.

  • (setq inf-ruby-default-implementation "pry") actually makes inf-ruby run the pry. However, with flaws. If pry is running with this set up and if I send the buffer/region/block, I get NameError: uninitialized constant IRB from (pry):1:in `__pry___'. Again, I looked into the inf-ruby.el source code and it looks like inf-ruby is already taking care of the pry smartly. So this set up shouldn't be added to init.el as well.


  • don't add anything which is mentioned above to init.el to make pry work especially if it's installed from MELPA
  • Instead, set pry as default irb by
    • create ~/.irbrc if you don't have one
    • add this
    require 'pry'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.