dgutov / robe

Code navigation, documentation lookup and completion for Ruby
584 stars 37 forks source link

`find-tag-marker-ring` breaks `robe-jump` on Emacs 28. #134

Closed gildo closed 2 years ago

gildo commented 2 years ago

I'm running GNU Emacs 28.0.60 and when using robe-jump and robe-jump-to-module I get this error:

robe-jump-to-module: Symbol’s value as variable is void: find-tag-marker-ring

From what I see find-tag-marker-ring has been deprecated in Emacs 25 (Ref)

Other Elisp projects fix this by adding a (require 'etags)(Ref https://github.com/clojure-emacs/cider/issues/1669 https://github.com/clojure-emacs/cider/commit/2462b96fb34096facfe37d46a99fadb24d850a8c) but this doesn't work on Emacs 28.

Probably the right solution to this is to use xref-(push|pop)-marker as specified by the Emacs 25 news file linked above. A good starting point for this bug could be haskell-mode project: https://github.com/haskell/haskell-mode/issues/459 https://github.com/haskell/haskell-mode/commit/c294e6b74614b8ca0fbf5f243f8d97a7a3db2dd2

Best, Gildo

dgutov commented 2 years ago

Hi!

Thanks for the report. I think your problem should not be triggered in Emacs 28, but only with 29+.

But anyway, I've had a fix laying around and pushed it now with a bit of polish. Please see if it's working fine for you now.

gildo commented 2 years ago

It works!

Thanks for the fix!