From 9db33cc8c9366d71071610209dcb4c655eaa6e1f Mon Sep 17 00:00:00 2001
From: Jose Antonio Ortega Ruiz <jao@gnu.org>
Date: Wed, 9 Feb 2011 23:49:50 +0100
Subject: More robust retort detection

Some schemes (okay, Guile) may output spurious messages besides a
well-formed retort.  This will be eventually fixed; in the meantime,
we try to skip the noise (and may fail miserably if that noise has a
form similar to the signal we search).
---
 elisp/geiser-connection.el | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/elisp/geiser-connection.el b/elisp/geiser-connection.el
index cade18a..d3c99cb 100644
--- a/elisp/geiser-connection.el
+++ b/elisp/geiser-connection.el
@@ -1,6 +1,6 @@
 ;;; geiser-connection.el -- talking to a scheme process
 
-;; Copyright (C) 2009, 2010 Jose Antonio Ortega Ruiz
+;; Copyright (C) 2009, 2010, 2011 Jose Antonio Ortega Ruiz
 
 ;; This program is free software; you can redistribute it and/or
 ;; modify it under the terms of the Modified BSD License. You should
@@ -184,7 +184,9 @@
         `((error (key . geiser-debugger))
           (output . ,answer))
       (condition-case err
-          (let ((form (car (read-from-string answer))))
+          (let* ((start (and (string-match "((\\(?:result\\|error\\)" answer)
+                             (match-beginning 0)))
+                 (form (car (read-from-string answer start))))
             (and (listp form) form))
         (error `((error (key . geiser-con-error))
                  (output . ,(format "%s\n(%s)"
-- 
cgit v1.2.3