[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: |
Sat, 08 Aug 2009 13:42:09 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Dmitry Dzhus <sphinx> 09/08/08 13:42:08
Modified files:
lisp : ChangeLog
lisp/progmodes : gdb-mi.el
Log message:
(gdb-read-memory-custom)
(gdb-memory-set-address, def-gdb-set-positive-number)
(def-gdb-memory-format, def-gdb-memory-unit): Update memory buffer
after changing settings.
(gdb-invalidate-disassembly): Update when first shown.
(gdb-edit-locals-value): Fixed.
(gdb-registers-handler-custom): Print registers in right order and
allow changing register values (only for current thread yet).
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.15905&r2=1.15906
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/progmodes/gdb-mi.el?cvsroot=emacs&r1=1.27&r2=1.28
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.15905
retrieving revision 1.15906
diff -u -b -r1.15905 -r1.15906
--- ChangeLog 8 Aug 2009 10:05:53 -0000 1.15905
+++ ChangeLog 8 Aug 2009 13:42:03 -0000 1.15906
@@ -1,3 +1,14 @@
+2009-08-08 Dmitry Dzhus <address@hidden>
+
+ * progmodes/gdb-mi.el (gdb-read-memory-custom)
+ (gdb-memory-set-address, def-gdb-set-positive-number)
+ (def-gdb-memory-format, def-gdb-memory-unit): Update memory buffer
+ after changing settings.
+ (gdb-invalidate-disassembly): Update when first shown.
+ (gdb-edit-locals-value): Fixed.
+ (gdb-registers-handler-custom): Print registers in right order and
+ allow changing register values (only for current thread yet).
+
2009-08-08 Eli Zaretskii <address@hidden>
* mail/rmail.el (rmail-add-mbox-headers)
Index: progmodes/gdb-mi.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/progmodes/gdb-mi.el,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -b -r1.27 -r1.28
--- progmodes/gdb-mi.el 6 Aug 2009 18:05:36 -0000 1.27
+++ progmodes/gdb-mi.el 8 Aug 2009 13:42:08 -0000 1.28
@@ -252,19 +252,16 @@
`(setq gdb-pending-triggers
(delete ,item gdb-pending-triggers)))
-(defvar gdb-wait-for-pending-timeout 0.5)
-
-(defun gdb-wait-for-pending (&rest body)
- "Wait until `gdb-pending-triggers' is empty and execute BODY.
+(defmacro gdb-wait-for-pending (&rest body)
+ "Wait until `gdb-pending-triggers' is empty and evaluate FORM.
This function checks `gdb-pending-triggers' value every
`gdb-wait-for-pending' seconds."
- `(run-with-timer
- gdb-wait-for-pending-timeout nil
- (lambda ()
+ (run-with-timer
+ 0.5 nil
+ `(lambda ()
(if (not gdb-pending-triggers)
- (progn
- ,@body)
+ (progn ,@body)
(gdb-wait-for-pending ,@body)))))
;; Publish-subscribe
@@ -2781,7 +2778,7 @@
;; Show last page instead of empty buffer when out of bounds
(progn
(let ((gdb-memory-address gdb-memory-last-address))
- (gdb-invalidate-memory)
+ (gdb-invalidate-memory 'update)
(error err-msg))))))
(defvar gdb-memory-mode-map
@@ -2817,7 +2814,7 @@
(interactive)
(let ((arg (read-from-minibuffer "Memory address: ")))
(setq gdb-memory-address arg))
- (gdb-invalidate-memory))
+ (gdb-invalidate-memory 'update))
(defmacro def-gdb-set-positive-number (name variable echo-string &optional doc)
"Define a function NAME which reads new VAR value from minibuffer."
@@ -2831,7 +2828,7 @@
(if (<= count 0)
(error "Positive number only")
(customize-set-variable ',variable count)
- (gdb-invalidate-memory))))))
+ (gdb-invalidate-memory 'update))))))
(def-gdb-set-positive-number
gdb-memory-set-rows
@@ -2852,7 +2849,7 @@
`(defun ,name () ,(when doc doc)
(interactive)
(customize-set-variable 'gdb-memory-format ,format)
- (gdb-invalidate-memory)))
+ (gdb-invalidate-memory 'update)))
(def-gdb-memory-format
gdb-memory-format-binary "t"
@@ -2919,7 +2916,7 @@
`(defun ,name () ,(when doc doc)
(interactive)
(customize-set-variable 'gdb-memory-unit ,unit-size)
- (gdb-invalidate-memory)))
+ (gdb-invalidate-memory 'update)))
(def-gdb-memory-unit gdb-memory-unit-giant 8
"Set the unit size to giant words (eight bytes).")
@@ -3109,7 +3106,7 @@
gdb-disassembly-handler
;; We update disassembly only after we have actual frame information
;; about all threads
- '(update-disassembly))
+ '(update update-disassembly))
(def-gdb-auto-update-handler
gdb-disassembly-handler
@@ -3414,7 +3411,8 @@
(save-excursion
(if event (posn-set-point (event-end event)))
(beginning-of-line)
- (let* ((var (current-word))
+ (let* ((var (gdb-get-field
+ (get-text-property (point) 'gdb-local-variable) 'name))
(value (read-string (format "New value (%s): " var))))
(gud-basic-call
(concat "-gdb-set variable " var " = " value)))))
@@ -3446,7 +3444,7 @@
(propertize type 'font-lock-face font-lock-type-face)
(propertize name 'font-lock-face font-lock-variable-name-face)
value)
- '(mouse-face highlight))))
+ `(gdb-local-variable ,local))))
(insert (gdb-table-string table " "))
(setq mode-name
(concat "Locals: " (gdb-get-field (gdb-current-buffer-frame)
'func)))))
@@ -3509,13 +3507,12 @@
(defun gdb-registers-handler-custom ()
(let ((register-values (gdb-get-field (gdb-json-partial-output)
'register-values))
- (register-names-list (reverse gdb-register-names))
(table (make-gdb-table)))
(dolist (register register-values)
(let* ((register-number (gdb-get-field register 'number))
(value (gdb-get-field register 'value))
(register-name (nth (string-to-number register-number)
- register-names-list)))
+ gdb-register-names)))
(gdb-table-add-row
table
(list
@@ -3523,12 +3520,28 @@
(if (member register-number gdb-changed-registers)
(propertize value 'font-lock-face font-lock-warning-face)
value))
- '(mouse-face highlight))))
+ `(mouse-face highlight
+ help-echo "mouse-2: edit value"
+ gdb-register-name ,register-name))))
(insert (gdb-table-string table " "))))
+(defun gdb-edit-register-value (&optional event)
+ "Assign a value to a register displayed in the registers buffer."
+ (interactive (list last-input-event))
+ (save-excursion
+ (if event (posn-set-point (event-end event)))
+ (beginning-of-line)
+ (let* ((var (gdb-get-field
+ (get-text-property (point) 'gdb-register-name)))
+ (value (read-string (format "New value (%s): " var))))
+ (gud-basic-call
+ (concat "-gdb-set variable $" var " = " value)))))
+
(defvar gdb-registers-mode-map
(let ((map (make-sparse-keymap)))
(suppress-keymap map)
+ (define-key map "\r" 'gdb-edit-register-value)
+ (define-key map [mouse-2] 'gdb-edit-register-value)
(define-key map "q" 'kill-this-buffer)
map))
- [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/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 <=
- [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, 2009/08/11
- [Emacs-diffs] emacs/lisp ChangeLog progmodes/gdb-mi.el, Dmitry Dzhus, 2009/08/24