aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2005-12-10 21:32:22 +0000
committerNick Roberts2005-12-10 21:32:22 +0000
commit760a716cf7dccaaebb807f3e8e1fcf2f334d36ba (patch)
treebfb4cbba1e0640ec66fbfa1b199673a3ba4b7623
parente85dcd95a2fca764578d21d1b7f9a5fb24327161 (diff)
downloademacs-760a716cf7dccaaebb807f3e8e1fcf2f334d36ba.tar.gz
emacs-760a716cf7dccaaebb807f3e8e1fcf2f334d36ba.zip
(gud-tooltip-modes, gud-tooltip-display):
Add the gud groupname. (gud-tooltip-mode): Add the tooltip groupname. Move in front of other defcustoms with that groupname. (gud-tooltip-echo-area): Add the gud groupname. Remove tag to avoid conflict with tooltip-use-echo-area.
-rw-r--r--lisp/progmodes/gud.el82
1 files changed, 43 insertions, 39 deletions
diff --git a/lisp/progmodes/gud.el b/lisp/progmodes/gud.el
index 2d6d1fa3980..aa0fd0c1378 100644
--- a/lisp/progmodes/gud.el
+++ b/lisp/progmodes/gud.el
@@ -3221,10 +3221,50 @@ Treats actions as defuns."
3221;;; tooltips for GUD 3221;;; tooltips for GUD
3222 3222
3223;;; Customizable settings 3223;;; Customizable settings
3224
3225;;;###autoload
3226(define-minor-mode gud-tooltip-mode
3227 "Toggle the display of GUD tooltips."
3228 :global t
3229 :group 'gud
3230 :group 'tooltip
3231 (require 'tooltip)
3232 (if gud-tooltip-mode
3233 (progn
3234 (add-hook 'change-major-mode-hook 'gud-tooltip-change-major-mode)
3235 (add-hook 'pre-command-hook 'tooltip-hide)
3236 (add-hook 'tooltip-hook 'gud-tooltip-tips)
3237 (define-key global-map [mouse-movement] 'gud-tooltip-mouse-motion))
3238 (unless tooltip-mode (remove-hook 'pre-command-hook 'tooltip-hide)
3239 (remove-hook 'change-major-mode-hook 'gud-tooltip-change-major-mode)
3240 (remove-hook 'tooltip-hook 'gud-tooltip-tips)
3241 (define-key global-map [mouse-movement] 'ignore)))
3242 (gud-tooltip-activate-mouse-motions-if-enabled)
3243 (if (and
3244 gud-comint-buffer
3245 (buffer-name gud-comint-buffer); gud-comint-buffer might be killed
3246 (with-current-buffer gud-comint-buffer
3247 (memq gud-minor-mode '(gdbmi gdba))))
3248 (if gud-tooltip-mode
3249 (progn
3250 (dolist (buffer (buffer-list))
3251 (unless (eq buffer gud-comint-buffer)
3252 (with-current-buffer buffer
3253 (when (and (memq gud-minor-mode '(gdbmi gdba))
3254 (not (string-match "\\`\\*.+\\*\\'"
3255 (buffer-name))))
3256 (make-local-variable 'gdb-define-alist)
3257 (gdb-create-define-alist)
3258 (add-hook 'after-save-hook
3259 'gdb-create-define-alist nil t))))))
3260 (kill-local-variable 'gdb-define-alist)
3261 (remove-hook 'after-save-hook 'gdb-create-define-alist t))))
3262
3224(defcustom gud-tooltip-modes '(gud-mode c-mode c++-mode fortran-mode) 3263(defcustom gud-tooltip-modes '(gud-mode c-mode c++-mode fortran-mode)
3225 "List of modes for which to enable GUD tips." 3264 "List of modes for which to enable GUD tooltips."
3226 :type 'sexp 3265 :type 'sexp
3227 :tag "GUD modes" 3266 :tag "GUD modes"
3267 :group 'gud
3228 :group 'tooltip) 3268 :group 'tooltip)
3229 3269
3230(defcustom gud-tooltip-display 3270(defcustom gud-tooltip-display
@@ -3236,12 +3276,13 @@ Forms in the list are combined with AND. The default is to display
3236only tooltips in the buffer containing the overlay arrow." 3276only tooltips in the buffer containing the overlay arrow."
3237 :type 'sexp 3277 :type 'sexp
3238 :tag "GUD buffers predicate" 3278 :tag "GUD buffers predicate"
3279 :group 'gud
3239 :group 'tooltip) 3280 :group 'tooltip)
3240 3281
3241(defcustom gud-tooltip-echo-area nil 3282(defcustom gud-tooltip-echo-area nil
3242 "Use the echo area instead of frames for GUD tooltips." 3283 "Use the echo area instead of frames for GUD tooltips."
3243 :type 'boolean 3284 :type 'boolean
3244 :tag "Use echo area" 3285 :group 'gud
3245 :group 'tooltip) 3286 :group 'tooltip)
3246 3287
3247(define-obsolete-variable-alias 'tooltip-gud-modes 3288(define-obsolete-variable-alias 'tooltip-gud-modes
@@ -3315,43 +3356,6 @@ This event can be examined by forms in GUD-TOOLTIP-DISPLAY.")
3315(define-obsolete-function-alias 'tooltip-gud-toggle-dereference 3356(define-obsolete-function-alias 'tooltip-gud-toggle-dereference
3316 'toggle-gud-tooltip-dereference "22.1") 3357 'toggle-gud-tooltip-dereference "22.1")
3317 3358
3318;;;###autoload
3319(define-minor-mode gud-tooltip-mode
3320 "Toggle the display of GUD tooltips."
3321 :global t
3322 :group 'gud
3323 (require 'tooltip)
3324 (if gud-tooltip-mode
3325 (progn
3326 (add-hook 'change-major-mode-hook 'gud-tooltip-change-major-mode)
3327 (add-hook 'pre-command-hook 'tooltip-hide)
3328 (add-hook 'tooltip-hook 'gud-tooltip-tips)
3329 (define-key global-map [mouse-movement] 'gud-tooltip-mouse-motion))
3330 (unless tooltip-mode (remove-hook 'pre-command-hook 'tooltip-hide)
3331 (remove-hook 'change-major-mode-hook 'gud-tooltip-change-major-mode)
3332 (remove-hook 'tooltip-hook 'gud-tooltip-tips)
3333 (define-key global-map [mouse-movement] 'ignore)))
3334 (gud-tooltip-activate-mouse-motions-if-enabled)
3335 (if (and
3336 gud-comint-buffer
3337 (buffer-name gud-comint-buffer); gud-comint-buffer might be killed
3338 (with-current-buffer gud-comint-buffer
3339 (memq gud-minor-mode '(gdbmi gdba))))
3340 (if gud-tooltip-mode
3341 (progn
3342 (dolist (buffer (buffer-list))
3343 (unless (eq buffer gud-comint-buffer)
3344 (with-current-buffer buffer
3345 (when (and (memq gud-minor-mode '(gdbmi gdba))
3346 (not (string-match "\\`\\*.+\\*\\'"
3347 (buffer-name))))
3348 (make-local-variable 'gdb-define-alist)
3349 (gdb-create-define-alist)
3350 (add-hook 'after-save-hook
3351 'gdb-create-define-alist nil t))))))
3352 (kill-local-variable 'gdb-define-alist)
3353 (remove-hook 'after-save-hook 'gdb-create-define-alist t))))
3354
3355; This will only display data that comes in one chunk. 3359; This will only display data that comes in one chunk.
3356; Larger arrays (say 400 elements) are displayed in 3360; Larger arrays (say 400 elements) are displayed in
3357; the tooltip incompletely and spill over into the gud buffer. 3361; the tooltip incompletely and spill over into the gud buffer.