diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-02-08 12:47:42 +0100 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-02-08 12:47:42 +0100 |
commit | 96f3def84b9a70863ca3d13a64b06a7b60095aa8 (patch) | |
tree | 7df976a6d794cd63c8830fdec3c69a6c5572676a /elisp/geiser-eval.el | |
parent | 24ee48743e86fb2f780e18359ed73996f569df70 (diff) | |
download | geiser-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.el | 15 |
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: |