diff options
| author | Nick Roberts | 2004-05-24 21:59:08 +0000 |
|---|---|---|
| committer | Nick Roberts | 2004-05-24 21:59:08 +0000 |
| commit | 39043abb833e639ecb1a79867f108aeec6be1830 (patch) | |
| tree | 90c64a95dd4deb3f9773a5f85f3b8dabad300232 | |
| parent | c98583470faafc01532a84fe8e621438eb1c2bf4 (diff) | |
| download | emacs-39043abb833e639ecb1a79867f108aeec6be1830.tar.gz emacs-39043abb833e639ecb1a79867f108aeec6be1830.zip | |
(gdb-var-update, gdb-var-update-handler, gdb-var-delete)
(gdb-edit-value, gdb-speedbar-expand-node): Handle new value for
gud-minor-mode (gdbmi).
| -rw-r--r-- | lisp/progmodes/gdb-ui.el | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index b376c380e98..6fce273f6ee 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -319,7 +319,11 @@ speedbar." | |||
| 319 | (defun gdb-var-update () | 319 | (defun gdb-var-update () |
| 320 | (if (not (member 'gdb-var-update gdb-pending-triggers)) | 320 | (if (not (member 'gdb-var-update gdb-pending-triggers)) |
| 321 | (progn | 321 | (progn |
| 322 | (gdb-enqueue-input (list "server interpreter mi \"-var-update *\"\n" | 322 | (gdb-enqueue-input |
| 323 | (list | ||
| 324 | (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) | ||
| 325 | "server interpreter mi \"-var-update *\"\n" | ||
| 326 | "-var-update *\n") | ||
| 323 | 'gdb-var-update-handler)) | 327 | 'gdb-var-update-handler)) |
| 324 | (push 'gdb-var-update gdb-pending-triggers)))) | 328 | (push 'gdb-var-update gdb-pending-triggers)))) |
| 325 | 329 | ||
| @@ -331,8 +335,11 @@ speedbar." | |||
| 331 | (while (re-search-forward gdb-var-update-regexp nil t) | 335 | (while (re-search-forward gdb-var-update-regexp nil t) |
| 332 | (let ((varnum (match-string 1))) | 336 | (let ((varnum (match-string 1))) |
| 333 | (gdb-enqueue-input | 337 | (gdb-enqueue-input |
| 334 | (list (concat "server interpreter mi \"-var-evaluate-expression " | 338 | (list |
| 335 | varnum "\"\n") | 339 | (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) |
| 340 | (concat "server interpreter mi \"-var-evaluate-expression " | ||
| 341 | varnum "\"\n") | ||
| 342 | (concat "-var-evaluate-expression " varnum "\n")) | ||
| 336 | `(lambda () (gdb-var-evaluate-expression-handler | 343 | `(lambda () (gdb-var-evaluate-expression-handler |
| 337 | ,varnum t))))))) | 344 | ,varnum t))))))) |
| 338 | (setq gdb-pending-triggers | 345 | (setq gdb-pending-triggers |
| @@ -349,8 +356,11 @@ speedbar." | |||
| 349 | (varnum (cadr var))) | 356 | (varnum (cadr var))) |
| 350 | (unless (string-match "\\." varnum) | 357 | (unless (string-match "\\." varnum) |
| 351 | (gdb-enqueue-input | 358 | (gdb-enqueue-input |
| 352 | (list (concat "server interpreter mi \"-var-delete " | 359 | (list |
| 353 | varnum "\"\n") | 360 | (if (with-current-buffer gud-comint-buffer |
| 361 | (eq gud-minor-mode 'gdba)) | ||
| 362 | (concat "server interpreter mi \"-var-delete " varnum "\"\n") | ||
| 363 | (concat "-var-delete " varnum "\n")) | ||
| 354 | 'ignore)) | 364 | 'ignore)) |
| 355 | (setq gdb-var-list (delq var gdb-var-list)) | 365 | (setq gdb-var-list (delq var gdb-var-list)) |
| 356 | (dolist (varchild gdb-var-list) | 366 | (dolist (varchild gdb-var-list) |
| @@ -364,8 +374,11 @@ speedbar." | |||
| 364 | (varnum (cadr var)) (value)) | 374 | (varnum (cadr var)) (value)) |
| 365 | (setq value (read-string "New value: ")) | 375 | (setq value (read-string "New value: ")) |
| 366 | (gdb-enqueue-input | 376 | (gdb-enqueue-input |
| 367 | (list (concat "server interpreter mi \"-var-assign " | 377 | (list |
| 368 | varnum " " value "\"\n") | 378 | (if (with-current-buffer gud-comint-buffer |
| 379 | (eq gud-minor-mode 'gdba)) | ||
| 380 | (concat "server interpreter mi \"-var-assign " varnum " " value "\"\n") | ||
| 381 | (concat "-var-assign " varnum " " value "\n")) | ||
| 369 | 'ignore)))) | 382 | 'ignore)))) |
| 370 | 383 | ||
| 371 | (defcustom gdb-show-changed-values t | 384 | (defcustom gdb-show-changed-values t |
| @@ -380,7 +393,9 @@ TEXT is the text of the button we clicked on, a + or - item. | |||
| 380 | TOKEN is data related to this node. | 393 | TOKEN is data related to this node. |
| 381 | INDENT is the current indentation depth." | 394 | INDENT is the current indentation depth." |
| 382 | (cond ((string-match "+" text) ;expand this node | 395 | (cond ((string-match "+" text) ;expand this node |
| 383 | (gdb-var-list-children token)) | 396 | (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) |
| 397 | (gdb-var-list-children token) | ||
| 398 | (gdbmi-var-list-children token))) | ||
| 384 | ((string-match "-" text) ;contract this node | 399 | ((string-match "-" text) ;contract this node |
| 385 | (dolist (var gdb-var-list) | 400 | (dolist (var gdb-var-list) |
| 386 | (if (string-match (concat token "\\.") (nth 1 var)) | 401 | (if (string-match (concat token "\\.") (nth 1 var)) |