summaryrefslogtreecommitdiff
path: root/elisp/geiser-eval.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-09-26 03:17:55 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-09-26 03:17:55 +0200
commit050b9e11f652673d4021b6db6a28193dafcdef6c (patch)
tree238c29e5306269b3071070ebc6d3a23316e0c504 /elisp/geiser-eval.el
parent4f51508ab0f7882dd8f0f80ae53fa238eacd5278 (diff)
downloadgeiser-050b9e11f652673d4021b6db6a28193dafcdef6c.tar.gz
geiser-050b9e11f652673d4021b6db6a28193dafcdef6c.tar.bz2
New implementation method/variable: unsupported Geiser procedures.
Diffstat (limited to 'elisp/geiser-eval.el')
-rw-r--r--elisp/geiser-eval.el13
1 files changed, 12 insertions, 1 deletions
diff --git a/elisp/geiser-eval.el b/elisp/geiser-eval.el
index c7b7d2c..f4ac95d 100644
--- a/elisp/geiser-eval.el
+++ b/elisp/geiser-eval.el
@@ -36,7 +36,6 @@ value.")
(funcall geiser-eval--get-module-function module)))
(defvar geiser-eval--geiser-procedure-function nil)
-
(geiser-impl--register-local-method
'geiser-eval--geiser-procedure-function 'marshall-procedure 'identity
"Function to translate a bare procedure symbol to one executable
@@ -44,7 +43,19 @@ in the Scheme context. Return NULL for unsupported ones; at the
very least, EVAL, COMPILE, LOAD-FILE and COMPILE-FILE should be
supported.")
+(defvar geiser-eval--unsupported nil)
+(geiser-impl--register-local-variable
+ 'geiser-eval--unsupported 'unsupported-procedures nil
+ "A list, or function returning a list, of the Geiser procedures
+not implemented by this Scheme implementation. Possible values
+include macroexpand, completions, module-completions, find-file,
+symbol-location, module-location, symbol-documentation,
+module-exports, autodoc, callers, callees and generic-methods.")
+
(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"
+ geiser-impl--implementation proc))
(funcall geiser-eval--geiser-procedure-function proc))