aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2004-04-08 21:02:04 +0000
committerNick Roberts2004-04-08 21:02:04 +0000
commit91e88cea86c6e4b87f70ec05244f4af716ace19a (patch)
tree5282f84a7347436f81a162935473c880aae46fff
parente20b265a86281c723cbd0a3ae5a4bf2ce5f7ef2c (diff)
downloademacs-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.el77
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
76other with the source file with the main routine of the debugee. 76other with the source file with the main routine of the debugee.
77 77
78If `gdb-many-windows' is t the layout below will appear 78If `gdb-many-windows' is t the layout below will appear
79regardless of the value of `gdb-show-main'. Keybindings are given 79regardless of the value of `gdb-show-main' unless
80in relevant buffer. 80`gdb-use-inferior-io-buffer' is nil when the source buffer
81occupies the full width of the frame. Keybindings are given in
82relevant 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
1200current line." 1199current 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
1683the source buffer." 1660unless `gdb-show-main' is t. In this case it starts with two
1661windows: one displaying the GUD buffer and the other with the
1662source file with the main routine of the debugee. Non-nil means
1663display 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))))))