summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-07-31 14:04:42 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-07-31 14:04:42 +0200
commit4d7e66d5058370901fc0af131755e2bb45e07485 (patch)
treeeca84ce73e0444c9408125ee2032419d38bb0d51
parent88a259b78e3cf4d7ea6a95ef8540d2365df7038c (diff)
downloadgeiser-4d7e66d5058370901fc0af131755e2bb45e07485.tar.gz
geiser-4d7e66d5058370901fc0af131755e2bb45e07485.tar.bz2
Making geiser-scheme-implementation work as advertised.
-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