summaryrefslogtreecommitdiff
path: root/elisp/geiser-impl.el
diff options
context:
space:
mode:
Diffstat (limited to 'elisp/geiser-impl.el')
-rw-r--r--elisp/geiser-impl.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/elisp/geiser-impl.el b/elisp/geiser-impl.el
index b4a4b8f..47af5be 100644
--- a/elisp/geiser-impl.el
+++ b/elisp/geiser-impl.el
@@ -176,6 +176,8 @@ determine its scheme flavour."
"Set this buffer local variable to specify the Scheme
implementation to be used by Geiser."))
+(put 'geiser-scheme-implementation 'safe-local-variable 'symbolp)
+
(defun geiser-impl--match-impl (desc bn)
(let ((rx (if (eq (car desc) 'regexp)
(cadr desc)
@@ -198,7 +200,10 @@ buffer contains Scheme code of the given implementation.")
(defun geiser-impl--guess (&optional prompt)
(or geiser-impl--implementation
- geiser-scheme-implementation
+ (progn (hack-local-variables)
+ (and (memq geiser-scheme-implementation
+ geiser-active-implementations)
+ geiser-scheme-implementation))
(and (null (cdr geiser-active-implementations))
(car geiser-active-implementations))
(catch 'impl