diff options
-rw-r--r-- | elisp/geiser-edit.el | 8 | ||||
-rw-r--r-- | scheme/chibi/geiser/geiser.sld | 12 |
2 files changed, 16 insertions, 4 deletions
diff --git a/elisp/geiser-edit.el b/elisp/geiser-edit.el index 6754472..541363d 100644 --- a/elisp/geiser-edit.el +++ b/elisp/geiser-edit.el @@ -237,12 +237,14 @@ With prefix, asks for the symbol to edit." (geiser-completion--read-symbol "Edit symbol: "))) (cmd `(:eval (:ge symbol-location ',symbol))) (marker (point-marker))) - (condition-case-unless-debug err + (condition-case-unless-debug err-of-sym (progn (geiser-edit--try-edit symbol (geiser-eval--send/wait cmd)) (when marker (xref-push-marker-stack))) - (error (condition-case-unless-debug nil + (error (condition-case-unless-debug err-of-mod (geiser-edit-module-at-point) - (error (error (error-message-string err)))))))) + (error (error "Geiser:cannot edit symbol at point\nSymbol error message:%s\nModule error message:%s" + (error-message-string err-of-sym) + (error-message-string err-of-mod)))))))) (defun geiser-pop-symbol-stack () "Pop back to where \\[geiser-edit-symbol-at-point] was last invoked." diff --git a/scheme/chibi/geiser/geiser.sld b/scheme/chibi/geiser/geiser.sld index 700a9b3..8e43fb8 100644 --- a/scheme/chibi/geiser/geiser.sld +++ b/scheme/chibi/geiser/geiser.sld @@ -8,5 +8,15 @@ ;TODO: geiser:symbol-location ; implement this interface in [[file://./geiser.scm#geiser:symbol-location]] in order to make proper cross-referencing working. geiser:module-location geiser:newline) - (import (scheme small) (chibi modules) (chibi) (meta) (chibi ast) (chibi string) (srfi 1) (srfi 95) (chibi show)) + (import + (scheme small) + (chibi modules) + (chibi) + (chibi filesystem) + (meta) + (chibi ast) + (chibi string) + (srfi 1) + (srfi 95) + (chibi show)) (include "geiser.scm")) |