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
commit654bfbff2675c45882857411c7a2f3594e708639 (patch)
treef86221038054e150bfebedcb041cda2ee7743c97
parent47361c31fe721073b3e3a9c16eaa10ef39c805de (diff)
downloadgeiser-guile-654bfbff2675c45882857411c7a2f3594e708639.tar.gz
geiser-guile-654bfbff2675c45882857411c7a2f3594e708639.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