Mercurial > emacs
comparison lisp/progmodes/gud.el @ 67403:adbf404cf806
(gud-speedbar-buttons, gud-tooltip-tips):
No need to check gud-comint-buffer is bound.
(gdb): Prevent multiple debugging when first session uses gdba.
author | Nick Roberts <nickrob@snap.net.nz> |
---|---|
date | Thu, 08 Dec 2005 22:10:50 +0000 |
parents | 299942030b0e |
children | 3d94a55776e3 |
comparison
equal
deleted
inserted
replaced
67402:7fe69474f4c4 | 67403:adbf404cf806 |
---|---|
434 (defun gud-speedbar-buttons (buffer) | 434 (defun gud-speedbar-buttons (buffer) |
435 "Create a speedbar display based on the current state of GUD. | 435 "Create a speedbar display based on the current state of GUD. |
436 If the GUD BUFFER is not running a supported debugger, then turn | 436 If the GUD BUFFER is not running a supported debugger, then turn |
437 off the specialized speedbar mode. BUFFER is not used, but are | 437 off the specialized speedbar mode. BUFFER is not used, but are |
438 required by the caller." | 438 required by the caller." |
439 (when (and (boundp 'gud-comint-buffer) | 439 (when (and gud-comint-buffer |
440 gud-comint-buffer | |
441 ;; gud-comint-buffer might be killed | 440 ;; gud-comint-buffer might be killed |
442 (buffer-name gud-comint-buffer)) | 441 (buffer-name gud-comint-buffer)) |
443 (let* ((minor-mode (with-current-buffer buffer gud-minor-mode)) | 442 (let* ((minor-mode (with-current-buffer buffer gud-minor-mode)) |
444 (window (get-buffer-window (current-buffer) 0)) | 443 (window (get-buffer-window (current-buffer) 0)) |
445 (p (window-point window))) | 444 (p (window-point window))) |
659 "Run gdb on program FILE in buffer *gud-FILE*. | 658 "Run gdb on program FILE in buffer *gud-FILE*. |
660 The directory containing FILE becomes the initial working directory | 659 The directory containing FILE becomes the initial working directory |
661 and source-file directory for your debugger." | 660 and source-file directory for your debugger." |
662 (interactive (list (gud-query-cmdline 'gdb))) | 661 (interactive (list (gud-query-cmdline 'gdb))) |
663 | 662 |
663 (if (and gud-comint-buffer | |
664 (buffer-name gud-comint-buffer) | |
665 (with-current-buffer gud-comint-buffer (eq gud-minor-mode 'gdba))) | |
666 (error "Multiple debugging is only supported with \"gdb --fullname\"")) | |
667 | |
664 (gud-common-init command-line nil 'gud-gdb-marker-filter) | 668 (gud-common-init command-line nil 'gud-gdb-marker-filter) |
665 (set (make-local-variable 'gud-minor-mode) 'gdb) | 669 (set (make-local-variable 'gud-minor-mode) 'gdb) |
666 | 670 |
667 (gud-def gud-break "break %f:%l" "\C-b" "Set breakpoint at current line.") | 671 (gud-def gud-break "break %f:%l" "\C-b" "Set breakpoint at current line.") |
668 (gud-def gud-tbreak "tbreak %f:%l" "\C-t" | 672 (gud-def gud-tbreak "tbreak %f:%l" "\C-t" |
3328 (remove-hook 'tooltip-hook 'gud-tooltip-tips) | 3332 (remove-hook 'tooltip-hook 'gud-tooltip-tips) |
3329 (define-key global-map [mouse-movement] 'ignore))) | 3333 (define-key global-map [mouse-movement] 'ignore))) |
3330 (gud-tooltip-activate-mouse-motions-if-enabled) | 3334 (gud-tooltip-activate-mouse-motions-if-enabled) |
3331 (if (and | 3335 (if (and |
3332 gud-comint-buffer | 3336 gud-comint-buffer |
3333 (buffer-name gud-comint-buffer); gud-comint-buffer might be kille | 3337 (buffer-name gud-comint-buffer); gud-comint-buffer might be killed |
3334 (with-current-buffer gud-comint-buffer | 3338 (with-current-buffer gud-comint-buffer |
3335 (memq gud-minor-mode '(gdbmi gdba)))) | 3339 (memq gud-minor-mode '(gdbmi gdba)))) |
3336 (if gud-tooltip-mode | 3340 (if gud-tooltip-mode |
3337 (progn | 3341 (progn |
3338 (dolist (buffer (buffer-list)) | 3342 (dolist (buffer (buffer-list)) |
3382 | 3386 |
3383 This function must return nil if it doesn't handle EVENT." | 3387 This function must return nil if it doesn't handle EVENT." |
3384 (let (process) | 3388 (let (process) |
3385 (when (and (eventp event) | 3389 (when (and (eventp event) |
3386 gud-tooltip-mode | 3390 gud-tooltip-mode |
3387 (boundp 'gud-comint-buffer) | |
3388 gud-comint-buffer | 3391 gud-comint-buffer |
3389 (buffer-name gud-comint-buffer); gud-comint-buffer might be killed | 3392 (buffer-name gud-comint-buffer); might be killed |
3390 (setq process (get-buffer-process gud-comint-buffer)) | 3393 (setq process (get-buffer-process gud-comint-buffer)) |
3391 (posn-point (event-end event)) | 3394 (posn-point (event-end event)) |
3392 (or (and (eq gud-minor-mode 'gdba) (not gdb-active-process)) | 3395 (or (and (eq gud-minor-mode 'gdba) (not gdb-active-process)) |
3393 (progn (setq gud-tooltip-event event) | 3396 (progn (setq gud-tooltip-event event) |
3394 (eval (cons 'and gud-tooltip-display))))) | 3397 (eval (cons 'and gud-tooltip-display))))) |