Mercurial > emacs
comparison lisp/progmodes/gdb-ui.el @ 69234:67e921172c0d
(gdb-speedbar-refresh): Quieten speedbar-refresh.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Wed, 01 Mar 2006 22:44:19 +0000 |
parents | 092d8fdb26e2 |
children | 806b0c0e3bd1 a380ca43a190 5754737d1e04 |
comparison
equal
deleted
inserted
replaced
69233:4ec5a067baf3 | 69234:67e921172c0d |
---|---|
69 ;; and compiling with -DUNBUFFERED while debugging. | 69 ;; and compiling with -DUNBUFFERED while debugging. |
70 | 70 |
71 ;;; Known Bugs: | 71 ;;; Known Bugs: |
72 | 72 |
73 ;; 1) Strings that are watched don't update in the speedbar when their | 73 ;; 1) Strings that are watched don't update in the speedbar when their |
74 ;; contents change. | 74 ;; contents change unless the first character changes. |
75 ;; 2) Cannot handle multiple debug sessions. | 75 ;; 2) Cannot handle multiple debug sessions. |
76 | 76 ;; 3) Initially, the assembler buffer does not display the cursor at the |
77 ;;; Problems with watch expressions: | 77 ;; current line if the line is not visible in the window (but when testing |
78 ;; gdb-assembler-custom with a lisp debugger it does!). | |
79 | |
80 ;;; Problems with watch expressions, GDB/MI: | |
78 | 81 |
79 ;; 1) They go out of scope when the inferior is re-run. | 82 ;; 1) They go out of scope when the inferior is re-run. |
80 ;; 2) -var-update reports that an out of scope variable has changed: | 83 ;; 2) -stack-list-locals has a type field but also prints type in values field. |
81 ;; changelist=[{name="var1",in_scope="false"}], but the value can't be accessed. | 84 ;; 3) VARNUM increments even when vairable object is not created (maybe trivial). |
82 ;; (-var-list-children, in contrast allows you to create variable objects of | |
83 ;; the children when they are out of scope and get their values). | |
84 ;; 3) VARNUM increments even when vaiable object is not created (maybe trivial). | |
85 | 85 |
86 ;;; TODO: | 86 ;;; TODO: |
87 | 87 |
88 ;; 1) Use MI command -data-read-memory for memory window. | 88 ;; 1) Use MI command -data-read-memory for memory window. |
89 ;; 2) Use tree-widget.el instead of the speedbar for watch-expressions? | 89 ;; 2) Use tree-widget.el instead of the speedbar for watch-expressions? |
756 | 756 |
757 (defun gdb-speedbar-refresh () | 757 (defun gdb-speedbar-refresh () |
758 (setq gdb-pending-triggers | 758 (setq gdb-pending-triggers |
759 (delq 'gdb-speedbar-refresh gdb-pending-triggers)) | 759 (delq 'gdb-speedbar-refresh gdb-pending-triggers)) |
760 (with-current-buffer gud-comint-buffer | 760 (with-current-buffer gud-comint-buffer |
761 (speedbar-refresh))) | 761 (let ((speedbar-verbosity-level 0)) |
762 (save-excursion | |
763 (speedbar-refresh))))) | |
762 | 764 |
763 (defun gdb-var-delete () | 765 (defun gdb-var-delete () |
764 "Delete watch expression at point from the speedbar." | 766 "Delete watch expression at point from the speedbar." |
765 (interactive) | 767 (interactive) |
766 (if (memq (buffer-local-value 'gud-minor-mode gud-comint-buffer) | 768 (if (memq (buffer-local-value 'gud-minor-mode gud-comint-buffer) |
1249 | 1251 |
1250 (defun gdb-post-prompt (ignored) | 1252 (defun gdb-post-prompt (ignored) |
1251 "An annotation handler for `post-prompt'. | 1253 "An annotation handler for `post-prompt'. |
1252 This begins the collection of output from the current command if that | 1254 This begins the collection of output from the current command if that |
1253 happens to be appropriate." | 1255 happens to be appropriate." |
1254 ;; Don't add to queue if there outstanding items or GDB is not known yet. | 1256 ;; Don't add to queue if there outstanding items or gdb-version is not known |
1257 ;; yet. | |
1255 (unless (or gdb-pending-triggers gdb-first-post-prompt) | 1258 (unless (or gdb-pending-triggers gdb-first-post-prompt) |
1256 (gdb-get-selected-frame) | 1259 (gdb-get-selected-frame) |
1257 (gdb-invalidate-frames) | 1260 (gdb-invalidate-frames) |
1258 ;; Regenerate breakpoints buffer in case it has been inadvertantly deleted. | 1261 ;; Regenerate breakpoints buffer in case it has been inadvertantly deleted. |
1259 (gdb-get-buffer-create 'gdb-breakpoints-buffer) | 1262 (gdb-get-buffer-create 'gdb-breakpoints-buffer) |