diff options
| author | Nick Roberts | 2004-04-08 21:02:04 +0000 |
|---|---|---|
| committer | Nick Roberts | 2004-04-08 21:02:04 +0000 |
| commit | 91e88cea86c6e4b87f70ec05244f4af716ace19a (patch) | |
| tree | 5282f84a7347436f81a162935473c880aae46fff | |
| parent | e20b265a86281c723cbd0a3ae5a4bf2ce5f7ef2c (diff) | |
| download | emacs-91e88cea86c6e4b87f70ec05244f4af716ace19a.tar.gz emacs-91e88cea86c6e4b87f70ec05244f4af716ace19a.zip | |
(gdb-source-window): Remove variable.
(gdb-goto-breakpoint, gdb-display-buffer)
(gdb-display-source-buffer, gdb-view-source-function)
(gdb-view-assembler, gdb-setup-windows, gdb-restore-windows)
(gdb-source-info, gdb-frame-handler): Don't specify a window
for display.
(gdb-info-breakpoints-custom): Remove superfluous update of
assembler buffer.
(gdb-many-windows): Make settable outside gdb.
| -rw-r--r-- | lisp/progmodes/gdb-ui.el | 77 |
1 files changed, 28 insertions, 49 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index a6a5f2d440f..5163471f47a 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -76,8 +76,10 @@ it starts with two windows: one displaying the GUD buffer and the | |||
| 76 | other with the source file with the main routine of the debugee. | 76 | other with the source file with the main routine of the debugee. |
| 77 | 77 | ||
| 78 | If `gdb-many-windows' is t the layout below will appear | 78 | If `gdb-many-windows' is t the layout below will appear |
| 79 | regardless of the value of `gdb-show-main'. Keybindings are given | 79 | regardless of the value of `gdb-show-main' unless |
| 80 | in relevant buffer. | 80 | `gdb-use-inferior-io-buffer' is nil when the source buffer |
| 81 | occupies the full width of the frame. Keybindings are given in | ||
| 82 | relevant buffer. | ||
| 81 | 83 | ||
| 82 | --------------------------------------------------------------------- | 84 | --------------------------------------------------------------------- |
| 83 | GDB Toolbar | 85 | GDB Toolbar |
| @@ -1110,8 +1112,7 @@ static char *magick[] = { | |||
| 1110 | (save-excursion | 1112 | (save-excursion |
| 1111 | (goto-line (string-to-number line)) | 1113 | (goto-line (string-to-number line)) |
| 1112 | (gdb-put-breakpoint-icon (eq flag ?y))))))))) | 1114 | (gdb-put-breakpoint-icon (eq flag ?y))))))))) |
| 1113 | (end-of-line))))) | 1115 | (end-of-line)))))) |
| 1114 | (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom))) | ||
| 1115 | 1116 | ||
| 1116 | (defun gdb-mouse-toggle-breakpoint (event) | 1117 | (defun gdb-mouse-toggle-breakpoint (event) |
| 1117 | "Toggle breakpoint with mouse click in left margin." | 1118 | "Toggle breakpoint with mouse click in left margin." |
| @@ -1193,8 +1194,6 @@ static char *magick[] = { | |||
| 1193 | (gdb-enqueue-input | 1194 | (gdb-enqueue-input |
| 1194 | (list (concat "server delete " (match-string 1) "\n") 'ignore)))) | 1195 | (list (concat "server delete " (match-string 1) "\n") 'ignore)))) |
| 1195 | 1196 | ||
| 1196 | (defvar gdb-source-window nil) | ||
| 1197 | |||
| 1198 | (defun gdb-goto-breakpoint () | 1197 | (defun gdb-goto-breakpoint () |
| 1199 | "Display the file in the source buffer at the breakpoint specified on the | 1198 | "Display the file in the source buffer at the breakpoint specified on the |
| 1200 | current line." | 1199 | current line." |
| @@ -1207,11 +1206,10 @@ current line." | |||
| 1207 | (let ((line (match-string 2)) | 1206 | (let ((line (match-string 2)) |
| 1208 | (file (match-string 1))) | 1207 | (file (match-string 1))) |
| 1209 | (save-selected-window | 1208 | (save-selected-window |
| 1210 | (select-window gdb-source-window) | 1209 | (gdb-display-buffer (find-file-noselect |
| 1211 | (switch-to-buffer (find-file-noselect | 1210 | (if (file-exists-p file) |
| 1212 | (if (file-exists-p file) | 1211 | file |
| 1213 | file | 1212 | (expand-file-name file gdb-cdir)))) |
| 1214 | (expand-file-name file gdb-cdir)))) | ||
| 1215 | (goto-line (string-to-number line)))))) | 1213 | (goto-line (string-to-number line)))))) |
| 1216 | 1214 | ||
| 1217 | (defun gdb-mouse-goto-breakpoint (event) | 1215 | (defun gdb-mouse-goto-breakpoint (event) |
| @@ -1510,8 +1508,7 @@ the source buffer." | |||
| 1510 | (progn | 1508 | (progn |
| 1511 | (walk-windows | 1509 | (walk-windows |
| 1512 | #'(lambda (win) | 1510 | #'(lambda (win) |
| 1513 | (if (or (eq gud-comint-buffer (window-buffer win)) | 1511 | (if (eq gud-comint-buffer (window-buffer win)) |
| 1514 | (eq gdb-source-window win)) | ||
| 1515 | (set-window-dedicated-p win t)))) | 1512 | (set-window-dedicated-p win t)))) |
| 1516 | (setq answer (get-buffer-window buf)) | 1513 | (setq answer (get-buffer-window buf)) |
| 1517 | (if (not answer) | 1514 | (if (not answer) |
| @@ -1523,8 +1520,7 @@ the source buffer." | |||
| 1523 | (setq must-split t))))) | 1520 | (setq must-split t))))) |
| 1524 | (walk-windows | 1521 | (walk-windows |
| 1525 | #'(lambda (win) | 1522 | #'(lambda (win) |
| 1526 | (if (or (eq gud-comint-buffer (window-buffer win)) | 1523 | (if (eq gud-comint-buffer (window-buffer win)) |
| 1527 | (eq gdb-source-window win)) | ||
| 1528 | (set-window-dedicated-p win nil))))) | 1524 | (set-window-dedicated-p win nil))))) |
| 1529 | (if must-split | 1525 | (if must-split |
| 1530 | (let* ((largest (get-largest-window)) | 1526 | (let* ((largest (get-largest-window)) |
| @@ -1537,17 +1533,9 @@ the source buffer." | |||
| 1537 | (defun gdb-display-source-buffer (buffer) | 1533 | (defun gdb-display-source-buffer (buffer) |
| 1538 | (if (eq gdb-selected-view 'source) | 1534 | (if (eq gdb-selected-view 'source) |
| 1539 | (progn | 1535 | (progn |
| 1540 | (if (window-live-p gdb-source-window) | 1536 | (gdb-display-buffer buffer) |
| 1541 | (set-window-buffer gdb-source-window buffer) | 1537 | (get-buffer-window buffer)) |
| 1542 | (gdb-display-buffer buffer) | 1538 | (gdb-display-buffer (gdb-get-buffer 'gdb-assembler-buffer)) |
| 1543 | (setq gdb-source-window (get-buffer-window buffer))) | ||
| 1544 | gdb-source-window) | ||
| 1545 | (if (window-live-p gdb-source-window) | ||
| 1546 | (set-window-buffer gdb-source-window | ||
| 1547 | (gdb-get-buffer 'gdb-assembler-buffer)) | ||
| 1548 | (let ((buf (gdb-get-buffer 'gdb-assembler-buffer))) | ||
| 1549 | (gdb-display-buffer buf) | ||
| 1550 | (setq gdb-source-window (get-buffer-window buf)))) | ||
| 1551 | nil)) | 1539 | nil)) |
| 1552 | 1540 | ||
| 1553 | 1541 | ||
| @@ -1615,25 +1603,15 @@ the source buffer." | |||
| 1615 | (defun gdb-view-source-function () | 1603 | (defun gdb-view-source-function () |
| 1616 | (interactive) | 1604 | (interactive) |
| 1617 | (if gdb-view-source | 1605 | (if gdb-view-source |
| 1618 | (if (window-live-p gdb-source-window) | 1606 | (gdb-display-buffer |
| 1619 | (set-window-buffer gdb-source-window | 1607 | (if gud-last-last-frame |
| 1620 | (if gud-last-last-frame | 1608 | (gud-find-file (car gud-last-last-frame)) |
| 1621 | (gud-find-file (car gud-last-last-frame)) | 1609 | (gud-find-file gdb-main-file)))) |
| 1622 | (gud-find-file gdb-main-file))) | ||
| 1623 | (setq gdb-source-window | ||
| 1624 | (display-buffer | ||
| 1625 | (if gud-last-last-frame | ||
| 1626 | (gud-find-file (car gud-last-last-frame)) | ||
| 1627 | (gud-find-file gdb-main-file)))))) | ||
| 1628 | (setq gdb-selected-view 'source)) | 1610 | (setq gdb-selected-view 'source)) |
| 1629 | 1611 | ||
| 1630 | (defun gdb-view-assembler() | 1612 | (defun gdb-view-assembler() |
| 1631 | (interactive) | 1613 | (interactive) |
| 1632 | (if (window-live-p gdb-source-window) | 1614 | (gdb-display-buffer (gdb-get-create-buffer 'gdb-assembler-buffer)) |
| 1633 | (set-window-buffer gdb-source-window | ||
| 1634 | (gdb-get-create-buffer 'gdb-assembler-buffer)) | ||
| 1635 | (setq gdb-source-window | ||
| 1636 | (display-buffer (gdb-get-create-buffer 'gdb-assembler-buffer)))) | ||
| 1637 | (setq gdb-selected-view 'assembler)) | 1615 | (setq gdb-selected-view 'assembler)) |
| 1638 | 1616 | ||
| 1639 | ;(defun gdb-view-both() | 1617 | ;(defun gdb-view-both() |
| @@ -1666,7 +1644,6 @@ the source buffer." | |||
| 1666 | (gud-find-file (car gud-last-last-frame)) | 1644 | (gud-find-file (car gud-last-last-frame)) |
| 1667 | (gud-find-file gdb-main-file)) | 1645 | (gud-find-file gdb-main-file)) |
| 1668 | (gdb-get-create-buffer 'gdb-assembler-buffer))) | 1646 | (gdb-get-create-buffer 'gdb-assembler-buffer))) |
| 1669 | (setq gdb-source-window (get-buffer-window (current-buffer))) | ||
| 1670 | (when gdb-use-inferior-io-buffer | 1647 | (when gdb-use-inferior-io-buffer |
| 1671 | (split-window-horizontally) | 1648 | (split-window-horizontally) |
| 1672 | (other-window 1) | 1649 | (other-window 1) |
| @@ -1679,8 +1656,11 @@ the source buffer." | |||
| 1679 | (other-window 1)) | 1656 | (other-window 1)) |
| 1680 | 1657 | ||
| 1681 | (defcustom gdb-many-windows nil | 1658 | (defcustom gdb-many-windows nil |
| 1682 | "Nil means that gdb starts with just two windows : the GUD and | 1659 | "Nil (the default value) means just pops up the GUD buffer |
| 1683 | the source buffer." | 1660 | unless `gdb-show-main' is t. In this case it starts with two |
| 1661 | windows: one displaying the GUD buffer and the other with the | ||
| 1662 | source file with the main routine of the debugee. Non-nil means | ||
| 1663 | display the layout shown for `gdba'." | ||
| 1684 | :type 'boolean | 1664 | :type 'boolean |
| 1685 | :group 'gud) | 1665 | :group 'gud) |
| 1686 | 1666 | ||
| @@ -1691,7 +1671,9 @@ the source buffer." | |||
| 1691 | (if (null arg) | 1671 | (if (null arg) |
| 1692 | (not gdb-many-windows) | 1672 | (not gdb-many-windows) |
| 1693 | (> (prefix-numeric-value arg) 0))) | 1673 | (> (prefix-numeric-value arg) 0))) |
| 1694 | (gdb-restore-windows)) | 1674 | (condition-case nil |
| 1675 | (gdb-restore-windows) | ||
| 1676 | (error nil))) | ||
| 1695 | 1677 | ||
| 1696 | (defun gdb-restore-windows () | 1678 | (defun gdb-restore-windows () |
| 1697 | "Restore the basic arrangement of windows used by gdba. | 1679 | "Restore the basic arrangement of windows used by gdba. |
| @@ -1713,7 +1695,6 @@ This arrangement depends on the value of `gdb-many-windows'." | |||
| 1713 | (gud-find-file (car gud-last-last-frame)) | 1695 | (gud-find-file (car gud-last-last-frame)) |
| 1714 | (gud-find-file gdb-main-file)) | 1696 | (gud-find-file gdb-main-file)) |
| 1715 | (gdb-get-create-buffer 'gdb-assembler-buffer))) | 1697 | (gdb-get-create-buffer 'gdb-assembler-buffer))) |
| 1716 | (setq gdb-source-window (get-buffer-window (current-buffer))) | ||
| 1717 | (other-window 1))) | 1698 | (other-window 1))) |
| 1718 | 1699 | ||
| 1719 | (defun gdb-reset () | 1700 | (defun gdb-reset () |
| @@ -1760,7 +1741,6 @@ buffers." | |||
| 1760 | (if gdb-view-source | 1741 | (if gdb-view-source |
| 1761 | (gud-find-file gdb-main-file) | 1742 | (gud-find-file gdb-main-file) |
| 1762 | (gdb-get-create-buffer 'gdb-assembler-buffer))) | 1743 | (gdb-get-create-buffer 'gdb-assembler-buffer))) |
| 1763 | (setq gdb-source-window (get-buffer-window (current-buffer))) | ||
| 1764 | (other-window 1)))) | 1744 | (other-window 1)))) |
| 1765 | 1745 | ||
| 1766 | ;;from put-image | 1746 | ;;from put-image |
| @@ -1997,8 +1977,7 @@ BUFFER nil or omitted means use the current buffer." | |||
| 1997 | (progn (setq gdb-view-source nil) t)) | 1977 | (progn (setq gdb-view-source nil) t)) |
| 1998 | (eq gdb-selected-view 'assembler)) | 1978 | (eq gdb-selected-view 'assembler)) |
| 1999 | (progn | 1979 | (progn |
| 2000 | (set-window-buffer | 1980 | (gdb-display-buffer |
| 2001 | gdb-source-window | ||
| 2002 | (gdb-get-create-buffer 'gdb-assembler-buffer)) | 1981 | (gdb-get-create-buffer 'gdb-assembler-buffer)) |
| 2003 | ;;update with new frame for machine code if necessary | 1982 | ;;update with new frame for machine code if necessary |
| 2004 | (gdb-invalidate-assembler)))))) | 1983 | (gdb-invalidate-assembler)))))) |