changeset 59766:8d2464efeb2e

(gdb-info-breakpoints-custom) (gdb-goto-breakpoint): Make breakpoint handling work on template functions in C++. Reported by Martin Reed <mjreed@essex.ac.uk> (gdb-assembler-custom): Update to recognise breakpoint information added on 2005-01-19.
author Nick Roberts <nickrob@snap.net.nz>
date Sat, 29 Jan 2005 06:55:14 +0000
parents 16ebad3eb183
children 08c82797edef
files lisp/progmodes/gdb-ui.el
diffstat 1 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- 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))))