summaryrefslogtreecommitdiff
path: root/elisp/geiser-impl.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-11-12 18:54:55 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-11-12 18:54:55 +0100
commit6ae51474d59444f44f7b363acbcbcefd0551cd5b (patch)
tree434ad816d849ca7153d029ae385bd41440089fd6 /elisp/geiser-impl.el
parente42bfdb26e7ce33f80ed8dc501824431f57473cb (diff)
downloadgeiser-guile-6ae51474d59444f44f7b363acbcbcefd0551cd5b.tar.gz
geiser-guile-6ae51474d59444f44f7b363acbcbcefd0551cd5b.tar.bz2
Bug fix: links in documentation buffers work again.
* elisp/geiser-impl.el (with--geiser-implementation): macro was not setting the implementation environment correctly.
Diffstat (limited to 'elisp/geiser-impl.el')
-rw-r--r--elisp/geiser-impl.el7
1 files changed, 4 insertions, 3 deletions
diff --git a/elisp/geiser-impl.el b/elisp/geiser-impl.el
index 2fb0828..e870be3 100644
--- a/elisp/geiser-impl.el
+++ b/elisp/geiser-impl.el
@@ -236,17 +236,18 @@ buffer contains Scheme code of the given implementation.")
(defmacro with--geiser-implementation (impl &rest body)
(let* ((mbindings (mapcar (lambda (m)
`(,(nth 0 m)
- (geiser-impl--registered-method ',impl
+ (geiser-impl--registered-method ,impl
',(nth 1 m)
',(nth 2 m))))
geiser-impl--local-methods))
(vbindings (mapcar (lambda (m)
`(,(nth 0 m)
- (geiser-impl--registered-value ',impl
+ (geiser-impl--registered-value ,impl
',(nth 1 m)
',(nth 2 m))))
geiser-impl--local-variables))
- (bindings (append mbindings vbindings)))
+ (ibindings `((geiser-impl--implementation ,impl)))
+ (bindings (append ibindings mbindings vbindings)))
`(let* ,bindings ,@body)))
(put 'with--geiser-implementation 'lisp-indent-function 1)