summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--elisp/geiser-eval.el6
1 files changed, 5 insertions, 1 deletions
diff --git a/elisp/geiser-eval.el b/elisp/geiser-eval.el
index 8574cdc..847a198 100644
--- a/elisp/geiser-eval.el
+++ b/elisp/geiser-eval.el
@@ -142,7 +142,11 @@ EVAL, COMPILE, LOAD-FILE and COMPILE-FILE should be supported."))
(defsubst geiser-eval--retort-p (ret)
(and (listp ret) (or (assoc 'error ret) (assoc 'result ret))))
-(defsubst geiser-eval--retort-result (ret) (cdr (assoc 'result ret)))
+
+(defun geiser-eval--retort-result (ret)
+ (let ((values (cdr (assoc 'result ret))))
+ (if (> (length values) 1) (cons :values values) (car values))))
+
(defsubst geiser-eval--retort-output (ret) (cdr (assoc 'output ret)))
(defsubst geiser-eval--retort-error (ret) (cdr (assoc 'error ret)))
(defsubst geiser-eval--retort-stack (ret) (cdr (assoc 'stack ret)))