diff options
| author | Nick Roberts | 2004-02-23 00:44:04 +0000 |
|---|---|---|
| committer | Nick Roberts | 2004-02-23 00:44:04 +0000 |
| commit | fb2c91be8ee7de88d5d852d67a1738dc407d076b (patch) | |
| tree | e3a4badf3ad5f2ac3c362532f9c1c69b659326b0 | |
| parent | a1a3a37ad30b61b4f4387291750921a6dca9c9e3 (diff) | |
| download | emacs-fb2c91be8ee7de88d5d852d67a1738dc407d076b.tar.gz emacs-fb2c91be8ee7de88d5d852d67a1738dc407d076b.zip | |
(gud-watch): Load tooltip, if necessary.
(gdb-var-create-handler): Force speedbar-update-flag to be non-nil.
(gdb-var-delete): Make interactive (really).
(gdb-edit-value): Make non-interactive.
| -rw-r--r-- | lisp/gdb-ui.el | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/lisp/gdb-ui.el b/lisp/gdb-ui.el index 60ac57dd10f..32cce04c239 100644 --- a/lisp/gdb-ui.el +++ b/lisp/gdb-ui.el | |||
| @@ -188,6 +188,7 @@ speedbar." | |||
| 188 | (defun gud-watch () | 188 | (defun gud-watch () |
| 189 | "Watch expression at point." | 189 | "Watch expression at point." |
| 190 | (interactive) | 190 | (interactive) |
| 191 | (require 'tooltip) | ||
| 191 | (let ((expr (tooltip-identifier-from-point (point)))) | 192 | (let ((expr (tooltip-identifier-from-point (point)))) |
| 192 | (if (and (string-equal gdb-current-language "c") | 193 | (if (and (string-equal gdb-current-language "c") |
| 193 | gdb-use-colon-colon-notation) | 194 | gdb-use-colon-colon-notation) |
| @@ -214,6 +215,7 @@ speedbar." | |||
| 214 | (match-string 3) | 215 | (match-string 3) |
| 215 | nil nil))) | 216 | nil nil))) |
| 216 | (push var gdb-var-list) | 217 | (push var gdb-var-list) |
| 218 | (setq speedbar-update-flag t) | ||
| 217 | (speedbar 1) | 219 | (speedbar 1) |
| 218 | (if (equal (nth 2 var) "0") | 220 | (if (equal (nth 2 var) "0") |
| 219 | (gdb-enqueue-input | 221 | (gdb-enqueue-input |
| @@ -304,26 +306,28 @@ speedbar." | |||
| 304 | (gdb-set-pending-triggers | 306 | (gdb-set-pending-triggers |
| 305 | (delq 'gdb-var-update (gdb-get-pending-triggers)))) | 307 | (delq 'gdb-var-update (gdb-get-pending-triggers)))) |
| 306 | 308 | ||
| 307 | (defun gdb-var-delete (text token indent) | 309 | (defun gdb-var-delete () |
| 308 | "Delete watched expression." | 310 | "Delete watched expression from the speedbar." |
| 309 | (interactive) | 311 | (interactive) |
| 310 | (when (eq indent 0) | 312 | (if (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba)) |
| 311 | (string-match "\\(\\S-+\\)" text) | 313 | (let ((text (speedbar-line-text))) |
| 312 | (let* ((expr (match-string 1 text)) | 314 | (string-match "\\(\\S-+\\)" text) |
| 313 | (var (assoc expr gdb-var-list)) | 315 | (let* ((expr (match-string 1 text)) |
| 314 | (varnum (cadr var))) | 316 | (var (assoc expr gdb-var-list)) |
| 315 | (gdb-enqueue-input | 317 | (varnum (cadr var))) |
| 316 | (list (concat "server interpreter mi \"-var-delete " varnum "\"\n") | 318 | (unless (string-match "\\." varnum) |
| 317 | 'ignore)) | 319 | (gdb-enqueue-input |
| 318 | (setq gdb-var-list (delq var gdb-var-list)) | 320 | (list (concat "server interpreter mi \"-var-delete " |
| 319 | (dolist (varchild gdb-var-list) | 321 | varnum "\"\n") |
| 320 | (if (string-match (concat (nth 1 var) "\\.") (nth 1 varchild)) | 322 | 'ignore)) |
| 321 | (setq gdb-var-list (delq varchild gdb-var-list))))) | 323 | (setq gdb-var-list (delq var gdb-var-list)) |
| 322 | (setq gdb-var-changed t))) | 324 | (dolist (varchild gdb-var-list) |
| 325 | (if (string-match (concat (nth 1 var) "\\.") (nth 1 varchild)) | ||
| 326 | (setq gdb-var-list (delq varchild gdb-var-list)))) | ||
| 327 | (setq gdb-var-changed t)))))) | ||
| 323 | 328 | ||
| 324 | (defun gdb-edit-value (text token indent) | 329 | (defun gdb-edit-value (text token indent) |
| 325 | "Assign a value to a variable displayed in the speedbar" | 330 | "Assign a value to a variable displayed in the speedbar" |
| 326 | (interactive) | ||
| 327 | (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list)) | 331 | (let* ((var (nth (- (count-lines (point-min) (point)) 2) gdb-var-list)) |
| 328 | (varnum (cadr var)) (value)) | 332 | (varnum (cadr var)) (value)) |
| 329 | (setq value (read-string "New value: ")) | 333 | (setq value (read-string "New value: ")) |