nonsequitur / inf-ruby

218 stars 69 forks source link

Completion does not work with Pry in Emacs 27 #132

Closed dunrix closed 4 years ago

dunrix commented 4 years ago

When Inf Ruby Default Implementation uses pry, completion-at-point always fails with "No match" even for existing symbols like Strin\<TAB>.

When default implementation is irb, above example is correctly completed to String.

Emacs 27.0.91 inf-ruby 20200327.1418 pry 0.13.0

When I launch pry from console, in the same way like for inf-ruby ie. without optional switches, TAB completion works out of the box.

dgutov commented 4 years ago

And the Ruby version?

dgutov commented 4 years ago

AFAICS, with Ruby 2.6.3 and Pry 0.13.1, completion still works.

dunrix commented 4 years ago

@dgutov

$ ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]
dgutov commented 4 years ago

Okay

Could you explain how you do this?

When Inf Ruby Default Implementation uses pry

dunrix commented 4 years ago

Okay

Could you explain how you do this?

When Inf Ruby Default Implementation uses pry

  1. M-x customize-group inf-ruby
  2. In option "Inf Ruby Default Implementation" select pry from Value Menu
  3. Apply and Save

Above action adds '(inf-ruby-default-implementation "pry") entry in custom-set-variables list.

Then launch repl with M-x inf-ruby

[1] pry(main)> Pry::VERSION
=> "0.13.1"
[14] pry(main)> Stri

M-x completion-at-point No match

completion-at-point-functions is a variable defined in ‘minibuffer.el’. Its value is (inf-ruby-completion-at-point comint-completion-at-point t)

No related logs in *Messages* buffer.

dgutov commented 4 years ago

Looks like it was due to changes in Pry 0.13 after all.

Should be fixed now, thank you for the report.