[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/progmodes/gud.el
From: |
Nick Roberts |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/progmodes/gud.el |
Date: |
Sun, 09 Oct 2005 16:22:44 -0400 |
Index: emacs/lisp/progmodes/gud.el
diff -c emacs/lisp/progmodes/gud.el:1.56 emacs/lisp/progmodes/gud.el:1.57
*** emacs/lisp/progmodes/gud.el:1.56 Sat Oct 8 21:19:18 2005
--- emacs/lisp/progmodes/gud.el Sun Oct 9 20:22:43 2005
***************
*** 336,344 ****
;; speedbar support functions and variables.
(eval-when-compile (require 'speedbar)) ;For
speedbar-with-attached-buffer.
- (defvar gud-last-speedbar-buffer nil
- "The last GUD buffer used.")
-
(defvar gud-last-speedbar-stackframe nil
"Description of the currently displayed GUD stack.
t means that there is no stack, and we are in display-file mode.")
--- 336,341 ----
***************
*** 355,361 ****
(define-key gud-speedbar-key-map "j" 'speedbar-edit-line)
(define-key gud-speedbar-key-map "e" 'speedbar-edit-line)
(define-key gud-speedbar-key-map "\C-m" 'speedbar-edit-line)
! (define-key gud-speedbar-key-map "D" 'gdb-var-delete)))
(defvar gud-speedbar-menu-items
'(["Jump to stack frame" speedbar-edit-line
--- 352,362 ----
(define-key gud-speedbar-key-map "j" 'speedbar-edit-line)
(define-key gud-speedbar-key-map "e" 'speedbar-edit-line)
(define-key gud-speedbar-key-map "\C-m" 'speedbar-edit-line)
! (define-key gud-speedbar-key-map "D" 'gdb-var-delete))
!
! (speedbar-add-expansion-list '("GUD" gud-speedbar-menu-items
! gud-speedbar-key-map
! gud-expansion-speedbar-buttons)))
(defvar gud-speedbar-menu-items
'(["Jump to stack frame" speedbar-edit-line
***************
*** 374,462 ****
(gud-install-speedbar-variables)
(add-hook 'speedbar-load-hook 'gud-install-speedbar-variables))
(defun gud-speedbar-buttons (buffer)
"Create a speedbar display based on the current state of GUD.
If the GUD BUFFER is not running a supported debugger, then turn
! off the specialized speedbar mode."
! (let ((minor-mode (with-current-buffer buffer gud-minor-mode)))
! (cond
! ((memq minor-mode '(gdbmi gdba))
! (when (or gdb-var-changed
! (not (save-excursion
! (goto-char (point-min))
! (let ((case-fold-search t))
! (looking-at "Watch Expressions:")))))
! (erase-buffer)
! (insert "Watch Expressions:\n")
! (let ((var-list gdb-var-list))
! (while var-list
! (let* ((depth 0) (start 0) (char ?+)
! (var (car var-list)) (varnum (nth 1 var)))
! (while (string-match "\\." varnum start)
! (setq depth (1+ depth)
! start (1+ (match-beginning 0))))
! (if (equal (nth 2 var) "0")
! (speedbar-make-tag-line 'bracket ?? nil nil
! (concat (car var) "\t" (nth 4 var))
! 'gdb-edit-value
! nil
! (if (and (nth 5 var)
! gdb-show-changed-values)
! 'font-lock-warning-face
! nil) depth)
! (if (and (cadr var-list)
! (string-match varnum (cadr (cadr var-list))))
! (setq char ?-))
! (speedbar-make-tag-line 'bracket char
! 'gdb-speedbar-expand-node varnum
! (concat (car var) "\t" (nth 3 var))
! nil nil nil depth)))
! (setq var-list (cdr var-list))))
! (setq gdb-var-changed nil)))
! (t (if (and (save-excursion
! (goto-char (point-min))
! (looking-at "Current Stack"))
! (equal gud-last-last-frame gud-last-speedbar-stackframe))
! nil
! (setq gud-last-speedbar-buffer buffer)
! (let ((gud-frame-list
! (cond ((eq minor-mode 'gdb)
! (gud-gdb-get-stackframe buffer))
! ;; Add more debuggers here!
! (t (speedbar-remove-localized-speedbar-support buffer)
! nil))))
! (erase-buffer)
! (if (not gud-frame-list)
! (insert "No Stack frames\n")
! (insert "Current Stack:\n"))
! (dolist (frame gud-frame-list)
! (insert (nth 1 frame) ":\n")
! (if (= (length frame) 2)
! (progn
! ; (speedbar-insert-button "[?]"
! ; 'speedbar-button-face
! ; nil nil nil t)
! (speedbar-insert-button (car frame)
! 'speedbar-directory-face
! nil nil nil t))
! ; (speedbar-insert-button "[+]"
! ; 'speedbar-button-face
! ; 'speedbar-highlight-face
! ; 'gud-gdb-get-scope-data
! ; frame t)
! (speedbar-insert-button (car frame)
! 'speedbar-file-face
! 'speedbar-highlight-face
! (cond ((memq minor-mode '(gdbmi gdba gdb))
! 'gud-gdb-goto-stackframe)
! (t (error "Should never be here")))
! frame t)))
! ; (let ((selected-frame
! ; (cond ((eq ff 'gud-gdb-find-file)
! ; (gud-gdb-selected-frame-info buffer))
! ; (t (error "Should never be here"))))))
! )
! (setq gud-last-speedbar-stackframe gud-last-last-frame))))))
;; ======================================================================
--- 375,460 ----
(gud-install-speedbar-variables)
(add-hook 'speedbar-load-hook 'gud-install-speedbar-variables))
+ (defun gud-expansion-speedbar-buttons (directory zero)
+ "Wrapper for call to speedbar-add-expansion-list. DIRECTORY and
+ ZERO are not used, but are required by the caller."
+ (gud-speedbar-buttons gud-comint-buffer))
+
(defun gud-speedbar-buttons (buffer)
"Create a speedbar display based on the current state of GUD.
If the GUD BUFFER is not running a supported debugger, then turn
! off the specialized speedbar mode. BUFFER is not used, but are
! required by the caller."
! (when (and (boundp 'gud-comint-buffer)
! gud-comint-buffer
! ;; gud-comint-buffer might be killed
! (buffer-name gud-comint-buffer))
! (let ((minor-mode (with-current-buffer buffer gud-minor-mode)))
! (cond
! ((memq minor-mode '(gdbmi gdba))
! (when (or gdb-var-changed
! (not (save-excursion
! (goto-char (point-min))
! (let ((case-fold-search t))
! (looking-at "Watch Expressions:")))))
! (erase-buffer)
! (insert "Watch Expressions:\n")
! (let ((var-list gdb-var-list))
! (while var-list
! (let* ((depth 0) (start 0) (char ?+)
! (var (car var-list)) (varnum (nth 1 var)))
! (while (string-match "\\." varnum start)
! (setq depth (1+ depth)
! start (1+ (match-beginning 0))))
! (if (equal (nth 2 var) "0")
! (speedbar-make-tag-line 'bracket ?? nil nil
! (concat (car var) "\t" (nth 4 var))
! 'gdb-edit-value
! nil
! (if (and (nth 5 var)
! gdb-show-changed-values)
! 'font-lock-warning-face
! nil) depth)
! (if (and (cadr var-list)
! (string-match varnum (cadr (cadr var-list))))
! (setq char ?-))
! (speedbar-make-tag-line 'bracket char
! 'gdb-speedbar-expand-node varnum
! (concat (car var) "\t" (nth 3 var))
! nil nil nil depth)))
! (setq var-list (cdr var-list))))
! (setq gdb-var-changed nil)))
! (t (if (and (save-excursion
! (goto-char (point-min))
! (looking-at "Current Stack:"))
! (equal gud-last-last-frame gud-last-speedbar-stackframe))
! nil
! (let ((gud-frame-list
! (cond ((eq minor-mode 'gdb)
! (gud-gdb-get-stackframe buffer))
! ;; Add more debuggers here!
! (t (speedbar-remove-localized-speedbar-support buffer)
! nil))))
! (erase-buffer)
! (if (not gud-frame-list)
! (insert "No Stack frames\n")
! (insert "Current Stack:\n"))
! (dolist (frame gud-frame-list)
! (insert (nth 1 frame) ":\n")
! (if (= (length frame) 2)
! (progn
! (speedbar-insert-button (car frame)
! 'speedbar-directory-face
! nil nil nil t))
! (speedbar-insert-button
! (car frame)
! 'speedbar-file-face
! 'speedbar-highlight-face
! (cond ((memq minor-mode '(gdbmi gdba gdb))
! 'gud-gdb-goto-stackframe)
! (t (error "Should never be here")))
! frame t))))
! (setq gud-last-speedbar-stackframe gud-last-last-frame)))))))
;; ======================================================================
- [Emacs-diffs] Changes to emacs/lisp/progmodes/gud.el, Nick Roberts, 2005/10/06
- [Emacs-diffs] Changes to emacs/lisp/progmodes/gud.el, Nick Roberts, 2005/10/08
- [Emacs-diffs] Changes to emacs/lisp/progmodes/gud.el,
Nick Roberts <=
- [Emacs-diffs] Changes to emacs/lisp/progmodes/gud.el, Nick Roberts, 2005/10/10
- [Emacs-diffs] Changes to emacs/lisp/progmodes/gud.el, Bill Wohler, 2005/10/15
- [Emacs-diffs] Changes to emacs/lisp/progmodes/gud.el, Nick Roberts, 2005/10/15
- [Emacs-diffs] Changes to emacs/lisp/progmodes/gud.el, Nick Roberts, 2005/10/17
- [Emacs-diffs] Changes to emacs/lisp/progmodes/gud.el, Nick Roberts, 2005/10/24
- [Emacs-diffs] Changes to emacs/lisp/progmodes/gud.el, Nick Roberts, 2005/10/25
- [Emacs-diffs] Changes to emacs/lisp/progmodes/gud.el, Nick Roberts, 2005/10/31