diff options
| author | Nick Roberts | 2005-11-03 22:05:53 +0000 |
|---|---|---|
| committer | Nick Roberts | 2005-11-03 22:05:53 +0000 |
| commit | bfd21f547c7efd8e53c848790f582eff460612a8 (patch) | |
| tree | 5515bd9b453a05162e2143dba6f0b85fd5f61b30 | |
| parent | 2b02eddfecf5786ba94eb6128c748e593d05ef66 (diff) | |
| download | emacs-bfd21f547c7efd8e53c848790f582eff460612a8.tar.gz emacs-bfd21f547c7efd8e53c848790f582eff460612a8.zip | |
(gud-watch): Use save-selected-window in
case GUD buffer is not visible.
(gdb-goto-breakpoint): Try to force display in source buffer.
(gdb-frame-gdb-buffer): Copy other similar functions.
(gdb-restore-windows): Don't display source if not asked for.
(gdb-assembler-buffer-name): Don't capitalise.
| -rw-r--r-- | lisp/progmodes/gdb-ui.el | 56 |
1 files changed, 30 insertions, 26 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index f5f9ad5d4bb..0dfc836c637 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -457,21 +457,21 @@ With arg, use separate IO iff arg is positive." | |||
| 457 | "Watch expression at point." | 457 | "Watch expression at point." |
| 458 | (interactive) | 458 | (interactive) |
| 459 | (require 'tooltip) | 459 | (require 'tooltip) |
| 460 | (let ((expr (tooltip-identifier-from-point (point)))) | 460 | (save-selected-window |
| 461 | (if (and (string-equal gdb-current-language "c") | 461 | (let ((expr (tooltip-identifier-from-point (point)))) |
| 462 | gdb-use-colon-colon-notation gdb-selected-frame) | 462 | (if (and (string-equal gdb-current-language "c") |
| 463 | (setq expr (concat gdb-selected-frame "::" expr))) | 463 | gdb-use-colon-colon-notation gdb-selected-frame) |
| 464 | (catch 'already-watched | 464 | (setq expr (concat gdb-selected-frame "::" expr))) |
| 465 | (dolist (var gdb-var-list) | 465 | (catch 'already-watched |
| 466 | (if (string-equal expr (car var)) (throw 'already-watched nil))) | 466 | (dolist (var gdb-var-list) |
| 467 | (set-text-properties 0 (length expr) nil expr) | 467 | (if (string-equal expr (car var)) (throw 'already-watched nil))) |
| 468 | (gdb-enqueue-input | 468 | (set-text-properties 0 (length expr) nil expr) |
| 469 | (list | 469 | (gdb-enqueue-input |
| 470 | (if (eq gud-minor-mode 'gdba) | 470 | (list |
| 471 | (concat "server interpreter mi \"-var-create - * " expr "\"\n") | 471 | (if (eq gud-minor-mode 'gdba) |
| 472 | (concat"-var-create - * " expr "\n")) | 472 | (concat "server interpreter mi \"-var-create - * " expr "\"\n") |
| 473 | `(lambda () (gdb-var-create-handler ,expr)))))) | 473 | (concat"-var-create - * " expr "\n")) |
| 474 | (select-window (get-buffer-window gud-comint-buffer 0))) | 474 | `(lambda () (gdb-var-create-handler ,expr)))))))) |
| 475 | 475 | ||
| 476 | (defconst gdb-var-create-regexp | 476 | (defconst gdb-var-create-regexp |
| 477 | "name=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",type=\"\\(.*?\\)\"") | 477 | "name=\"\\(.*?\\)\",numchild=\"\\(.*?\\)\",type=\"\\(.*?\\)\"") |
| @@ -1582,6 +1582,9 @@ static char *magick[] = { | |||
| 1582 | "Display the breakpoint location specified at current line." | 1582 | "Display the breakpoint location specified at current line." |
| 1583 | (interactive (list last-input-event)) | 1583 | (interactive (list last-input-event)) |
| 1584 | (if event (mouse-set-point event)) | 1584 | (if event (mouse-set-point event)) |
| 1585 | ;; Hack to stop gdb-goto-breakpoint displaying in GUD buffer. | ||
| 1586 | (let ((window (get-buffer-window gud-comint-buffer))) | ||
| 1587 | (if window (save-selected-window (select-window window)))) | ||
| 1585 | (save-excursion | 1588 | (save-excursion |
| 1586 | (beginning-of-line 1) | 1589 | (beginning-of-line 1) |
| 1587 | (if (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) | 1590 | (if (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) |
| @@ -2363,9 +2366,9 @@ corresponding to the mode line clicked." | |||
| 2363 | (defun gdb-frame-gdb-buffer () | 2366 | (defun gdb-frame-gdb-buffer () |
| 2364 | "Display GUD buffer in a new frame." | 2367 | "Display GUD buffer in a new frame." |
| 2365 | (interactive) | 2368 | (interactive) |
| 2366 | (select-frame (make-frame gdb-frame-parameters)) | 2369 | (let ((special-display-regexps (append special-display-regexps '(".*"))) |
| 2367 | (switch-to-buffer (gdb-get-create-buffer 'gdba)) | 2370 | (special-display-frame-alist gdb-frame-parameters)) |
| 2368 | (set-window-dedicated-p (selected-window) t)) | 2371 | (display-buffer (gdb-get-create-buffer 'gdb-stack-buffer)))) |
| 2369 | 2372 | ||
| 2370 | (defun gdb-display-gdb-buffer () | 2373 | (defun gdb-display-gdb-buffer () |
| 2371 | "Display GUD buffer." | 2374 | "Display GUD buffer." |
| @@ -2440,13 +2443,14 @@ This arrangement depends on the value of `gdb-many-windows'." | |||
| 2440 | (delete-other-windows) | 2443 | (delete-other-windows) |
| 2441 | (if gdb-many-windows | 2444 | (if gdb-many-windows |
| 2442 | (gdb-setup-windows) | 2445 | (gdb-setup-windows) |
| 2443 | (split-window) | 2446 | (when (or gud-last-last-frame gdb-show-main) |
| 2444 | (other-window 1) | 2447 | (split-window) |
| 2445 | (switch-to-buffer | 2448 | (other-window 1) |
| 2446 | (if gud-last-last-frame | 2449 | (switch-to-buffer |
| 2447 | (gud-find-file (car gud-last-last-frame)) | 2450 | (if gud-last-last-frame |
| 2448 | (gud-find-file gdb-main-file))) | 2451 | (gud-find-file (car gud-last-last-frame)) |
| 2449 | (other-window 1))) | 2452 | (gud-find-file gdb-main-file))) |
| 2453 | (other-window 1)))) | ||
| 2450 | 2454 | ||
| 2451 | (defun gdb-reset () | 2455 | (defun gdb-reset () |
| 2452 | "Exit a debugging session cleanly. | 2456 | "Exit a debugging session cleanly. |
| @@ -2730,7 +2734,7 @@ BUFFER nil or omitted means use the current buffer." | |||
| 2730 | 2734 | ||
| 2731 | (defun gdb-assembler-buffer-name () | 2735 | (defun gdb-assembler-buffer-name () |
| 2732 | (with-current-buffer gud-comint-buffer | 2736 | (with-current-buffer gud-comint-buffer |
| 2733 | (concat "*Disassembly of " (gdb-get-target-string) "*"))) | 2737 | (concat "*disassembly of " (gdb-get-target-string) "*"))) |
| 2734 | 2738 | ||
| 2735 | (defun gdb-display-assembler-buffer () | 2739 | (defun gdb-display-assembler-buffer () |
| 2736 | "Display disassembly view." | 2740 | "Display disassembly view." |