summaryrefslogtreecommitdiff
path: root/elisp/geiser-eval.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-02-08 12:47:42 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-02-08 12:47:42 +0100
commit96f3def84b9a70863ca3d13a64b06a7b60095aa8 (patch)
tree7df976a6d794cd63c8830fdec3c69a6c5572676a /elisp/geiser-eval.el
parent24ee48743e86fb2f780e18359ed73996f569df70 (diff)
downloadgeiser-96f3def84b9a70863ca3d13a64b06a7b60095aa8.tar.gz
geiser-96f3def84b9a70863ca3d13a64b06a7b60095aa8.tar.bz2
Fixes for Elisp/Scheme translations.
Diffstat (limited to 'elisp/geiser-eval.el')
-rw-r--r--elisp/geiser-eval.el15
1 files changed, 9 insertions, 6 deletions
diff --git a/elisp/geiser-eval.el b/elisp/geiser-eval.el
index 8466a36..5369a1f 100644
--- a/elisp/geiser-eval.el
+++ b/elisp/geiser-eval.el
@@ -37,16 +37,19 @@
((eq code :f) "#f")
((eq code :t) "#t")
((listp code)
- (cond ((eq (car code) :gs) (concat "((@ (geiser eval) eval-in) (quote "
- (geiser-eval--scheme-str (nth 1 code))
- ") "
- (or (nth 2 code)
- (geiser-eval--buffer-module))
- ")"))
+ (cond ((eq (car code) :gs) (geiser-eval--gs (cdr code)))
((eq (car code) :scm) (cadr code))
(t (concat "(" (mapconcat 'geiser-eval--scheme-str code " ") ")"))))
(t (format "%S" code))))
+(defsubst geiser-eval--gs (code)
+ (concat "((@ (geiser eval) eval-in) (quote "
+ (geiser-eval--scheme-str (nth 0 code))
+ ") (quote "
+ (or (and (nth 1 code)
+ (geiser-eval--scheme-str (nth 1 code)))
+ (geiser-eval--buffer-module))
+ "))"))
;;; Current module: