[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el
From: |
Dmitry Dzhus |
Subject: |
[Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el |
Date: |
Tue, 11 Aug 2009 23:26:09 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Dmitry Dzhus <sphinx> 09/08/11 23:26:08
Modified files:
lisp : ChangeLog
lisp/progmodes : gdb-mi.el
Log message:
(gdb): Send -target-detach when buffer is killed (#3794).
(gdb-starting): Moved -data-list-register-names...
(gdb-stopped): ...here so it's sent when first thread stops.
(gdb-registers-handler-custom): Do nothing if register names are
unknown yet.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.15919&r2=1.15920
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/progmodes/gdb-mi.el?cvsroot=emacs&r1=1.33&r2=1.34
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.15919
retrieving revision 1.15920
diff -u -b -r1.15919 -r1.15920
--- ChangeLog 11 Aug 2009 13:53:10 -0000 1.15919
+++ ChangeLog 11 Aug 2009 23:26:04 -0000 1.15920
@@ -7,6 +7,11 @@
(gdb-invalidate-disassembly): Do not refresh upon receiving
'update signal. Instead, update all disassembly buffers only after
threads list.
+ (gdb): Send -target-detach when buffer is killed (#3794).
+ (gdb-starting): Moved -data-list-register-names...
+ (gdb-stopped): ...here so it's sent when first thread stops.
+ (gdb-registers-handler-custom): Do nothing if register names are
+ unknown yet.
* progmodes/gud.el (gud-stop-subjob): Rewritten without macros
from `gdb-mi.el' to avoid extra tangling.
Index: progmodes/gdb-mi.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/progmodes/gdb-mi.el,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -b -r1.33 -r1.34
--- progmodes/gdb-mi.el 11 Aug 2009 13:53:14 -0000 1.33
+++ progmodes/gdb-mi.el 11 Aug 2009 23:26:08 -0000 1.34
@@ -749,7 +749,16 @@
(local-set-key "\C-i" 'gud-gdb-complete-command)
(setq gdb-first-prompt t)
(setq gud-running nil)
+
(gdb-update)
+
+ (add-hook
+ 'kill-buffer-hook
+ (function
+ (lambda ()
+ (gdb-input (list "-target-detach" 'ignore))))
+ nil t)
+
(run-hooks 'gdb-mode-hook))
(defun gdb-init-1 ()
@@ -776,6 +785,7 @@
gdb-buf-publisher '()
gdb-threads-list '()
gdb-breakpoints-list '()
+ gdb-register-names '()
gdb-non-stop gdb-non-stop-setting)
;;
(setq gdb-buffer-type 'gdbmi)
@@ -1854,8 +1864,6 @@
(defun gdb-starting (output-field)
;; CLI commands don't emit ^running at the moment so use gdb-running too.
- (gdb-input
- (list "-data-list-register-names" 'gdb-register-names-handler))
(setq gdb-inferior-status "running")
(gdb-force-mode-line-update
(propertize gdb-inferior-status 'face font-lock-type-face))
@@ -1876,6 +1884,13 @@
(reason (gdb-get-field result 'reason))
(thread-id (gdb-get-field result 'thread-id)))
+ ;; -data-list-register-names needs to be issued for any stopped
+ ;; thread
+ (when (not gdb-register-names)
+ (gdb-input
+ (list (concat "-data-list-register-names --thread " thread-id)
+ 'gdb-register-names-handler)))
+
;;; Don't set gud-last-frame here as it's currently done in gdb-frame-handler
;;; because synchronous GDB doesn't give these fields with CLI.
;;; (when file
@@ -3553,6 +3568,7 @@
'gdb-invalidate-registers)
(defun gdb-registers-handler-custom ()
+ (when gdb-register-names
(let ((register-values (gdb-get-field (gdb-json-partial-output)
'register-values))
(table (make-gdb-table)))
(dolist (register register-values)
@@ -3560,7 +3576,6 @@
(value (gdb-get-field register 'value))
(register-name (nth (string-to-number register-number)
gdb-register-names)))
- (when register-name
(gdb-table-add-row
table
(list
@@ -3570,8 +3585,8 @@
value))
`(mouse-face highlight
help-echo "mouse-2: edit value"
- gdb-register-name ,register-name)))))
- (insert (gdb-table-string table " "))
+ gdb-register-name ,register-name))))
+ (insert (gdb-table-string table " ")))
(setq mode-name
(gdb-current-context-mode-name "Registers"))))
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, (continued)
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, Dmitry Dzhus, 2009/08/04
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, Dmitry Dzhus, 2009/08/04
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, Dmitry Dzhus, 2009/08/04
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, Dmitry Dzhus, 2009/08/04
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, Dmitry Dzhus, 2009/08/06
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, Dmitry Dzhus, 2009/08/08
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, Dmitry Dzhus, 2009/08/08
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, Dmitry Dzhus, 2009/08/08
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, Dmitry Dzhus, 2009/08/08
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, Dmitry Dzhus, 2009/08/11
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el,
Dmitry Dzhus <=
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, Dmitry Dzhus, 2009/08/24