summaryrefslogtreecommitdiff
path: root/elisp/geiser-connection.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-connection.el
parent24ee48743e86fb2f780e18359ed73996f569df70 (diff)
downloadgeiser-96f3def84b9a70863ca3d13a64b06a7b60095aa8.tar.gz
geiser-96f3def84b9a70863ca3d13a64b06a7b60095aa8.tar.bz2
Fixes for Elisp/Scheme translations.
Diffstat (limited to 'elisp/geiser-connection.el')
-rw-r--r--elisp/geiser-connection.el10
1 files changed, 8 insertions, 2 deletions
diff --git a/elisp/geiser-connection.el b/elisp/geiser-connection.el
index 8091c84..060ab7b 100644
--- a/elisp/geiser-connection.el
+++ b/elisp/geiser-connection.el
@@ -156,14 +156,20 @@
(defsubst geiser-con--comint-buffer ()
(get-buffer-create " *geiser connection retort*"))
+(defun geiser-con--cleaunp-result-str ()
+ (goto-char (point-min))
+ (while (re-search-forward "#(" nil t) (replace-match "(vector "))
+ (goto-char (point-min))
+ (while (re-search-forward "#" nil t) (replace-match "\\\\#")))
+
(defun geiser-con--comint-buffer-form ()
(with-current-buffer (geiser-con--comint-buffer)
- (replace-string "#" ":" nil (point-min) (point-max))
+ (geiser-con--cleaunp-result-str)
(goto-char (point-min))
(condition-case nil
(let ((form (read (current-buffer))))
(if (listp form) form (error)))
- (error `((error geiser-con-error ,(buffer-string)))))))
+ (error `((error (key . geiser-con-error) (msg . ,(buffer-string))))))))
(defun geiser-con--process-next (con)
(when (not (geiser-con--connection-current-request con))