# HG changeset patch # User Nick Roberts # Date 1106981714 0 # Node ID 8d2464efeb2e67dd098a3e147d97399fcbb1df5c # Parent 16ebad3eb183b8c88e81c5f9d7b3081dc751c020 (gdb-info-breakpoints-custom) (gdb-goto-breakpoint): Make breakpoint handling work on template functions in C++. Reported by Martin Reed (gdb-assembler-custom): Update to recognise breakpoint information added on 2005-01-19. diff -r 16ebad3eb183 -r 8d2464efeb2e lisp/progmodes/gdb-ui.el --- a/lisp/progmodes/gdb-ui.el Sat Jan 29 06:54:40 2005 +0000 +++ b/lisp/progmodes/gdb-ui.el Sat Jan 29 06:55:14 2005 +0000 @@ -1902,7 +1902,7 @@ (defun gdb-assembler-custom () (let ((buffer (gdb-get-buffer 'gdb-assembler-buffer)) - (pos 1) (address) (flag)) + (pos 1) (address) (flag) (bptno)) (with-current-buffer buffer (if (not (equal gdb-current-address "main")) (progn @@ -1924,16 +1924,17 @@ (if (looking-at "[^\t].*breakpoint") (progn (looking-at - "[0-9]*\\s-*\\S-*\\s-*\\S-*\\s-*\\(.\\)\\s-*0x\\(\\S-*\\)") - (setq flag (char-after (match-beginning 1))) - (setq address (match-string 2)) + "\\([0-9]+\\)\\s-+\\S-+\\s-+\\S-+\\s-+\\(.\\)\\s-+0x\\(\\S-+\\)") + (setq bptno (match-string 1)) + (setq flag (char-after (match-beginning 2))) + (setq address (match-string 3)) ;; remove leading 0s from output of info break. (if (string-match "^0+\\(.*\\)" address) (setq address (match-string 1 address))) (with-current-buffer buffer (goto-char (point-min)) (if (re-search-forward address nil t) - (gdb-put-breakpoint-icon (eq flag ?y)))))))) + (gdb-put-breakpoint-icon (eq flag ?y) bptno))))))) (if (not (equal gdb-current-address "main")) (set-window-point (get-buffer-window buffer 0) pos))))