52 |
(defvar gdb-show-changed-values) |
(defvar gdb-show-changed-values) |
53 |
(defvar gdb-var-changed) |
(defvar gdb-var-changed) |
54 |
(defvar gdb-var-list) |
(defvar gdb-var-list) |
55 |
|
(defvar gdb-speedbar-auto-raise) |
56 |
(defvar tool-bar-map) |
(defvar tool-bar-map) |
57 |
|
|
58 |
;; ====================================================================== |
;; ====================================================================== |
411 |
(memq gud-minor-mode '(gdbmi gdba)))] |
(memq gud-minor-mode '(gdbmi gdba)))] |
412 |
["Delete expression" gdb-var-delete |
["Delete expression" gdb-var-delete |
413 |
(with-current-buffer gud-comint-buffer |
(with-current-buffer gud-comint-buffer |
414 |
|
(memq gud-minor-mode '(gdbmi gdba)))] |
415 |
|
["Auto raise frame" gdb-speedbar-auto-raise |
416 |
|
:style toggle :selected gdb-speedbar-auto-raise |
417 |
|
:visible (with-current-buffer gud-comint-buffer |
418 |
(memq gud-minor-mode '(gdbmi gdba)))]) |
(memq gud-minor-mode '(gdbmi gdba)))]) |
419 |
"Additional menu items to add to the speedbar frame.") |
"Additional menu items to add to the speedbar frame.") |
420 |
|
|
449 |
(looking-at "Watch Expressions:"))))) |
(looking-at "Watch Expressions:"))))) |
450 |
(erase-buffer) |
(erase-buffer) |
451 |
(insert "Watch Expressions:\n") |
(insert "Watch Expressions:\n") |
452 |
|
(if gdb-speedbar-auto-raise |
453 |
|
(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* ((depth 0) (start 0) (char ?+) |
460 |
start (1+ (match-beginning 0)))) |
start (1+ (match-beginning 0)))) |
461 |
(if (or (equal (nth 2 var) "0") |
(if (or (equal (nth 2 var) "0") |
462 |
(and (equal (nth 2 var) "1") |
(and (equal (nth 2 var) "1") |
463 |
(string-match "char \\*" (nth 3 var)))) |
(string-match "char \\*$" (nth 3 var)))) |
464 |
(speedbar-make-tag-line 'bracket ?? nil nil |
(speedbar-make-tag-line 'bracket ?? nil nil |
465 |
(concat (car var) "\t" (nth 4 var)) |
(concat (car var) "\t" (nth 4 var)) |
466 |
'gdb-edit-value |
'gdb-edit-value |
472 |
(if (and (cadr var-list) |
(if (and (cadr var-list) |
473 |
(string-match varnum (cadr (cadr var-list)))) |
(string-match varnum (cadr (cadr var-list)))) |
474 |
(setq char ?-)) |
(setq char ?-)) |
475 |
|
(if (string-match "\\*$" (nth 3 var)) |
476 |
|
(speedbar-make-tag-line 'bracket char |
477 |
|
'gdb-speedbar-expand-node varnum |
478 |
|
(concat (car var) "\t" |
479 |
|
(nth 3 var)"\t" |
480 |
|
(nth 4 var)) |
481 |
|
'gdb-edit-value nil |
482 |
|
(if (and (nth 5 var) |
483 |
|
gdb-show-changed-values) |
484 |
|
'font-lock-warning-face |
485 |
|
nil) depth) |
486 |
(speedbar-make-tag-line 'bracket char |
(speedbar-make-tag-line 'bracket char |
487 |
'gdb-speedbar-expand-node varnum |
'gdb-speedbar-expand-node varnum |
488 |
(concat (car var) "\t" (nth 3 var)) |
(concat (car var) "\t" (nth 3 var)) |
489 |
nil nil nil depth))) |
nil nil nil depth)))) |
490 |
(setq var-list (cdr var-list)))) |
(setq var-list (cdr var-list)))) |
491 |
(setq gdb-var-changed nil))) |
(setq gdb-var-changed nil))) |
492 |
(t (if (and (save-excursion |
(t (if (and (save-excursion |
3097 |
("\\$\\(\\w+\\)" (1 font-lock-variable-name-face)) |
("\\$\\(\\w+\\)" (1 font-lock-variable-name-face)) |
3098 |
("^\\s-*\\([a-z]+\\)" (1 font-lock-keyword-face)))) |
("^\\s-*\\([a-z]+\\)" (1 font-lock-keyword-face)))) |
3099 |
|
|
3100 |
|
;; FIXME: The keyword "end" associated with "document" |
3101 |
|
;; should have font-lock-keyword-face (currently font-lock-doc-face). |
3102 |
(defvar gdb-script-font-lock-syntactic-keywords |
(defvar gdb-script-font-lock-syntactic-keywords |
3103 |
'(("^document\\s-.*\\(\n\\)" (1 "< b")) |
'(("^document\\s-.*\\(\n\\)" (1 "< b")) |
3104 |
;; It would be best to change the \n in front, but it's more difficult. |
;; It would be best to change the \n in front, but it's more difficult. |