1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-12 16:23:57 +00:00

(gdb-ann3): Bind mouse-2 to gdb-mouse-until in the margin also.

(gdb-breakpoints-mode-map): Use D instead of d for gdb-delete-breakpoint.
(gdb-get-frame-number): Require a number to match on.
(gdb-threads-mode-map): Add follow-link binding.
This commit is contained in:
Nick Roberts 2005-12-01 02:17:15 +00:00
parent 68b381461a
commit 9f6efa0c78

View File

@ -41,7 +41,7 @@
;; You don't need to know about annotations to use this mode as a debugger,
;; but if you are interested developing the mode itself, then see the
;; Annotations section in the GDB info manual.
;;
;; GDB developers plan to make the annotation interface obsolete. A new
;; interface called GDB/MI (machine interface) has been designed to replace
;; it. Some GDB/MI commands are used in this file through the CLI command
@ -49,29 +49,32 @@
;; GDB (6.2 onwards) that uses GDB/MI as the primary interface to GDB. It is
;; still under development and is part of a process to migrate Emacs from
;; annotations to GDB/MI.
;;
;; This mode SHOULD WORK WITH GDB 5.0 ONWARDS but you will NEED GDB 6.0
;; ONWARDS TO USE WATCH EXPRESSIONS.
;;
;; Windows Platforms:
;;
;; This mode SHOULD WORK WITH GDB 5.0 onwards but you will NEED GDB 6.0
;; onwards to use watch expressions.
;;; Windows Platforms:
;; If you are using Emacs and GDB on Windows you will need to flush the buffer
;; explicitly in your program if you want timely display of I/O in Emacs.
;; Alternatively you can make the output stream unbuffered, for example, by
;; using a macro:
;;
;; #ifdef UNBUFFERED
;; setvbuf (stdout, (char *) NULL, _IONBF, 0);
;; #endif
;;
;; and compiling with -DUNBUFFERED while debugging.
;;
;; Known Bugs:
;;; Known Bugs:
;; 1) Strings that are watched don't update in the speedbar when their
;; contents change.
;; 2) Watch expressions go out of scope when the inferior is re-run.
;;
;; TODO:
;; 3) Cannot handle multiple debug sessions.
;;; TODO:
;; 1) Use MI command -data-read-memory for memory window.
;; 2) Highlight changed register values (use MI commands
;; -data-list-register-values and -data-list-changed-registers instead
@ -400,6 +403,8 @@ With arg, use separate IO iff arg is positive."
'gdb-mouse-until)
(define-key gud-minor-mode-map [left-fringe drag-mouse-1]
'gdb-mouse-until)
(define-key gud-minor-mode-map [left-margin mouse-2]
'gdb-mouse-until)
(define-key gud-minor-mode-map [left-margin mouse-3]
'gdb-mouse-toggle-breakpoint-margin)
(define-key gud-minor-mode-map [left-fringe mouse-3]
@ -1567,7 +1572,7 @@ static char *magick[] = {
(suppress-keymap map)
(define-key map [menu-bar breakpoints] (cons "Breakpoints" menu))
(define-key map " " 'gdb-toggle-breakpoint)
(define-key map "d" 'gdb-delete-breakpoint)
(define-key map "D" 'gdb-delete-breakpoint)
(define-key map "q" 'kill-this-buffer)
(define-key map "\r" 'gdb-goto-breakpoint)
(define-key map [mouse-2] 'gdb-goto-breakpoint)
@ -1740,7 +1745,8 @@ static char *magick[] = {
(defun gdb-get-frame-number ()
(save-excursion
(end-of-line)
(let* ((pos (re-search-backward "^#*\\([0-9]*\\)" nil t))
(let* ((start (line-beginning-position))
(pos (re-search-backward "^#*\\([0-9]+\\)" start t))
(n (or (and pos (match-string-no-properties 1)) "0")))
n)))
@ -1800,6 +1806,7 @@ static char *magick[] = {
(define-key map "q" 'kill-this-buffer)
(define-key map "\r" 'gdb-threads-select)
(define-key map [mouse-2] 'gdb-threads-select)
(define-key map [follow-link] 'mouse-face)
map))
(defvar gdb-threads-font-lock-keywords