branch: master commit 1eda9a18a601e121e427a1e84a392a3a30578d38 Author: rocky <ro...@gnu.org> Commit: rocky <ro...@gnu.org>
Partially addresses #61. Handling multiple breakpoints on a line still remains. --- realgud/common/regexp.el | 15 ++++++++++----- realgud/debugger/gdb/init.el | 22 ++++++++++++++++++++++ 2 files changed, 32 insertions(+), 5 deletions(-) diff --git a/realgud/common/regexp.el b/realgud/common/regexp.el index 4e9fcec..4f7b4da 100644 --- a/realgud/common/regexp.el +++ b/realgud/common/regexp.el @@ -1,4 +1,4 @@ -;;; Copyright (C) 2010-2011, 2014 Rocky Bernstein <ro...@gnu.org> +;;; Copyright (C) 2010-2011, 2014-2015 Rocky Bernstein <ro...@gnu.org> ;;; FIXME - think of a better name. ;;; ;;; Debugger regular expressions for many kinds of @@ -19,11 +19,16 @@ (defstruct realgud-loc-pat "Information to match and extract position and other related information typically output by a debugger inside a process shell" - (num) ;; General number, could be for example breakpoint number, - ;; a stack position, or thread number. - (regexp) + (num) ;; General number, could be for example + ;; breakpoint number, + (string) ;; General number, could be for example a list of + ;; breakpoint number. Or can be used if for example + ;; if we need more than one in a complicated re + ;; where we can't assign a single number to a + ;; file position as in Perl locations. + (regexp) ;; a stack position, or thread number. (file-group) ;; Filename position in struct - (line-group) ;; Line number poistion in struct + (line-group) ;; Line number position in struct (char-offset-group) ;; Character offset position in struct (instruction-address-group) (column-group) diff --git a/realgud/debugger/gdb/init.el b/realgud/debugger/gdb/init.el index a7ea767..761cf0b 100644 --- a/realgud/debugger/gdb/init.el +++ b/realgud/debugger/gdb/init.el @@ -66,6 +66,28 @@ realgud-loc-pat struct") :file-group 3 :line-group 4)) +;; Regular expression that describes a debugger "delete" (breakpoint) +;; response. +;; For example: +;; Deleted breakpoint 1 +(setf (gethash "brkpt-del" realgud:gdb-pat-hash) + (make-realgud-loc-pat + :regexp (format "^Deleted breakpoint %s.\n" + realgud:regexp-captured-num) + :num 1)) + + +;; Regular expression that describes a debugger "delete" (breakpoint) +;; list response. +;; For example: +;; Deleted breakpoints 1 2 3 +(setf (gethash "brkpts-del" realgud:gdb-pat-hash) + (make-realgud-loc-pat + :regexp (format "^Deleted breakpoints %s.\n" + realgud:regexp-captured-num) + :string 1)) + + (defconst realgud:gdb-frame-start-regexp "\\(?:^\\|\n\\)")