diff --git a/le-scheme.el b/le-scheme.el index 82510a55..1a46a8f8 100644 --- a/le-scheme.el +++ b/le-scheme.el @@ -34,18 +34,6 @@ (declare-function geiser-eval--send/wait "geiser-eval") (declare-function geiser-eval--retort-error "geiser-eval") (declare-function geiser-mode "geiser-mode") -(declare-function geiser-edit--try-edit "geiser-edit") - -(defun lispy--scheme-goto-symbol (symbol) - "Opens a new window visiting the definition of SYMBOL." - (let* ((symbol (make-symbol symbol)) - (cmd `(:eval (:ge symbol-location ',symbol))) - (marker (point-marker))) - (condition-case err - (progn (geiser-edit--try-edit symbol (geiser-eval--send/wait cmd)) - (when marker (ring-insert find-tag-marker-ring marker))) - (error - (error (error-message-string err)))))) (defun lispy--eval-scheme (str) "Eval STR as Scheme code." diff --git a/lispy.el b/lispy.el index a14c0508..43690e4e 100644 --- a/lispy.el +++ b/lispy.el @@ -2660,6 +2660,7 @@ Sexp is obtained by exiting list ARG times." (declare-function lispy--clojure-resolve "le-clojure") (declare-function lispy--clojure-jump "le-clojure") (declare-function lispy--scheme-goto-symbol "le-scheme") +(declare-function geiser-edit-symbol "geiser-edit") (defun lispy-goto-symbol (symbol) "Go to definition of SYMBOL. SYMBOL is a string." @@ -2710,7 +2711,7 @@ SYMBOL is a string." (slime-edit-definition symbol)) ((eq major-mode 'scheme-mode) (require 'geiser) - (lispy--scheme-goto-symbol symbol)))) + (geiser-edit-symbol (make-symbol symbol))))) ;; in case it's hidden in an outline (lispy--ensure-visible))