aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/progmodes
diff options
context:
space:
mode:
authorChong Yidong2012-07-28 23:12:12 +0800
committerChong Yidong2012-07-28 23:12:12 +0800
commit8c74a125c85da08e34dceedb271b71b5f09ce690 (patch)
tree338a380b3bb95e05923b6b76ae871161863ed84f /lisp/progmodes
parent1eee634131dea9cf32d6ab83a06c0776b680fe8e (diff)
parenta55739d3d02606d60f511b1ce558dd503b69acba (diff)
downloademacs-8c74a125c85da08e34dceedb271b71b5f09ce690.tar.gz
emacs-8c74a125c85da08e34dceedb271b71b5f09ce690.zip
Merge from emacs-24 branch; up to 2012-05-01T18:47:23Z!rgm@gnu.org
Diffstat (limited to 'lisp/progmodes')
-rw-r--r--lisp/progmodes/cc-menus.el8
-rw-r--r--lisp/progmodes/gdb-mi.el29
2 files changed, 18 insertions, 19 deletions
diff --git a/lisp/progmodes/cc-menus.el b/lisp/progmodes/cc-menus.el
index a53d65f6307..76e3002abd2 100644
--- a/lisp/progmodes/cc-menus.el
+++ b/lisp/progmodes/cc-menus.el
@@ -399,14 +399,10 @@ Example:
399 str2 "@protocol"))) 399 str2 "@protocol")))
400 (setq str (cc-imenu-objc-remove-white-space str)) 400 (setq str (cc-imenu-objc-remove-white-space str))
401 (setq methodlist (cons (cons str2 401 (setq methodlist (cons (cons str2
402 (match-beginning langnum)) 402 (match-beginning langnum))
403 methodlist)) 403 methodlist))
404 (setq toplist (cons nil (cons (cons str 404 (setq toplist (cons (cons str methodlist) toplist)
405 methodlist) toplist))
406 methodlist nil)))) 405 methodlist nil))))
407 ;;
408 (if (eq (car toplist) nil)
409 (setq toplist (cdr toplist)))
410 406
411 ;; In this buffer, there is only one or zero @{interface|implementation|protocol}. 407 ;; In this buffer, there is only one or zero @{interface|implementation|protocol}.
412 (if (< classcount 2) 408 (if (< classcount 2)
diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el
index 23a34b85194..80afdc0bedf 100644
--- a/lisp/progmodes/gdb-mi.el
+++ b/lisp/progmodes/gdb-mi.el
@@ -2487,20 +2487,23 @@ HANDLER-NAME handler uses customization of CUSTOM-DEFUN. See
2487 (let ((file (bindat-get-field breakpoint 'fullname)) 2487 (let ((file (bindat-get-field breakpoint 'fullname))
2488 (flag (bindat-get-field breakpoint 'enabled)) 2488 (flag (bindat-get-field breakpoint 'enabled))
2489 (bptno (bindat-get-field breakpoint 'number))) 2489 (bptno (bindat-get-field breakpoint 'number)))
2490 (unless (file-exists-p file) 2490 (unless (and file (file-exists-p file))
2491 (setq file (cdr (assoc bptno gdb-location-alist)))) 2491 (setq file (cdr (assoc bptno gdb-location-alist))))
2492 (if (and file 2492 (if (or (null file)
2493 (not (string-equal file "File not found"))) 2493 (string-equal file "File not found"))
2494 (with-current-buffer 2494 ;; If the full filename is not recorded in the
2495 (find-file-noselect file 'nowarn) 2495 ;; breakpoint structure or in `gdb-location-alist', use
2496 (gdb-init-buffer) 2496 ;; -file-list-exec-source-file to extract it.
2497 ;; Only want one breakpoint icon at each location. 2497 (when (setq file (bindat-get-field breakpoint 'file))
2498 (gdb-put-breakpoint-icon (string-equal flag "y") bptno 2498 (gdb-input (concat "list " file ":1") 'ignore)
2499 (string-to-number line))) 2499 (gdb-input "-file-list-exec-source-file"
2500 (gdb-input (concat "list " file ":1") 'ignore) 2500 `(lambda () (gdb-get-location
2501 (gdb-input "-file-list-exec-source-file" 2501 ,bptno ,line ,flag))))
2502 `(lambda () (gdb-get-location 2502 (with-current-buffer (find-file-noselect file 'nowarn)
2503 ,bptno ,line ,flag))))))))) 2503 (gdb-init-buffer)
2504 ;; Only want one breakpoint icon at each location.
2505 (gdb-put-breakpoint-icon (string-equal flag "y") bptno
2506 (string-to-number line)))))))))
2504 2507
2505(defvar gdb-source-file-regexp "fullname=\"\\(.*?\\)\"") 2508(defvar gdb-source-file-regexp "fullname=\"\\(.*?\\)\"")
2506 2509