diff options
| author | Nick Roberts | 2002-12-26 00:12:09 +0000 |
|---|---|---|
| committer | Nick Roberts | 2002-12-26 00:12:09 +0000 |
| commit | 217aa7d7b783a96da2c0139fd1fa5f0ec06bc249 (patch) | |
| tree | 511155c19cad9394cb31ac801a39719a1afb25f0 | |
| parent | 724533fcaecf105dfd0349bf4cf20b74ad933e9c (diff) | |
| download | emacs-217aa7d7b783a96da2c0139fd1fa5f0ec06bc249.tar.gz emacs-217aa7d7b783a96da2c0139fd1fa5f0ec06bc249.zip | |
(gdb-info-display-custom): Ensure that frames/buffers
of displayed expressions are deleted when the displayed expressions
are deleted.
(gdb-delete-disp-this-line, gdb-delete-display): Frame/buffer
deletion is handled by gdb-info-display-custom now.
(gdb-source-info): Undo earlier change (do create display buffer
automatically).
| -rw-r--r-- | lisp/gdb-ui.el | 135 |
1 files changed, 70 insertions, 65 deletions
diff --git a/lisp/gdb-ui.el b/lisp/gdb-ui.el index 29ddd7d1441..5ee9455ce14 100644 --- a/lisp/gdb-ui.el +++ b/lisp/gdb-ui.el | |||
| @@ -26,17 +26,18 @@ | |||
| 26 | ;;; Commentary: | 26 | ;;; Commentary: |
| 27 | 27 | ||
| 28 | ;; This file is based on gdba.el from GDB 5.0 written by Jim Kingdon and uses | 28 | ;; This file is based on gdba.el from GDB 5.0 written by Jim Kingdon and uses |
| 29 | ;; GDB's annotation interface. You don't need to know about annotations but | 29 | ;; GDB's annotation interface. It has been extended to use features of Emacs |
| 30 | ;; If you are interested developing this mode see the Annotations section in | 30 | ;; 21 such as the display margin for breakpoints and the toolbar. It also has |
| 31 | ;; the GDB info manual). | 31 | ;; new buffers and lots of other new features such as formatted auto-display |
| 32 | ;; | 32 | ;; of arrays and structures (see the GDB-UI section in the Emacs info |
| 33 | ;; It has been extended to use features of Emacs 21 such as the display | 33 | ;; manual). |
| 34 | ;; margin for breakpoints and the toolbar. It also has new buffers and lots | 34 | |
| 35 | ;; of other new features such as formatted auto-display of arrays and | 35 | ;; You don't need to know about annotations to use this mode as a graphical |
| 36 | ;; structures (see the GDB-UI section in the Emacs info manual). | 36 | ;; user interface to GDB. However, if you are interested developing the mode |
| 37 | ;; itself see the Annotations section in the GDB info manual. | ||
| 37 | ;; | 38 | ;; |
| 38 | ;; Known Bugs: Does not auto-display arrays of structures or structures | 39 | ;; Known Bugs: Does not auto-display arrays of structures or structures |
| 39 | ;; containing arrays properly. | 40 | ;; containing arrays. |
| 40 | 41 | ||
| 41 | ;;; Code: | 42 | ;;; Code: |
| 42 | 43 | ||
| @@ -98,15 +99,15 @@ The following interactive lisp functions help control operation : | |||
| 98 | `gdb-restore-windows' - To restore the window layout. | 99 | `gdb-restore-windows' - To restore the window layout. |
| 99 | `gdb-quit' - To delete (most) of the buffers used by GDB-UI and | 100 | `gdb-quit' - To delete (most) of the buffers used by GDB-UI and |
| 100 | reset variables." | 101 | reset variables." |
| 101 | 102 | ;; | |
| 102 | (interactive (list (gud-query-cmdline 'gdba))) | 103 | (interactive (list (gud-query-cmdline 'gdba))) |
| 103 | 104 | ;; | |
| 104 | ;; Let's start with a basic gud-gdb buffer and then modify it a bit. | 105 | ;; Let's start with a basic gud-gdb buffer and then modify it a bit. |
| 105 | (gdb command-line) | 106 | (gdb command-line) |
| 106 | 107 | ;; | |
| 107 | (set (make-local-variable 'gud-minor-mode) 'gdba) | 108 | (set (make-local-variable 'gud-minor-mode) 'gdba) |
| 108 | (set (make-local-variable 'gud-marker-filter) 'gud-gdba-marker-filter) | 109 | (set (make-local-variable 'gud-marker-filter) 'gud-gdba-marker-filter) |
| 109 | 110 | ;; | |
| 110 | (gud-def gud-break (if (not (string-equal mode-name "Assembler")) | 111 | (gud-def gud-break (if (not (string-equal mode-name "Assembler")) |
| 111 | (gud-call "break %f:%l" arg) | 112 | (gud-call "break %f:%l" arg) |
| 112 | (save-excursion | 113 | (save-excursion |
| @@ -114,7 +115,7 @@ The following interactive lisp functions help control operation : | |||
| 114 | (forward-char 2) | 115 | (forward-char 2) |
| 115 | (gud-call "break *%a" arg))) | 116 | (gud-call "break *%a" arg))) |
| 116 | "\C-b" "Set breakpoint at current line or address.") | 117 | "\C-b" "Set breakpoint at current line or address.") |
| 117 | 118 | ;; | |
| 118 | (gud-def gud-remove (if (not (string-equal mode-name "Assembler")) | 119 | (gud-def gud-remove (if (not (string-equal mode-name "Assembler")) |
| 119 | (gud-call "clear %f:%l" arg) | 120 | (gud-call "clear %f:%l" arg) |
| 120 | (save-excursion | 121 | (save-excursion |
| @@ -122,25 +123,25 @@ The following interactive lisp functions help control operation : | |||
| 122 | (forward-char 2) | 123 | (forward-char 2) |
| 123 | (gud-call "clear *%a" arg))) | 124 | (gud-call "clear *%a" arg))) |
| 124 | "\C-d" "Remove breakpoint at current line or address.") | 125 | "\C-d" "Remove breakpoint at current line or address.") |
| 125 | 126 | ;; | |
| 126 | (setq comint-input-sender 'gdb-send) | 127 | (setq comint-input-sender 'gdb-send) |
| 127 | 128 | ;; | |
| 128 | ;; (re-)initialise | 129 | ;; (re-)initialise |
| 129 | (setq gdb-main-or-pc "main") | 130 | (setq gdb-main-or-pc "main") |
| 130 | (setq gdb-current-address nil) | 131 | (setq gdb-current-address nil) |
| 131 | (setq gdb-display-in-progress nil) | 132 | (setq gdb-display-in-progress nil) |
| 132 | (setq gdb-dive nil) | 133 | (setq gdb-dive nil) |
| 133 | 134 | ;; | |
| 134 | (mapc 'make-local-variable gdb-variables) | 135 | (mapc 'make-local-variable gdb-variables) |
| 135 | (setq gdb-buffer-type 'gdba) | 136 | (setq gdb-buffer-type 'gdba) |
| 136 | 137 | ;; | |
| 137 | (gdb-clear-inferior-io) | 138 | (gdb-clear-inferior-io) |
| 138 | 139 | ;; | |
| 139 | ;; find source file and compilation directory here | 140 | ;; find source file and compilation directory here |
| 140 | (gdb-enqueue-input (list "server list\n" 'ignore)) | 141 | (gdb-enqueue-input (list "server list\n" 'ignore)) |
| 141 | (gdb-enqueue-input (list "server info source\n" | 142 | (gdb-enqueue-input (list "server info source\n" |
| 142 | 'gdb-source-info)) | 143 | 'gdb-source-info)) |
| 143 | 144 | ;; | |
| 144 | (run-hooks 'gdba-mode-hook)) | 145 | (run-hooks 'gdba-mode-hook)) |
| 145 | 146 | ||
| 146 | (defun gud-display () | 147 | (defun gud-display () |
| @@ -725,7 +726,7 @@ output from the current command if that happens to be appropriate." | |||
| 725 | ;;else put * back on if necessary | 726 | ;;else put * back on if necessary |
| 726 | (setq gdb-expression (concat char gdb-expression))) | 727 | (setq gdb-expression (concat char gdb-expression))) |
| 727 | (setq header-line-format (concat "-- " gdb-expression " %-")))) | 728 | (setq header-line-format (concat "-- " gdb-expression " %-")))) |
| 728 | 729 | ;; | |
| 729 | ;;-if scalar/string | 730 | ;;-if scalar/string |
| 730 | (if (not (re-search-forward "##" nil t)) | 731 | (if (not (re-search-forward "##" nil t)) |
| 731 | (progn | 732 | (progn |
| @@ -1048,11 +1049,11 @@ output from the current command if that happens to be appropriate." | |||
| 1048 | (burst (concat (gdb-get-burst) string)) | 1049 | (burst (concat (gdb-get-burst) string)) |
| 1049 | ;; Start accumulating output for the GUD buffer | 1050 | ;; Start accumulating output for the GUD buffer |
| 1050 | (output "")) | 1051 | (output "")) |
| 1051 | 1052 | ;; | |
| 1052 | ;; Process all the complete markers in this chunk. | 1053 | ;; Process all the complete markers in this chunk. |
| 1053 | (while (string-match "\n\032\032\\(.*\\)\n" burst) | 1054 | (while (string-match "\n\032\032\\(.*\\)\n" burst) |
| 1054 | (let ((annotation (match-string 1 burst))) | 1055 | (let ((annotation (match-string 1 burst))) |
| 1055 | 1056 | ;; | |
| 1056 | ;; Stuff prior to the match is just ordinary output. | 1057 | ;; Stuff prior to the match is just ordinary output. |
| 1057 | ;; It is either concatenated to OUTPUT or directed | 1058 | ;; It is either concatenated to OUTPUT or directed |
| 1058 | ;; elsewhere. | 1059 | ;; elsewhere. |
| @@ -1078,7 +1079,7 @@ output from the current command if that happens to be appropriate." | |||
| 1078 | ;; so that GDB can add new annotations without causing | 1079 | ;; so that GDB can add new annotations without causing |
| 1079 | ;; us to blow up. | 1080 | ;; us to blow up. |
| 1080 | )))) | 1081 | )))) |
| 1081 | 1082 | ;; | |
| 1082 | ;; Does the remaining text end in a partial line? | 1083 | ;; Does the remaining text end in a partial line? |
| 1083 | ;; If it does, then keep part of the burst until we get more. | 1084 | ;; If it does, then keep part of the burst until we get more. |
| 1084 | (if (string-match "\n\\'\\|\n\032\\'\\|\n\032\032.*\\'" | 1085 | (if (string-match "\n\\'\\|\n\032\\'\\|\n\032\032.*\\'" |
| @@ -1088,15 +1089,15 @@ output from the current command if that happens to be appropriate." | |||
| 1088 | (setq output | 1089 | (setq output |
| 1089 | (gdb-concat-output output | 1090 | (gdb-concat-output output |
| 1090 | (substring burst 0 (match-beginning 0)))) | 1091 | (substring burst 0 (match-beginning 0)))) |
| 1091 | 1092 | ;; | |
| 1092 | ;; Everything after, we save, to combine with later input. | 1093 | ;; Everything after, we save, to combine with later input. |
| 1093 | (setq burst (substring burst (match-beginning 0)))) | 1094 | (setq burst (substring burst (match-beginning 0)))) |
| 1094 | 1095 | ;; | |
| 1095 | ;; In case we know the burst contains no partial annotations: | 1096 | ;; In case we know the burst contains no partial annotations: |
| 1096 | (progn | 1097 | (progn |
| 1097 | (setq output (gdb-concat-output output burst)) | 1098 | (setq output (gdb-concat-output output burst)) |
| 1098 | (setq burst ""))) | 1099 | (setq burst ""))) |
| 1099 | 1100 | ;; | |
| 1100 | ;; Save the remaining burst for the next call to this function. | 1101 | ;; Save the remaining burst for the next call to this function. |
| 1101 | (gdb-set-burst burst) | 1102 | (gdb-set-burst burst) |
| 1102 | output))) | 1103 | output))) |
| @@ -1225,10 +1226,10 @@ output from the current command if that happens to be appropriate." | |||
| 1225 | ;; It defines a function to serve as the annotation handler that | 1226 | ;; It defines a function to serve as the annotation handler that |
| 1226 | ;; handles the `foo-invalidated' message. That function is called: | 1227 | ;; handles the `foo-invalidated' message. That function is called: |
| 1227 | gdb-invalidate-breakpoints | 1228 | gdb-invalidate-breakpoints |
| 1228 | 1229 | ;; | |
| 1229 | ;; To update the buffer, this command is sent to gdb. | 1230 | ;; To update the buffer, this command is sent to gdb. |
| 1230 | "server info breakpoints\n" | 1231 | "server info breakpoints\n" |
| 1231 | 1232 | ;; | |
| 1232 | ;; This also defines a function to be the handler for the output | 1233 | ;; This also defines a function to be the handler for the output |
| 1233 | ;; from the command above. That function will copy the output into | 1234 | ;; from the command above. That function will copy the output into |
| 1234 | ;; the appropriately typed buffer. That function will be called: | 1235 | ;; the appropriately typed buffer. That function will be called: |
| @@ -1243,7 +1244,7 @@ output from the current command if that happens to be appropriate." | |||
| 1243 | ;;-put breakpoint icons in relevant margins (even those set in the GUD buffer) | 1244 | ;;-put breakpoint icons in relevant margins (even those set in the GUD buffer) |
| 1244 | (defun gdb-info-breakpoints-custom () | 1245 | (defun gdb-info-breakpoints-custom () |
| 1245 | (let ((flag)(address)) | 1246 | (let ((flag)(address)) |
| 1246 | 1247 | ;; | |
| 1247 | ;; remove all breakpoint-icons in source buffers but not assembler buffer | 1248 | ;; remove all breakpoint-icons in source buffers but not assembler buffer |
| 1248 | (dolist (buffer (buffer-list)) | 1249 | (dolist (buffer (buffer-list)) |
| 1249 | (save-excursion | 1250 | (save-excursion |
| @@ -1358,10 +1359,9 @@ output from the current command if that happens to be appropriate." | |||
| 1358 | (list | 1359 | (list |
| 1359 | (concat | 1360 | (concat |
| 1360 | (if (eq ?y (char-after (match-beginning 2))) | 1361 | (if (eq ?y (char-after (match-beginning 2))) |
| 1361 | "server disable " | 1362 | "server disable " |
| 1362 | "server enable ") | 1363 | "server enable ") |
| 1363 | (match-string 1) | 1364 | (match-string 1) "\n") |
| 1364 | "\n") | ||
| 1365 | 'ignore))))) | 1365 | 'ignore))))) |
| 1366 | 1366 | ||
| 1367 | (defun gdb-delete-bp-this-line () | 1367 | (defun gdb-delete-bp-this-line () |
| @@ -1422,8 +1422,7 @@ output from the current command if that happens to be appropriate." | |||
| 1422 | 1422 | ||
| 1423 | (defun gdb-stack-buffer-name () | 1423 | (defun gdb-stack-buffer-name () |
| 1424 | (with-current-buffer gud-comint-buffer | 1424 | (with-current-buffer gud-comint-buffer |
| 1425 | (concat "*stack frames of " | 1425 | (concat "*stack frames of " (gdb-get-target-string) "*"))) |
| 1426 | (gdb-get-target-string) "*"))) | ||
| 1427 | 1426 | ||
| 1428 | (defun gdb-display-stack-buffer () | 1427 | (defun gdb-display-stack-buffer () |
| 1429 | (interactive) | 1428 | (interactive) |
| @@ -1471,8 +1470,7 @@ display the source in the source buffer." | |||
| 1471 | (save-excursion | 1470 | (save-excursion |
| 1472 | (set-buffer gud-comint-buffer) | 1471 | (set-buffer gud-comint-buffer) |
| 1473 | (gdb-enqueue-input | 1472 | (gdb-enqueue-input |
| 1474 | (list (gud-format-command "server frame %p\n" selection) | 1473 | (list (gud-format-command "server frame %p\n" selection) 'ignore)) |
| 1475 | 'ignore)) | ||
| 1476 | (gud-display-frame)))) | 1474 | (gud-display-frame)))) |
| 1477 | 1475 | ||
| 1478 | 1476 | ||
| @@ -1533,8 +1531,8 @@ display the source in the source buffer." | |||
| 1533 | gdb-info-locals-handler | 1531 | gdb-info-locals-handler |
| 1534 | gdb-info-locals-custom) | 1532 | gdb-info-locals-custom) |
| 1535 | 1533 | ||
| 1536 | 1534 | ;; Abbreviate for arrays and structures. | |
| 1537 | ;;Abbreviate for arrays and structures. These can be expanded using gud-display | 1535 | ;; These can be expanded using gud-display. |
| 1538 | (defun gdb-info-locals-handler nil | 1536 | (defun gdb-info-locals-handler nil |
| 1539 | (gdb-set-pending-triggers (delq 'gdb-invalidate-locals | 1537 | (gdb-set-pending-triggers (delq 'gdb-invalidate-locals |
| 1540 | (gdb-get-pending-triggers))) | 1538 | (gdb-get-pending-triggers))) |
| @@ -1608,10 +1606,35 @@ display the source in the source buffer." | |||
| 1608 | gdb-info-display-custom) | 1606 | gdb-info-display-custom) |
| 1609 | 1607 | ||
| 1610 | (defun gdb-info-display-custom () | 1608 | (defun gdb-info-display-custom () |
| 1611 | ;; TODO: ensure frames of expressions that have been deleted are also deleted | 1609 | (let ((display-list nil)) |
| 1612 | ;; these can be missed currently eg through GUD buffer, restarting a | 1610 | (save-excursion |
| 1613 | ;; recompiled program. | 1611 | (set-buffer (gdb-get-buffer 'gdb-display-buffer)) |
| 1614 | ) | 1612 | (goto-char (point-min)) |
| 1613 | (while (< (point) (- (point-max) 1)) | ||
| 1614 | (forward-line 1) | ||
| 1615 | (if (looking-at "\\([0-9]+\\): \\([ny]\\)") | ||
| 1616 | (setq display-list | ||
| 1617 | (cons (string-to-int (match-string 1)) display-list))) | ||
| 1618 | (end-of-line))) | ||
| 1619 | (if (not (display-graphic-p)) | ||
| 1620 | (progn | ||
| 1621 | (dolist (buffer (buffer-list)) | ||
| 1622 | (if (string-match "\\*display \\([0-9]+\\)\\*" (buffer-name buffer)) | ||
| 1623 | (progn | ||
| 1624 | (let ((number | ||
| 1625 | (match-string 1 (buffer-name buffer)))) | ||
| 1626 | (if (not (memq (string-to-int number) display-list)) | ||
| 1627 | (kill-buffer | ||
| 1628 | (get-buffer (concat "*display " number "*"))))))))) | ||
| 1629 | (dolist (frame (frame-list)) | ||
| 1630 | (let ((frame-name (frame-parameter frame 'name))) | ||
| 1631 | (if (string-match "\\*display \\([0-9]+\\)\\*" frame-name) | ||
| 1632 | (progn | ||
| 1633 | (let ((number (match-string 1 frame-name))) | ||
| 1634 | (if (not (memq (string-to-int number) display-list)) | ||
| 1635 | (progn (kill-buffer | ||
| 1636 | (get-buffer (concat "*display " number "*"))) | ||
| 1637 | (delete-frame frame))))))))))) | ||
| 1615 | 1638 | ||
| 1616 | (defvar gdb-display-mode-map | 1639 | (defvar gdb-display-mode-map |
| 1617 | (let ((map (make-sparse-keymap)) | 1640 | (let ((map (make-sparse-keymap)) |
| @@ -1662,8 +1685,7 @@ display the source in the source buffer." | |||
| 1662 | (if (eq ?y (char-after (match-beginning 2))) | 1685 | (if (eq ?y (char-after (match-beginning 2))) |
| 1663 | "server disable display " | 1686 | "server disable display " |
| 1664 | "server enable display ") | 1687 | "server enable display ") |
| 1665 | (match-string 1) | 1688 | (match-string 1) "\n") |
| 1666 | "\n") | ||
| 1667 | 'ignore))))) | 1689 | 'ignore))))) |
| 1668 | 1690 | ||
| 1669 | (defun gdb-delete-disp-this-line () | 1691 | (defun gdb-delete-disp-this-line () |
| @@ -1677,20 +1699,7 @@ display the source in the source buffer." | |||
| 1677 | (error "No expression on this line") | 1699 | (error "No expression on this line") |
| 1678 | (let ((number (match-string 1))) | 1700 | (let ((number (match-string 1))) |
| 1679 | (gdb-enqueue-input | 1701 | (gdb-enqueue-input |
| 1680 | (list (concat "server delete display " number "\n") | 1702 | (list (concat "server delete display " number "\n") 'ignore)))))) |
| 1681 | 'ignore)) | ||
| 1682 | (if (not (display-graphic-p)) | ||
| 1683 | (kill-buffer (get-buffer (concat "*display " number "*"))) | ||
| 1684 | (catch 'frame-found | ||
| 1685 | (let ((frames (frame-list))) | ||
| 1686 | (while frames | ||
| 1687 | (if (string-equal (frame-parameter (car frames) 'name) | ||
| 1688 | (concat "*display " number "*")) | ||
| 1689 | (progn (kill-buffer | ||
| 1690 | (get-buffer (concat "*display " number "*"))) | ||
| 1691 | (delete-frame (car frames)) | ||
| 1692 | (throw 'frame-found nil))) | ||
| 1693 | (setq frames (cdr frames)))))))))) | ||
| 1694 | 1703 | ||
| 1695 | (defvar gdb-expressions-mode-map | 1704 | (defvar gdb-expressions-mode-map |
| 1696 | (let ((map (make-sparse-keymap))) | 1705 | (let ((map (make-sparse-keymap))) |
| @@ -1946,6 +1955,7 @@ buffers." | |||
| 1946 | (gdb-setup-windows) | 1955 | (gdb-setup-windows) |
| 1947 | (gdb-display-breakpoints-buffer) | 1956 | (gdb-display-breakpoints-buffer) |
| 1948 | (gdb-display-stack-buffer) | 1957 | (gdb-display-stack-buffer) |
| 1958 | (gdb-display-display-buffer) | ||
| 1949 | (delete-other-windows) | 1959 | (delete-other-windows) |
| 1950 | (split-window) | 1960 | (split-window) |
| 1951 | (other-window 1) | 1961 | (other-window 1) |
| @@ -2054,9 +2064,7 @@ BUFFER nil or omitted means use the current buffer." | |||
| 2054 | (interactive) | 2064 | (interactive) |
| 2055 | (gdb-enqueue-input | 2065 | (gdb-enqueue-input |
| 2056 | (list (concat "server delete display " gdb-display-number "\n") | 2066 | (list (concat "server delete display " gdb-display-number "\n") |
| 2057 | 'ignore)) | 2067 | 'ignore))) |
| 2058 | (kill-buffer nil) | ||
| 2059 | (delete-frame)) | ||
| 2060 | 2068 | ||
| 2061 | ;; | 2069 | ;; |
| 2062 | ;; Assembler buffer. | 2070 | ;; Assembler buffer. |
| @@ -2083,7 +2091,6 @@ BUFFER nil or omitted means use the current buffer." | |||
| 2083 | (re-search-forward gdb-current-address) | 2091 | (re-search-forward gdb-current-address) |
| 2084 | (setq gdb-arrow-position (point)) | 2092 | (setq gdb-arrow-position (point)) |
| 2085 | (put-arrow "=>" gdb-arrow-position nil 'left-margin)))) | 2093 | (put-arrow "=>" gdb-arrow-position nil 'left-margin)))) |
| 2086 | |||
| 2087 | ;; remove all breakpoint-icons in assembler buffer before updating. | 2094 | ;; remove all breakpoint-icons in assembler buffer before updating. |
| 2088 | (save-excursion | 2095 | (save-excursion |
| 2089 | (set-buffer buffer) | 2096 | (set-buffer buffer) |
| @@ -2175,7 +2182,6 @@ BUFFER nil or omitted means use the current buffer." | |||
| 2175 | (gdb-get-pending-triggers))) | 2182 | (gdb-get-pending-triggers))) |
| 2176 | (not (string-equal gdb-main-or-pc gdb-prev-main-or-pc)))) | 2183 | (not (string-equal gdb-main-or-pc gdb-prev-main-or-pc)))) |
| 2177 | (progn | 2184 | (progn |
| 2178 | |||
| 2179 | ;; take previous disassemble command off the queue | 2185 | ;; take previous disassemble command off the queue |
| 2180 | (save-excursion | 2186 | (save-excursion |
| 2181 | (set-buffer gud-comint-buffer) | 2187 | (set-buffer gud-comint-buffer) |
| @@ -2185,7 +2191,6 @@ BUFFER nil or omitted means use the current buffer." | |||
| 2185 | (if (equal (cdr item) '(gdb-assembler-handler)) | 2191 | (if (equal (cdr item) '(gdb-assembler-handler)) |
| 2186 | (delete item gdb-idle-input-queue)) | 2192 | (delete item gdb-idle-input-queue)) |
| 2187 | (setq queue (cdr queue))))) | 2193 | (setq queue (cdr queue))))) |
| 2188 | |||
| 2189 | (gdb-enqueue-idle-input | 2194 | (gdb-enqueue-idle-input |
| 2190 | (list (concat "server disassemble " gdb-main-or-pc "\n") | 2195 | (list (concat "server disassemble " gdb-main-or-pc "\n") |
| 2191 | 'gdb-assembler-handler)) | 2196 | 'gdb-assembler-handler)) |