diff options
Diffstat (limited to 'elisp')
-rw-r--r-- | elisp/geiser-debug.el | 11 | ||||
-rw-r--r-- | elisp/geiser-impl.el | 3 | ||||
-rw-r--r-- | elisp/geiser.el | 2 |
3 files changed, 12 insertions, 4 deletions
diff --git a/elisp/geiser-debug.el b/elisp/geiser-debug.el index f0dc6ec..3bf262c 100644 --- a/elisp/geiser-debug.el +++ b/elisp/geiser-debug.el @@ -25,6 +25,7 @@ ;;; Code: +(require 'geiser-impl) (require 'geiser-eval) (require 'geiser-popup) (require 'geiser-base) @@ -60,13 +61,17 @@ (defun geiser-debug--display-retort (what ret) (let* ((err (geiser-eval--retort-error ret)) - (output (geiser-eval--retort-output ret))) + (key (geiser-eval--error-key err)) + (output (geiser-eval--retort-output ret)) + (impl geiser-impl--implementation) + (module (geiser-eval--get-module))) (geiser-debug--with-buffer (erase-buffer) (insert what) (newline 2) - (when err (insert (geiser-eval--error-str err) "\n\n")) - (when output (insert output "\n\n")) + (unless (geiser-impl--display-error impl module key output) + (when err (insert (geiser-eval--error-str err) "\n\n")) + (when output (insert output "\n\n"))) (goto-char (point-min))) (when err (geiser-debug--pop-to-buffer)))) diff --git a/elisp/geiser-impl.el b/elisp/geiser-impl.el index b4c01c7..fadc8b6 100644 --- a/elisp/geiser-impl.el +++ b/elisp/geiser-impl.el @@ -186,6 +186,9 @@ (defsubst geiser-impl--external-help (impl symbol module) (geiser-impl--call-if-bound impl "external-help" symbol module)) +(defsubst geiser-impl--display-error (impl module key msg) + (geiser-impl--call-if-bound impl "display-error" module key msg)) + ;;; Access to implementation guessing function: diff --git a/elisp/geiser.el b/elisp/geiser.el index 926cb4f..748fb23 100644 --- a/elisp/geiser.el +++ b/elisp/geiser.el @@ -117,11 +117,11 @@ geiser-xref geiser-edit geiser-doc + geiser-debug geiser-impl geiser-completion geiser-autodoc geiser-compile - geiser-debug geiser-eval geiser-connection geiser-syntax |