Fix bogus code in gdb-place-breakpoints.

* progmodes/gdb-mi.el (gdb-place-breakpoints): Fix the call to
gdb-get-location.
This commit is contained in:
Chong Yidong 2012-07-28 23:09:36 +08:00
parent 7747226193
commit a55739d3d0
2 changed files with 21 additions and 13 deletions

View file

@ -1,3 +1,8 @@
2012-07-28 Chong Yidong <cyd@gnu.org>
* progmodes/gdb-mi.el (gdb-place-breakpoints): Fix the call to
gdb-get-location.
2012-07-25 Leo Liu <sdl.web@gmail.com>
* progmodes/cc-menus.el (cc-imenu-objc-function): Avoid leaving nil in

View file

@ -2503,20 +2503,23 @@ HANDLER-NAME handler uses customization of CUSTOM-DEFUN. See
(let ((file (bindat-get-field breakpoint 'fullname))
(flag (bindat-get-field breakpoint 'enabled))
(bptno (bindat-get-field breakpoint 'number)))
(unless (file-exists-p file)
(unless (and file (file-exists-p file))
(setq file (cdr (assoc bptno gdb-location-alist))))
(if (and file
(not (string-equal file "File not found")))
(with-current-buffer
(find-file-noselect file 'nowarn)
(gdb-init-buffer)
;; Only want one breakpoint icon at each location.
(gdb-put-breakpoint-icon (string-equal flag "y") bptno
(string-to-number line)))
(gdb-input (concat "list " file ":1") 'ignore)
(gdb-input "-file-list-exec-source-file"
`(lambda () (gdb-get-location
,bptno ,line ,flag)))))))))
(if (or (null file)
(string-equal file "File not found"))
;; If the full filename is not recorded in the
;; breakpoint structure or in `gdb-location-alist', use
;; -file-list-exec-source-file to extract it.
(when (setq file (bindat-get-field breakpoint 'file))
(gdb-input (concat "list " file ":1") 'ignore)
(gdb-input "-file-list-exec-source-file"
`(lambda () (gdb-get-location
,bptno ,line ,flag))))
(with-current-buffer (find-file-noselect file 'nowarn)
(gdb-init-buffer)
;; Only want one breakpoint icon at each location.
(gdb-put-breakpoint-icon (string-equal flag "y") bptno
(string-to-number line)))))))))
(defvar gdb-source-file-regexp "fullname=\"\\(.*?\\)\"")