[slime-cvs] CVS slime

CVS User heller heller at common-lisp.net
Wed May 5 05:25:29 UTC 2010


Update of /project/slime/cvsroot/slime
In directory cl-net:/tmp/cvs-serv20324

Modified Files:
	ChangeLog swank-cmucl.lisp 
Log Message:
* swank-cmucl.lisp (gdb-command): Use gdb's MI.

--- /project/slime/cvsroot/slime/ChangeLog	2010/05/05 05:19:46	1.2082
+++ /project/slime/cvsroot/slime/ChangeLog	2010/05/05 05:25:29	1.2083
@@ -1,3 +1,7 @@
+2010-05-05  Helmut Eller  <heller at common-lisp.net>
+
+	* swank-cmucl.lisp (gdb-command): Use gdb's MI.
+
 2010-05-05  Mark Evenson <evenson at panix.com>
 
 	Fix for Cygwin Emacs filename problem.
--- /project/slime/cvsroot/slime/swank-cmucl.lisp	2010/03/03 11:57:11	1.221
+++ /project/slime/cvsroot/slime/swank-cmucl.lisp	2010/05/05 05:25:29	1.222
@@ -1894,10 +1894,13 @@
       (delete-file name))))
 
 (defun gdb-command (format-string &rest args)
-  (let ((str (gdb-exec (format nil "attach ~d~%~a~%detach" 
+  (let ((str (gdb-exec (format nil 
+                               "interpreter-exec mi2 \"attach ~d\"~%~
+                                interpreter-exec console ~s~%detach"
                                (getpid)
-                               (apply #'format nil format-string args)))))
-    (subseq str (1+ (position #\newline str)))))
+                               (apply #'format nil format-string args))))
+        (prompt (format nil "~%^done~%(gdb) ~%")))
+    (subseq str (+ (search prompt str) (length prompt)))))
 
 (defun gdb-exec (cmd)
   (with-temporary-file (file filename)
@@ -1946,7 +1949,8 @@
                                         (format nil "~a/lisp/"
                                                 (unix-truename "target:")))))
                                 (list :line (parse-integer line))))))
-            (t `(:error ,string))))))
+            (t 
+             `(:error ,string))))))
 
 (defun read-word (&optional (stream *standard-input*))
   (peek-char t stream)





More information about the slime-cvs mailing list