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-connection.el | |
parent | 24ee48743e86fb2f780e18359ed73996f569df70 (diff) | |
download | geiser-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.el | 10 |
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)) |