Mercurial > emacs
comparison lisp/progmodes/gdb-ui.el @ 90580:7f3f771c85fa
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 382-398)
- Update from CVS
- Update from erc--emacs--22
- Fix ERC bug introduced in last patch
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 123-125)
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-101
author | Miles Bader <miles@gnu.org> |
---|---|
date | Wed, 16 Aug 2006 14:08:49 +0000 |
parents | 858cb33ae39d 17d65e848c72 |
children | 6823a91487f2 |
comparison
equal
deleted
inserted
replaced
90579:c78f05b8f09e | 90580:7f3f771c85fa |
---|---|
113 where STATUS is nil (unchanged), `changed' or `out-of-scope', FP the frame | 113 where STATUS is nil (unchanged), `changed' or `out-of-scope', FP the frame |
114 address for root variables.") | 114 address for root variables.") |
115 (defvar gdb-main-file nil "Source file from which program execution begins.") | 115 (defvar gdb-main-file nil "Source file from which program execution begins.") |
116 (defvar gud-old-arrow nil) | 116 (defvar gud-old-arrow nil) |
117 (defvar gdb-overlay-arrow-position nil) | 117 (defvar gdb-overlay-arrow-position nil) |
118 (defvar gdb-stack-position nil) | |
118 (defvar gdb-server-prefix nil) | 119 (defvar gdb-server-prefix nil) |
119 (defvar gdb-flush-pending-output nil) | 120 (defvar gdb-flush-pending-output nil) |
120 (defvar gdb-location-alist nil | 121 (defvar gdb-location-alist nil |
121 "Alist of breakpoint numbers and full filenames.") | 122 "Alist of breakpoint numbers and full filenames.") |
122 (defvar gdb-active-process nil "GUD tooltips display variable values when t, \ | 123 (defvar gdb-active-process nil "GUD tooltips display variable values when t, \ |
319 :type 'boolean | 320 :type 'boolean |
320 :group 'gud | 321 :group 'gud |
321 :version "22.1") | 322 :version "22.1") |
322 | 323 |
323 (defcustom gdb-use-separate-io-buffer nil | 324 (defcustom gdb-use-separate-io-buffer nil |
324 "Non-nil means display output from the inferior in a separate buffer." | 325 "Non-nil means display output from the debugged program in a separate buffer." |
325 :type 'boolean | 326 :type 'boolean |
326 :group 'gud | 327 :group 'gud |
327 :version "22.1") | 328 :version "22.1") |
328 | 329 |
329 (defun gdb-force-mode-line-update (status) | 330 (defun gdb-force-mode-line-update (status) |
351 (condition-case nil | 352 (condition-case nil |
352 (gdb-restore-windows) | 353 (gdb-restore-windows) |
353 (error nil)))) | 354 (error nil)))) |
354 | 355 |
355 (defun gdb-use-separate-io-buffer (arg) | 356 (defun gdb-use-separate-io-buffer (arg) |
356 "Toggle separate IO for inferior. | 357 "Toggle separate IO for debugged program. |
357 With arg, use separate IO iff arg is positive." | 358 With arg, use separate IO iff arg is positive." |
358 (interactive "P") | 359 (interactive "P") |
359 (setq gdb-use-separate-io-buffer | 360 (setq gdb-use-separate-io-buffer |
360 (if (null arg) | 361 (if (null arg) |
361 (not gdb-use-separate-io-buffer) | 362 (not gdb-use-separate-io-buffer) |
362 (> (prefix-numeric-value arg) 0))) | 363 (> (prefix-numeric-value arg) 0))) |
363 (message (format "Separate inferior IO %sabled" | 364 (message (format "Separate IO %sabled" |
364 (if gdb-use-separate-io-buffer "en" "dis"))) | 365 (if gdb-use-separate-io-buffer "en" "dis"))) |
365 (if (and gud-comint-buffer | 366 (if (and gud-comint-buffer |
366 (buffer-name gud-comint-buffer)) | 367 (buffer-name gud-comint-buffer)) |
367 (condition-case nil | 368 (condition-case nil |
368 (if gdb-use-separate-io-buffer | 369 (if gdb-use-separate-io-buffer |
1028 (tool-bar-lines . nil) | 1029 (tool-bar-lines . nil) |
1029 (menu-bar-lines . nil) | 1030 (menu-bar-lines . nil) |
1030 (minibuffer . nil))) | 1031 (minibuffer . nil))) |
1031 | 1032 |
1032 (defun gdb-frame-separate-io-buffer () | 1033 (defun gdb-frame-separate-io-buffer () |
1033 "Display IO of inferior in a new frame." | 1034 "Display IO of debugged program in a new frame." |
1034 (interactive) | 1035 (interactive) |
1035 (if gdb-use-separate-io-buffer | 1036 (if gdb-use-separate-io-buffer |
1036 (let ((special-display-regexps (append special-display-regexps '(".*"))) | 1037 (let ((special-display-regexps (append special-display-regexps '(".*"))) |
1037 (special-display-frame-alist gdb-frame-parameters)) | 1038 (special-display-frame-alist gdb-frame-parameters)) |
1038 (display-buffer (gdb-get-buffer-create 'gdb-inferior-io))))) | 1039 (display-buffer (gdb-get-buffer-create 'gdb-inferior-io))))) |
1294 (propertize gdb-inferior-status 'face font-lock-type-face)) | 1295 (propertize gdb-inferior-status 'face font-lock-type-face)) |
1295 (gdb-remove-text-properties) | 1296 (gdb-remove-text-properties) |
1296 (setq gud-old-arrow gud-overlay-arrow-position) | 1297 (setq gud-old-arrow gud-overlay-arrow-position) |
1297 (setq gud-overlay-arrow-position nil) | 1298 (setq gud-overlay-arrow-position nil) |
1298 (setq gdb-overlay-arrow-position nil) | 1299 (setq gdb-overlay-arrow-position nil) |
1300 (setq gdb-stack-position nil) | |
1299 (if gdb-use-separate-io-buffer | 1301 (if gdb-use-separate-io-buffer |
1300 (setq gdb-output-sink 'inferior)))) | 1302 (setq gdb-output-sink 'inferior)))) |
1301 (t | 1303 (t |
1302 (gdb-resync) | 1304 (gdb-resync) |
1303 (error "Unexpected `starting' annotation"))))) | 1305 (error "Unexpected `starting' annotation"))))) |
1328 function is used to change the focus of GUD tooltips to #define | 1330 function is used to change the focus of GUD tooltips to #define |
1329 directives." | 1331 directives." |
1330 (setq gdb-active-process nil) | 1332 (setq gdb-active-process nil) |
1331 (setq gud-overlay-arrow-position nil) | 1333 (setq gud-overlay-arrow-position nil) |
1332 (setq gdb-overlay-arrow-position nil) | 1334 (setq gdb-overlay-arrow-position nil) |
1335 (setq gdb-stack-position nil) | |
1333 (setq gud-old-arrow nil) | 1336 (setq gud-old-arrow nil) |
1334 (setq gdb-inferior-status "exited") | 1337 (setq gdb-inferior-status "exited") |
1335 (gdb-force-mode-line-update | 1338 (gdb-force-mode-line-update |
1336 (propertize gdb-inferior-status 'face font-lock-warning-face)) | 1339 (propertize gdb-inferior-status 'face font-lock-warning-face)) |
1337 (gdb-stopping ignored)) | 1340 (gdb-stopping ignored)) |
1774 (save-excursion | 1777 (save-excursion |
1775 (let ((buffer-read-only nil)) | 1778 (let ((buffer-read-only nil)) |
1776 (goto-char (point-min)) | 1779 (goto-char (point-min)) |
1777 (while (< (point) (- (point-max) 1)) | 1780 (while (< (point) (- (point-max) 1)) |
1778 (forward-line 1) | 1781 (forward-line 1) |
1779 (if (looking-at "[^\t].*?breakpoint") | 1782 (if (looking-at gdb-breakpoint-regexp) |
1780 (progn | 1783 (progn |
1781 (looking-at "\\([0-9]+\\)\\s-+\\S-+\\s-+\\S-+\\s-+\\(.\\)") | |
1782 (setq bptno (match-string 1)) | 1784 (setq bptno (match-string 1)) |
1783 (setq flag (char-after (match-beginning 2))) | 1785 (setq flag (char-after (match-beginning 2))) |
1784 (add-text-properties | 1786 (add-text-properties |
1785 (match-beginning 2) (match-end 2) | 1787 (match-beginning 2) (match-end 2) |
1786 (if (eq flag ?y) | 1788 (if (eq flag ?y) |
1787 '(face font-lock-warning-face) | 1789 '(face font-lock-warning-face) |
1788 '(face font-lock-type-face))) | 1790 '(face font-lock-type-face))) |
1789 (beginning-of-line) | 1791 (let ((bl (point)) |
1790 (if (re-search-forward " in \\(.*\\) at\\s-+" nil t) | 1792 (el (line-end-position))) |
1791 (progn | 1793 (if (re-search-forward " in \\(.*\\) at\\s-+" el t) |
1794 (progn | |
1795 (add-text-properties | |
1796 (match-beginning 1) (match-end 1) | |
1797 '(face font-lock-function-name-face)) | |
1798 (looking-at "\\(\\S-+\\):\\([0-9]+\\)") | |
1799 (let ((line (match-string 2)) | |
1800 (file (match-string 1))) | |
1801 (add-text-properties bl el | |
1802 '(mouse-face highlight | |
1803 help-echo "mouse-2, RET: visit breakpoint")) | |
1804 (unless (file-exists-p file) | |
1805 (setq file (cdr (assoc bptno gdb-location-alist)))) | |
1806 (if (and file | |
1807 (not (string-equal file "File not found"))) | |
1808 (with-current-buffer | |
1809 (find-file-noselect file 'nowarn) | |
1810 (set (make-local-variable 'gud-minor-mode) | |
1811 'gdba) | |
1812 (set (make-local-variable 'tool-bar-map) | |
1813 gud-tool-bar-map) | |
1814 ;; Only want one breakpoint icon at each | |
1815 ;; location. | |
1816 (save-excursion | |
1817 (goto-line (string-to-number line)) | |
1818 (gdb-put-breakpoint-icon (eq flag ?y) bptno))) | |
1819 (gdb-enqueue-input | |
1820 (list | |
1821 (concat gdb-server-prefix "list " | |
1822 (match-string-no-properties 1) ":1\n") | |
1823 'ignore)) | |
1824 (gdb-enqueue-input | |
1825 (list (concat gdb-server-prefix "info source\n") | |
1826 `(lambda () (gdb-get-location | |
1827 ,bptno ,line ,flag))))))) | |
1828 (if (re-search-forward | |
1829 "<\\(\\(\\sw\\|[_.]\\)+\\)\\(\\+[0-9]+\\)?>" | |
1830 el t) | |
1831 (add-text-properties | |
1832 (match-beginning 1) (match-end 1) | |
1833 '(face font-lock-function-name-face)) | |
1834 (end-of-line) | |
1835 (re-search-backward "\\s-\\(\\S-*\\)" | |
1836 bl t) | |
1792 (add-text-properties | 1837 (add-text-properties |
1793 (match-beginning 1) (match-end 1) | 1838 (match-beginning 1) (match-end 1) |
1794 '(face font-lock-function-name-face)) | 1839 '(face font-lock-variable-name-face))))))) |
1795 (looking-at "\\(\\S-+\\):\\([0-9]+\\)") | |
1796 (let ((line (match-string 2)) | |
1797 (file (match-string 1))) | |
1798 (add-text-properties (line-beginning-position) | |
1799 (line-end-position) | |
1800 '(mouse-face highlight | |
1801 help-echo "mouse-2, RET: visit breakpoint")) | |
1802 (unless (file-exists-p file) | |
1803 (setq file (cdr (assoc bptno gdb-location-alist)))) | |
1804 (if (and file | |
1805 (not (string-equal file "File not found"))) | |
1806 (with-current-buffer | |
1807 (find-file-noselect file 'nowarn) | |
1808 (set (make-local-variable 'gud-minor-mode) | |
1809 'gdba) | |
1810 (set (make-local-variable 'tool-bar-map) | |
1811 gud-tool-bar-map) | |
1812 ;; Only want one breakpoint icon at each | |
1813 ;; location. | |
1814 (save-excursion | |
1815 (goto-line (string-to-number line)) | |
1816 (gdb-put-breakpoint-icon (eq flag ?y) bptno))) | |
1817 (gdb-enqueue-input | |
1818 (list | |
1819 (concat gdb-server-prefix "list " | |
1820 (match-string-no-properties 1) ":1\n") | |
1821 'ignore)) | |
1822 (gdb-enqueue-input | |
1823 (list (concat gdb-server-prefix "info source\n") | |
1824 `(lambda () (gdb-get-location | |
1825 ,bptno ,line ,flag)))))))))) | |
1826 (end-of-line)))))) | 1840 (end-of-line)))))) |
1827 (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom))) | 1841 (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom))) |
1828 | 1842 |
1829 (defun gdb-mouse-set-clear-breakpoint (event) | 1843 (defun gdb-mouse-set-clear-breakpoint (event) |
1830 "Set/clear breakpoint in left fringe/margin with mouse click." | 1844 "Set/clear breakpoint in left fringe/margin with mouse click." |
2024 '(mouse-face highlight | 2038 '(mouse-face highlight |
2025 help-echo "mouse-2, RET: Select frame"))) | 2039 help-echo "mouse-2, RET: Select frame"))) |
2026 (goto-char bl) | 2040 (goto-char bl) |
2027 (when (looking-at "^#\\([0-9]+\\)") | 2041 (when (looking-at "^#\\([0-9]+\\)") |
2028 (when (string-equal (match-string 1) gdb-frame-number) | 2042 (when (string-equal (match-string 1) gdb-frame-number) |
2029 (put-text-property bl (+ bl 4) | 2043 (if (> (car (window-fringes)) 0) |
2030 'face '(:inverse-video t))) | 2044 (progn |
2045 (or gdb-stack-position | |
2046 (setq gdb-stack-position (make-marker))) | |
2047 (set-marker gdb-stack-position (point))) | |
2048 (set-marker gdb-stack-position nil) | |
2049 (put-text-property bl (+ bl 4) | |
2050 'face '(:inverse-video t)))) | |
2031 (when (re-search-forward | 2051 (when (re-search-forward |
2032 (concat | 2052 (concat |
2033 (if (string-equal (match-string 1) "0") "" " in ") | 2053 (if (string-equal (match-string 1) "0") "" " in ") |
2034 "\\([^ ]+\\) (") el t) | 2054 "\\([^ ]+\\) (") el t) |
2035 (put-text-property (match-beginning 1) (match-end 1) | 2055 (put-text-property (match-beginning 1) (match-end 1) |
2096 | 2116 |
2097 \\{gdb-frames-mode-map}" | 2117 \\{gdb-frames-mode-map}" |
2098 (kill-all-local-variables) | 2118 (kill-all-local-variables) |
2099 (setq major-mode 'gdb-frames-mode) | 2119 (setq major-mode 'gdb-frames-mode) |
2100 (setq mode-name "Frames") | 2120 (setq mode-name "Frames") |
2121 (setq gdb-stack-position nil) | |
2122 (add-to-list 'overlay-arrow-variable-list 'gdb-stack-position) | |
2101 (setq buffer-read-only t) | 2123 (setq buffer-read-only t) |
2102 (use-local-map gdb-frames-mode-map) | 2124 (use-local-map gdb-frames-mode-map) |
2103 (run-mode-hooks 'gdb-frames-mode-hook) | 2125 (run-mode-hooks 'gdb-frames-mode-hook) |
2104 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) | 2126 (if (eq (buffer-local-value 'gud-minor-mode gud-comint-buffer) 'gdba) |
2105 'gdb-invalidate-frames | 2127 'gdb-invalidate-frames |
2547 'help-echo "mouse-1: Decrement address" | 2569 'help-echo "mouse-1: Decrement address" |
2548 'mouse-face 'mode-line-highlight | 2570 'mouse-face 'mode-line-highlight |
2549 'local-map | 2571 'local-map |
2550 (gdb-make-header-line-mouse-map | 2572 (gdb-make-header-line-mouse-map |
2551 'mouse-1 | 2573 'mouse-1 |
2552 #'(lambda () (interactive) | 2574 (lambda () (interactive) |
2553 (let ((gdb-memory-address | 2575 (let ((gdb-memory-address |
2554 ;; Let GDB do the arithmetic. | 2576 ;; Let GDB do the arithmetic. |
2555 (concat | 2577 (concat |
2556 gdb-memory-address " - " | 2578 gdb-memory-address " - " |
2557 (number-to-string | 2579 (number-to-string |
2558 (* gdb-memory-repeat-count | 2580 (* gdb-memory-repeat-count |
2559 (cond ((string= gdb-memory-unit "b") 1) | 2581 (cond ((string= gdb-memory-unit "b") 1) |
2560 ((string= gdb-memory-unit "h") 2) | 2582 ((string= gdb-memory-unit "h") 2) |
2561 ((string= gdb-memory-unit "w") 4) | 2583 ((string= gdb-memory-unit "w") 4) |
2562 ((string= gdb-memory-unit "g") 8))))))) | 2584 ((string= gdb-memory-unit "g") 8))))))) |
2563 (gdb-invalidate-memory))))) | 2585 (gdb-invalidate-memory))))) |
2564 "|" | 2586 "|" |
2565 (propertize "+" | 2587 (propertize "+" |
2566 'face font-lock-warning-face | 2588 'face font-lock-warning-face |
2567 'help-echo "mouse-1: Increment address" | 2589 'help-echo "mouse-1: Increment address" |
2568 'mouse-face 'mode-line-highlight | 2590 'mouse-face 'mode-line-highlight |
2569 'local-map (gdb-make-header-line-mouse-map | 2591 'local-map (gdb-make-header-line-mouse-map |
2570 'mouse-1 | 2592 'mouse-1 |
2571 #'(lambda () (interactive) | 2593 (lambda () (interactive) |
2572 (let ((gdb-memory-address nil)) | 2594 (let ((gdb-memory-address nil)) |
2573 (gdb-invalidate-memory))))) | 2595 (gdb-invalidate-memory))))) |
2574 "]: " | 2596 "]: " |
2575 (propertize gdb-memory-address | 2597 (propertize gdb-memory-address |
2576 'face font-lock-warning-face | 2598 'face font-lock-warning-face |
2577 'help-echo "mouse-1: Set memory address" | 2599 'help-echo "mouse-1: Set memory address" |
2578 'mouse-face 'mode-line-highlight | 2600 'mouse-face 'mode-line-highlight |
2633 "server info locals\n" | 2655 "server info locals\n" |
2634 gdb-info-locals-handler) | 2656 gdb-info-locals-handler) |
2635 | 2657 |
2636 (defvar gdb-locals-watch-map | 2658 (defvar gdb-locals-watch-map |
2637 (let ((map (make-sparse-keymap))) | 2659 (let ((map (make-sparse-keymap))) |
2638 (define-key map "\r" '(lambda () (interactive) | 2660 (define-key map "\r" (lambda () (interactive) |
2639 (beginning-of-line) | 2661 (beginning-of-line) |
2640 (gud-watch))) | 2662 (gud-watch))) |
2641 (define-key map [mouse-2] '(lambda (event) (interactive "e") | 2663 (define-key map [mouse-2] (lambda (event) (interactive "e") |
2642 (mouse-set-point event) | 2664 (mouse-set-point event) |
2643 (beginning-of-line) | 2665 (beginning-of-line) |
2644 (gud-watch))) | 2666 (gud-watch))) |
2645 map) | 2667 map) |
2646 "Keymap to create watch expression of a complex data type local variable.") | 2668 "Keymap to create watch expression of a complex data type local variable.") |
2647 | 2669 |
2648 (defconst gdb-struct-string | 2670 (defconst gdb-struct-string |
2649 (concat (propertize "[struct/union]" | 2671 (concat (propertize "[struct/union]" |
2762 `(menu-item "GDB-Windows" ,menu | 2784 `(menu-item "GDB-Windows" ,menu |
2763 :visible (memq gud-minor-mode '(gdbmi gdba)))) | 2785 :visible (memq gud-minor-mode '(gdbmi gdba)))) |
2764 (define-key menu [gdb] '("Gdb" . gdb-display-gdb-buffer)) | 2786 (define-key menu [gdb] '("Gdb" . gdb-display-gdb-buffer)) |
2765 (define-key menu [threads] '("Threads" . gdb-display-threads-buffer)) | 2787 (define-key menu [threads] '("Threads" . gdb-display-threads-buffer)) |
2766 (define-key menu [inferior] | 2788 (define-key menu [inferior] |
2767 '(menu-item "Inferior IO" gdb-display-separate-io-buffer | 2789 '(menu-item "Separate IO" gdb-display-separate-io-buffer |
2768 :enable gdb-use-separate-io-buffer)) | 2790 :enable gdb-use-separate-io-buffer)) |
2769 (define-key menu [memory] '("Memory" . gdb-display-memory-buffer)) | 2791 (define-key menu [memory] '("Memory" . gdb-display-memory-buffer)) |
2770 (define-key menu [registers] '("Registers" . gdb-display-registers-buffer)) | 2792 (define-key menu [registers] '("Registers" . gdb-display-registers-buffer)) |
2771 (define-key menu [disassembly] | 2793 (define-key menu [disassembly] |
2772 '("Disassembly" . gdb-display-assembler-buffer)) | 2794 '("Disassembly" . gdb-display-assembler-buffer)) |
2781 :visible (memq gud-minor-mode '(gdbmi gdba)))) | 2803 :visible (memq gud-minor-mode '(gdbmi gdba)))) |
2782 (define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer)) | 2804 (define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer)) |
2783 (define-key menu [threads] '("Threads" . gdb-frame-threads-buffer)) | 2805 (define-key menu [threads] '("Threads" . gdb-frame-threads-buffer)) |
2784 (define-key menu [memory] '("Memory" . gdb-frame-memory-buffer)) | 2806 (define-key menu [memory] '("Memory" . gdb-frame-memory-buffer)) |
2785 (define-key menu [inferior] | 2807 (define-key menu [inferior] |
2786 '(menu-item "Inferior IO" gdb-frame-separate-io-buffer | 2808 '(menu-item "Separate IO" gdb-frame-separate-io-buffer |
2787 :enable gdb-use-separate-io-buffer)) | 2809 :enable gdb-use-separate-io-buffer)) |
2788 (define-key menu [registers] '("Registers" . gdb-frame-registers-buffer)) | 2810 (define-key menu [registers] '("Registers" . gdb-frame-registers-buffer)) |
2789 (define-key menu [disassembly] '("Disassembly" . gdb-frame-assembler-buffer)) | 2811 (define-key menu [disassembly] '("Disassembly" . gdb-frame-assembler-buffer)) |
2790 (define-key menu [breakpoints] | 2812 (define-key menu [breakpoints] |
2791 '("Breakpoints" . gdb-frame-breakpoints-buffer)) | 2813 '("Breakpoints" . gdb-frame-breakpoints-buffer)) |
2800 '(menu-item "Look For Source Frame" gdb-find-source-frame | 2822 '(menu-item "Look For Source Frame" gdb-find-source-frame |
2801 :visible (eq gud-minor-mode 'gdba) | 2823 :visible (eq gud-minor-mode 'gdba) |
2802 :help "Toggle look for source frame." | 2824 :help "Toggle look for source frame." |
2803 :button (:toggle . gdb-find-source-frame))) | 2825 :button (:toggle . gdb-find-source-frame))) |
2804 (define-key menu [gdb-use-separate-io] | 2826 (define-key menu [gdb-use-separate-io] |
2805 '(menu-item "Separate Inferior IO" gdb-use-separate-io-buffer | 2827 '(menu-item "Separate IO" gdb-use-separate-io-buffer |
2806 :visible (eq gud-minor-mode 'gdba) | 2828 :visible (eq gud-minor-mode 'gdba) |
2807 :help "Toggle separate IO for inferior." | 2829 :help "Toggle separate IO for debugged program." |
2808 :button (:toggle . gdb-use-separate-io-buffer))) | 2830 :button (:toggle . gdb-use-separate-io-buffer))) |
2809 (define-key menu [gdb-many-windows] | 2831 (define-key menu [gdb-many-windows] |
2810 '(menu-item "Display Other Windows" gdb-many-windows | 2832 '(menu-item "Display Other Windows" gdb-many-windows |
2811 :help "Toggle display of locals, stack and breakpoint information" | 2833 :help "Toggle display of locals, stack and breakpoint information" |
2812 :button (:toggle . gdb-many-windows))) | 2834 :button (:toggle . gdb-many-windows))) |
2899 (kill-buffer nil) | 2921 (kill-buffer nil) |
2900 (gdb-remove-breakpoint-icons (point-min) (point-max) t) | 2922 (gdb-remove-breakpoint-icons (point-min) (point-max) t) |
2901 (setq gud-minor-mode nil) | 2923 (setq gud-minor-mode nil) |
2902 (kill-local-variable 'tool-bar-map) | 2924 (kill-local-variable 'tool-bar-map) |
2903 (kill-local-variable 'gdb-define-alist)))))) | 2925 (kill-local-variable 'gdb-define-alist)))))) |
2904 (when (markerp gdb-overlay-arrow-position) | 2926 (setq gdb-overlay-arrow-position nil) |
2905 (move-marker gdb-overlay-arrow-position nil) | |
2906 (setq gdb-overlay-arrow-position nil)) | |
2907 (setq overlay-arrow-variable-list | 2927 (setq overlay-arrow-variable-list |
2908 (delq 'gdb-overlay-arrow-position overlay-arrow-variable-list)) | 2928 (delq 'gdb-overlay-arrow-position overlay-arrow-variable-list)) |
2909 (setq fringe-indicator-alist '((overlay-arrow . right-triangle))) | 2929 (setq fringe-indicator-alist '((overlay-arrow . right-triangle))) |
2930 (setq gdb-stack-position nil) | |
2931 (setq overlay-arrow-variable-list | |
2932 (delq 'gdb-stack-position overlay-arrow-variable-list)) | |
2910 (if (boundp 'speedbar-frame) (speedbar-timer-fn)) | 2933 (if (boundp 'speedbar-frame) (speedbar-timer-fn)) |
2911 (setq gud-running nil) | 2934 (setq gud-running nil) |
2912 (setq gdb-active-process nil) | 2935 (setq gdb-active-process nil) |
2913 (setq gdb-var-list nil) | 2936 (setq gdb-var-list nil) |
2914 (remove-hook 'after-save-hook 'gdb-create-define-alist t)) | 2937 (remove-hook 'after-save-hook 'gdb-create-define-alist t)) |
3126 (if (string-equal gdb-frame-number "0") | 3149 (if (string-equal gdb-frame-number "0") |
3127 nil | 3150 nil |
3128 '((overlay-arrow . hollow-right-triangle)))) | 3151 '((overlay-arrow . hollow-right-triangle)))) |
3129 (or gdb-overlay-arrow-position | 3152 (or gdb-overlay-arrow-position |
3130 (setq gdb-overlay-arrow-position (make-marker))) | 3153 (setq gdb-overlay-arrow-position (make-marker))) |
3131 (set-marker gdb-overlay-arrow-position | 3154 (set-marker gdb-overlay-arrow-position (point)))))) |
3132 (point) (current-buffer)))))) | |
3133 ;; remove all breakpoint-icons in assembler buffer before updating. | 3155 ;; remove all breakpoint-icons in assembler buffer before updating. |
3134 (gdb-remove-breakpoint-icons (point-min) (point-max)))) | 3156 (gdb-remove-breakpoint-icons (point-min) (point-max)))) |
3135 (with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer) | 3157 (with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer) |
3136 (goto-char (point-min)) | 3158 (goto-char (point-min)) |
3137 (while (< (point) (- (point-max) 1)) | 3159 (while (< (point) (- (point-max) 1)) |