From ec03576e168be91d74ef38f15ceccddf2aa8c891 Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Tue, 12 Oct 2010 00:28:00 +0200 Subject: Menus: callers/callees active only if available --- elisp/geiser-eval.el | 3 +++ elisp/geiser-mode.el | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'elisp') 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) -- -- cgit v1.2.3