new feature: selecting on breakpoint sets entry-ctrl-text
[pygdb.git] / GdbTerminal.py
index 496e7c39ed2302c14ef9b83efd90fb7cb6400c89..304e39ab622185cd2132e616fe17c0cd5c89b261 100755 (executable)
@@ -34,7 +34,6 @@ class GdbTerminal (DbgTerminal.DbgTerminal):
                self.feed_child("run " + argv + "\n")
                return self.waitForActivation(his)
 
-
        def setContinue(self):
                his = self.getHistoryLen()
                self.feed_child("cont\n");
@@ -63,22 +62,22 @@ class GdbTerminal (DbgTerminal.DbgTerminal):
                        self.feed_child("break %s:%s if %s\n" % \
                                        (file, str(lineno), condition))
 
-               rx = re.compile("^Breakpoint |^No|^\(gdb\) ")
+               rx = re.compile("^Breakpoint |^No |^\(gdb\) ")
                his, response = self.waitForRx(rx, his)
 
-               print his, response
-
                if response[0:10] == "Breakpoint":
                        return string.split(response)[1].strip()
-               if response[0:5] == "(gdb)":
-                       return None
+
                if response[0:14] == "No source file":
                        self.feed_child("n\n");
                        return None
-               if response[0:3] == "No ":
-                       return None
-                       
-               return NotImplementedError()
+
+               #Wait again for gdb
+               if response[0:5] != "(gdb)":
+                       his, response = self.waitForRx(rx,his)
+
+               return None
+
 
        def delBreakpoint(self, breakpoint):
                self.feed_child("del breakpoint %s\n" % (breakpoint,))
@@ -103,7 +102,6 @@ class GdbTerminal (DbgTerminal.DbgTerminal):
                        line = bplines[i]
 
                        if not rxbp1.search(line):
-                               print "Warning GdbTerminal.getBreakpoints at line", line
                                i += 1
                                continue
 
@@ -143,7 +141,7 @@ class GdbTerminal (DbgTerminal.DbgTerminal):
                return string.join(split[1:], "=").strip()
 
 
-       def waitForActivation(self, his):
+       def waitForActivation(self, his=None):
 
                self.setActive(False)
                rx = re.compile("^\(gdb\) $")