diff options
| -rw-r--r-- | elisp/geiser-edit.el | 20 | 
1 files changed, 10 insertions, 10 deletions
| diff --git a/elisp/geiser-edit.el b/elisp/geiser-edit.el index fbe625f..0f2b080 100644 --- a/elisp/geiser-edit.el +++ b/elisp/geiser-edit.el @@ -1,6 +1,6 @@  ;;; geiser-edit.el -- scheme edit locations  -*- lexical-binding: t; -*- -;; Copyright (C) 2009, 2010, 2012, 2013, 2019-2022 Jose Antonio Ortega Ruiz +;; Copyright (C) 2009, 2010, 2012, 2013, 2019-2023 Jose Antonio Ortega Ruiz  ;; This program is free software; you can redistribute it and/or  ;; modify it under the terms of the Modified BSD License. You should @@ -148,10 +148,10 @@ or following links in error buffers.")            (error "Couldn't find location for '%s'" symbol)))))  (defsubst geiser-edit--try-edit (symbol ret &optional method no-error) -  (geiser-edit--try-edit-location symbol -                                  (geiser-eval--retort-result ret) -                                  method -                                  no-error)) +  (let ((res (geiser-eval--retort-result ret))) +    (if (listp res) +        (geiser-edit--try-edit-location symbol res method no-error) +      (unless no-error (error "Couldn't find location for '%s'" symbol)))))  ;;; Links @@ -292,11 +292,11 @@ With prefix, asks for the symbol to locate."    "Opens a new window visiting the module at point."    (interactive)    (let ((marker (point-marker))) -    (geiser-edit-module (or (geiser-completion--module-at-point) -                            (geiser-completion--read-module)) -                        nil no-error) -    (when marker (xref-push-marker-stack marker)) -    t)) +    (when (geiser-edit-module (or (geiser-completion--module-at-point) +                                  (geiser-completion--read-module)) +                              nil no-error) +      (when marker (xref-push-marker-stack marker)) +      t)))  (defun geiser-insert-lambda (&optional full)    "Insert λ at point.  With prefix, inserts (λ ())." | 
