diff options
author | Nick Roberts <nickrob@snap.net.nz> | 2008-01-30 22:07:41 +0000 |
---|---|---|
committer | Nick Roberts <nickrob@snap.net.nz> | 2008-01-30 22:07:41 +0000 |
commit | 473a20b83e6e15f021ab1397569dece0d25be98a (patch) | |
tree | 113dca0c0653b18a30876480b405fcf6e0b0d6f0 | |
parent | cf24372d5853f590f705450b909659f5bd4b312e (diff) | |
download | emacs-pretest-22.1.90.tar.gz |
(gdb-var-set-format-regexp): New constant.emacs-pretest-22.1.90
(gdb-var-set-format-handler): New function.
(gdb-var-set-format): Use it.
-rw-r--r-- | lisp/progmodes/gdb-ui.el | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 4e6727cdbad..a3a40e03574 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el @@ -886,13 +886,22 @@ type_changed=\".*?\".*?}") (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list)) (varnum (car var))) (gdb-enqueue-input - (list + (list (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) (concat "server interpreter mi \"-var-set-format " varnum " " format "\"\n") (concat "-var-set-format " varnum " " format "\n")) - 'ignore)) - (gdb-var-update-1))) + `(lambda () (gdb-var-set-format-handler ,varnum)))))) + +(defconst gdb-var-set-format-regexp + "format=\"\\(.*?\\)\",.*value=\"\\(.*?\\)\"") + +(defun gdb-var-set-format-handler (varnum) + (goto-char (point-min)) + (if (re-search-forward gdb-var-set-format-regexp nil t) + (let ((var (assoc varnum gdb-var-list))) + (setcar (nthcdr 4 var) (match-string 2)) + (gdb-var-update-1)))) (defun gdb-var-delete-1 (varnum) (gdb-enqueue-input |