aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Bader2000-11-02 04:28:01 +0000
committerMiles Bader2000-11-02 04:28:01 +0000
commitc39e89832acff3d227f6889fa92d5beb9704857c (patch)
tree7075f37f47e8c009ff299c0bd16cee46eed51c9d
parent0e40b809485622e7dcf06a1da1abcbc92069c91b (diff)
downloademacs-c39e89832acff3d227f6889fa92d5beb9704857c.tar.gz
emacs-c39e89832acff3d227f6889fa92d5beb9704857c.zip
(tooltip-gud-tips-setup): New function.
(tooltip-gud-tips-p): Add :set to call tooltip-gud-tips-setup. (tooltip-mode): Call tooltip-gud-tips-setup. (tooltip-gud-tips): Use `gud-basic-call' instead of process-send-string, so the prompt gets frobbed appropriately. Handle nil return value from `tooltip-gud-print-command'.
-rw-r--r--lisp/tooltip.el47
1 files changed, 26 insertions, 21 deletions
diff --git a/lisp/tooltip.el b/lisp/tooltip.el
index 5950ff39308..81095aace9e 100644
--- a/lisp/tooltip.el
+++ b/lisp/tooltip.el
@@ -1,6 +1,6 @@
1;;; tooltip.el --- Show tooltip windows 1;;; tooltip.el --- Show tooltip windows
2 2
3;; Copyright (C) 1997, 1999 Free Software Foundation, Inc. 3;; Copyright (C) 1997, 1999, 2000 Free Software Foundation, Inc.
4 4
5;; Author: Gerd Moellmann <gerd@acm.org> 5;; Author: Gerd Moellmann <gerd@acm.org>
6;; Keywords: help c mouse tools 6;; Keywords: help c mouse tools
@@ -93,6 +93,9 @@ Do so after `tooltip-short-delay'."
93 "*Non-nil means show tooltips in GUD sessions." 93 "*Non-nil means show tooltips in GUD sessions."
94 :type 'boolean 94 :type 'boolean
95 :tag "GUD" 95 :tag "GUD"
96 :set #'(lambda (symbol on)
97 (setq tooltip-gud-tips-p on)
98 (if on (tooltip-gud-tips-setup)))
96 :group 'tooltip) 99 :group 'tooltip)
97 100
98 101
@@ -184,20 +187,22 @@ With ARG, turn tooltip mode on if and only if ARG is positive."
184 ;; `ignore' is the default binding for mouse movements. 187 ;; `ignore' is the default binding for mouse movements.
185 (define-key global-map [mouse-movement] 188 (define-key global-map [mouse-movement]
186 (if on 'tooltip-mouse-motion 'ignore)) 189 (if on 'tooltip-mouse-motion 'ignore))
187 (when (and on tooltip-gud-tips-p) 190 (tooltip-gud-tips-setup)))
188 (global-set-key [S-mouse-3] 'tooltip-gud-toggle-dereference) 191
189 (add-hook 'gdb-mode-hook 192(defun tooltip-gud-tips-setup ()
190 #'(lambda () (setq tooltip-gud-debugger 'gdb))) 193 "Setup debugger mode-hooks for tooltips."
191 (add-hook 'sdb-mode-hook 194 (when (and tooltip-mode tooltip-gud-tips-p)
192 #'(lambda () (setq tooltip-gud-debugger 'sdb))) 195 (global-set-key [S-mouse-3] 'tooltip-gud-toggle-dereference)
193 (add-hook 'dbx-mode-hook 196 (add-hook 'gdb-mode-hook
194 #'(lambda () (setq tooltip-gud-debugger 'dbx))) 197 #'(lambda () (setq tooltip-gud-debugger 'gdb)))
195 (add-hook 'xdb-mode-hook 198 (add-hook 'sdb-mode-hook
196 #'(lambda () (setq tooltip-gud-debugger 'xdb))) 199 #'(lambda () (setq tooltip-gud-debugger 'sdb)))
197 (add-hook 'perldb-mode-hook 200 (add-hook 'dbx-mode-hook
198 #'(lambda () (setq tooltip-gud-debugger 'perldb)))))) 201 #'(lambda () (setq tooltip-gud-debugger 'dbx)))
199 202 (add-hook 'xdb-mode-hook
200 203 #'(lambda () (setq tooltip-gud-debugger 'xdb)))
204 (add-hook 'perldb-mode-hook
205 #'(lambda () (setq tooltip-gud-debugger 'perldb)))))
201 206
202;;; Timeout for tooltip display 207;;; Timeout for tooltip display
203 208
@@ -416,12 +421,12 @@ This function must return nil if it doesn't handle EVENT."
416 (eval (cons 'and tooltip-gud-display)))) 421 (eval (cons 'and tooltip-gud-display))))
417 (let ((expr (tooltip-expr-to-print event))) 422 (let ((expr (tooltip-expr-to-print event)))
418 (when expr 423 (when expr
419 (setq tooltip-gud-original-filter (process-filter process)) 424 (let ((cmd (tooltip-gud-print-command expr)))
420 (set-process-filter process 'tooltip-gud-process-output) 425 (unless (null cmd) ; CMD can be nil if unknown debugger
421 (process-send-string 426 (setq tooltip-gud-original-filter (process-filter process))
422 process (concat (tooltip-gud-print-command expr) "\n")) 427 (set-process-filter process 'tooltip-gud-process-output)
423 expr))))) 428 (gud-basic-call cmd)
424 429 expr)))))))
425 430
426 431
427;;; Tooltip help. 432;;; Tooltip help.