aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts <[email protected]>2005-05-09 21:55:33 +0000
committerNick Roberts <[email protected]>2005-05-09 21:55:33 +0000
commitdf94fa1e38259d1066763019ca711bfb4114efe1 (patch)
treee799641e43bd38330d5b5a5f5ce82f90a7fa1ffe
parent89d8189aa891afe6048899d599c77c72bf0a3402 (diff)
(gud-tooltip-mode): Require tooltip to be safe.
(gud-tooltip-print-command): Add gdbmi case. (gud-tooltip-tips): Call gdb-tooltip-print-1 first if there is preprocessor info.
-rw-r--r--lisp/progmodes/gud.el14
1 files changed, 10 insertions, 4 deletions
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 544a480463..5c81ba7f6f 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3207,6 +3207,7 @@ This event can be examined by forms in GUD-TOOLTIP-DISPLAY.")
"Toggle the display of GUD tooltips."
:global t
:group 'gud
+ (require 'tooltip)
(if gud-tooltip-mode
(progn
(add-hook 'change-major-mode-hook 'gud-tooltip-change-major-mode)
@@ -3253,7 +3254,7 @@ If GUD-TOOLTIP-DEREFERENCE is t, also prepend a `*' to EXPR."
(setq expr (concat "*" expr)))
(case gud-minor-mode
((gdb gdba) (concat "server print " expr))
- (dbx (concat "print " expr))
+ ((dbx gdbmi) (concat "print " expr))
(xdb (concat "p " expr))
(sdb (concat expr "/"))
(perldb expr)))
@@ -3293,9 +3294,14 @@ This function must return nil if it doesn't handle EVENT."
expr))))
(let ((cmd (gud-tooltip-print-command expr)))
(unless (null cmd) ; CMD can be nil if unknown debugger
- (if (eq gud-minor-mode 'gdba)
- (gdb-enqueue-input
- (list (concat cmd "\n") 'gdb-tooltip-print))
+ (if (memq gud-minor-mode '(gdba gdbmi))
+ (if gdb-macro-info
+ (gdb-enqueue-input
+ (list (concat
+ gdb-server-prefix "macro expand " expr "\n")
+ `(lambda () (gdb-tooltip-print-1 ,expr))))
+ (gdb-enqueue-input
+ (list (concat cmd "\n") 'gdb-tooltip-print)))
(setq gud-tooltip-original-filter (process-filter process))
(set-process-filter process 'gud-tooltip-process-output)
(gud-basic-call cmd))