453 |
(raise-frame speedbar-frame)) |
(raise-frame speedbar-frame)) |
454 |
(let ((var-list gdb-var-list)) |
(let ((var-list gdb-var-list)) |
455 |
(while var-list |
(while var-list |
456 |
(let* ((depth 0) (start 0) (char ?+) |
(let* (char (depth 0) (start 0) |
457 |
(var (car var-list)) (varnum (nth 1 var))) |
(var (car var-list)) (varnum (nth 1 var))) |
458 |
(while (string-match "\\." varnum start) |
(while (string-match "\\." varnum start) |
459 |
(setq depth (1+ depth) |
(setq depth (1+ depth) |
470 |
'font-lock-warning-face |
'font-lock-warning-face |
471 |
nil) depth) |
nil) depth) |
472 |
(if (and (cadr var-list) |
(if (and (cadr var-list) |
473 |
(string-match varnum (cadr (cadr var-list)))) |
(string-match (concat varnum "\\.") |
474 |
(setq char ?-)) |
(cadr (cadr var-list)))) |
475 |
|
(setq char ?-) |
476 |
|
(setq char ?+)) |
477 |
(if (string-match "\\*$" (nth 3 var)) |
(if (string-match "\\*$" (nth 3 var)) |
478 |
(speedbar-make-tag-line 'bracket char |
(speedbar-make-tag-line 'bracket char |
479 |
'gdb-speedbar-expand-node varnum |
'gdb-speedbar-expand-node varnum |
576 |
;; they are found. |
;; they are found. |
577 |
(while (string-match "\n\032\032\\(.*\\)\n" gud-marker-acc) |
(while (string-match "\n\032\032\\(.*\\)\n" gud-marker-acc) |
578 |
(let ((match (match-string 1 gud-marker-acc))) |
(let ((match (match-string 1 gud-marker-acc))) |
579 |
|
|
580 |
|
;; Pick up stopped annotation if attaching to process. |
581 |
|
(if (string-equal match "stopped") (setq gdb-active-process t)) |
582 |
|
|
583 |
|
;; Using annotations, switch to gud-gdba-marker-filter. |
584 |
(when (string-equal match "prompt") |
(when (string-equal match "prompt") |
585 |
(require 'gdb-ui) |
(require 'gdb-ui) |
586 |
(gdb-prompt nil)) |
(gdb-prompt nil)) |
594 |
;; Set the accumulator to the remaining text. |
;; Set the accumulator to the remaining text. |
595 |
|
|
596 |
gud-marker-acc (substring gud-marker-acc (match-end 0))) |
gud-marker-acc (substring gud-marker-acc (match-end 0))) |
597 |
|
|
598 |
|
;; Pick up any errors that occur before first prompt annotation. |
599 |
(if (string-equal match "error-begin") |
(if (string-equal match "error-begin") |
600 |
(put-text-property 0 (length gud-marker-acc) |
(put-text-property 0 (length gud-marker-acc) |
601 |
'face font-lock-warning-face |
'face font-lock-warning-face |