diff options
| -rw-r--r-- | elisp/geiser-eval.el | 3 | ||||
| -rw-r--r-- | elisp/geiser-mode.el | 6 | 
2 files changed, 7 insertions, 2 deletions
| diff --git a/elisp/geiser-eval.el b/elisp/geiser-eval.el index b37b7ed..fd769db 100644 --- a/elisp/geiser-eval.el +++ b/elisp/geiser-eval.el @@ -52,6 +52,9 @@ include macroexpand, completions, module-completions, find-file,  symbol-location, module-location, symbol-documentation,  module-exports, autodoc, callers, callees and generic-methods.") +(defun geiser-eval--supported-p (feat) +  (not (memq feat geiser-eval--unsupported))) +  (defsubst geiser-eval--form (proc)    (when (and geiser-eval--unsupported (memq proc geiser-eval--unsupported))      (error "Sorry, the %s scheme implementation does not support Geiser's %s" diff --git a/elisp/geiser-mode.el b/elisp/geiser-mode.el index dc154bc..e9e5563 100644 --- a/elisp/geiser-mode.el +++ b/elisp/geiser-mode.el @@ -259,8 +259,10 @@ interacting with the Geiser REPL is at your disposal.     geiser-completion--complete-module)    ("Edit module" ("\C-c\C-e\C-m" "\C-c\C-em") geiser-edit-module)    -- -  ("Callers" ((kbd "C-c <")) geiser-xref-callers) -  ("Callees" ((kbd "C-c >")) geiser-xref-callees) +  ("Callers" ((kbd "C-c <")) geiser-xref-callers +   :enable (and (geiser-eval--supported-p 'callers) (symbol-at-point))) +  ("Callees" ((kbd "C-c >")) geiser-xref-callees +   :enable (and (geiser-eval--supported-p 'callees) (symbol-at-point)))    --    (mode "Smart TAB mode" nil geiser-smart-tab-mode)    -- | 
