[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/gdb-ui.el
From: |
Nick Roberts |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/gdb-ui.el |
Date: |
Wed, 18 Jun 2003 18:37:40 -0400 |
Index: emacs/lisp/gdb-ui.el
diff -c emacs/lisp/gdb-ui.el:1.35 emacs/lisp/gdb-ui.el:1.36
*** emacs/lisp/gdb-ui.el:1.35 Sat Jun 7 21:20:51 2003
--- emacs/lisp/gdb-ui.el Wed Jun 18 18:37:40 2003
***************
*** 41,50 ****
;; developing the mode itself, then see the Annotations section in the GDB
;; info manual.
;;
! ;; Known Bugs:
! ;; Does not auto-display arrays of structures or structures containing
arrays.
! ;; On MS Windows, Gdb 5.1.1 from MinGW 2.0 does not flush the output from the
! ;; inferior.
;;; Code:
--- 41,50 ----
;; developing the mode itself, then see the Annotations section in the GDB
;; info manual.
;;
! ;; Known Bugs:
! ;; Does not auto-display arrays of structures or structures containing
arrays.
! ;; On MS Windows, Gdb 5.1.1 from MinGW 2.0 does not flush the output from the
! ;; inferior.
;;; Code:
***************
*** 60,68 ****
:type 'integer
:group 'gud)
! (defvar gdb-current-address nil "Initialisation for Assembler buffer.")
(defvar gdb-previous-address nil)
(defvar gdb-previous-frame nil)
(defvar gdb-display-in-progress nil)
(defvar gdb-dive nil)
(defvar gdb-view-source t "Non-nil means that source code can be viewed")
--- 60,69 ----
:type 'integer
:group 'gud)
! (defvar gdb-current-address "main" "Initialisation for Assembler buffer.")
(defvar gdb-previous-address nil)
(defvar gdb-previous-frame nil)
+ (defvar gdb-current-frame "main")
(defvar gdb-display-in-progress nil)
(defvar gdb-dive nil)
(defvar gdb-view-source t "Non-nil means that source code can be viewed")
***************
*** 162,167 ****
--- 163,169 ----
(setq gdb-current-address "main")
(setq gdb-previous-address nil)
(setq gdb-previous-frame nil)
+ (setq gdb-current-frame "main")
(setq gdb-display-in-progress nil)
(setq gdb-dive nil)
(setq gdb-view-source t)
***************
*** 176,182 ****
(gdb-enqueue-input (list "set new-console off\n" 'ignore)))
(gdb-enqueue-input (list "set height 0\n" 'ignore))
;; find source file and compilation directory here
! (gdb-enqueue-input (list "server list\n" 'ignore)) ; C program
(gdb-enqueue-input (list "server list MAIN__\n" 'ignore)) ; Fortran
program
(gdb-enqueue-input (list "server info source\n"
'gdb-source-info))
--- 178,184 ----
(gdb-enqueue-input (list "set new-console off\n" 'ignore)))
(gdb-enqueue-input (list "set height 0\n" 'ignore))
;; find source file and compilation directory here
! (gdb-enqueue-input (list "server list main\n" 'ignore)) ; C program
(gdb-enqueue-input (list "server list MAIN__\n" 'ignore)) ; Fortran
program
(gdb-enqueue-input (list "server info source\n"
'gdb-source-info))
***************
*** 201,209 ****
(goto-char (- (point-max) 1))
(if (equal (char-before) (string-to-char "\*"))
(gdb-enqueue-input
! (list (concat "server display* " expr "\n") 'ignore))
(gdb-enqueue-input
! (list (concat "server display " expr "\n") 'ignore)))))
; this would messy because these bindings don't work with M-x gdb
; (define-key global-map "\C-x\C-a\C-a" 'gud-display)
--- 203,211 ----
(goto-char (- (point-max) 1))
(if (equal (char-before) (string-to-char "\*"))
(gdb-enqueue-input
! (list (concat "display* " expr "\n") 'ignore))
(gdb-enqueue-input
! (list (concat "display " expr "\n") 'ignore)))))
; this would messy because these bindings don't work with M-x gdb
; (define-key global-map "\C-x\C-a\C-a" 'gud-display)
***************
*** 744,750 ****
(set-buffer (gdb-get-buffer 'gdb-partial-output-buffer))
(setq gdb-dive nil))
- (defvar gdb-current-frame nil)
(defvar gdb-nesting-level)
(defvar gdb-expression)
(defvar gdb-point)
--- 746,751 ----
***************
*** 2049,2075 ****
(gdb-display-buffer
(gdb-get-create-buffer 'gdba)))
(defun gdb-view-source()
! (interactive)
! (if gdb-view-source
! (if gud-last-last-frame
! (set-window-buffer gdb-source-window
! (gud-find-file (car gud-last-last-frame)))
! (set-window-buffer gdb-source-window (gud-find-file gdb-main-file))))
! (setq gdb-selected-view 'source))
(defun gdb-view-assembler()
! (interactive)
! (set-window-buffer gdb-source-window
! (gdb-get-create-buffer 'gdb-assembler-buffer))
! (setq gdb-selected-view 'assembler))
;(defun gdb-view-both()
;(interactive)
;(setq gdb-selected-view 'both))
- (defvar gdb-main-file nil "Source file from which program execution begins.")
-
;; layout for all the windows
(defun gdb-setup-windows ()
(gdb-display-locals-buffer)
--- 2050,2076 ----
(gdb-display-buffer
(gdb-get-create-buffer 'gdba)))
+ (defvar gdb-main-file nil "Source file from which program execution begins.")
+
(defun gdb-view-source()
! (interactive)
! (if gdb-view-source
! (if gud-last-last-frame
! (set-window-buffer gdb-source-window
! (gud-find-file (car gud-last-last-frame)))
! (set-window-buffer gdb-source-window (gud-find-file gdb-main-file))))
! (setq gdb-selected-view 'source))
(defun gdb-view-assembler()
! (interactive)
! (set-window-buffer gdb-source-window
! (gdb-get-create-buffer 'gdb-assembler-buffer))
! (setq gdb-selected-view 'assembler))
;(defun gdb-view-both()
;(interactive)
;(setq gdb-selected-view 'both))
;; layout for all the windows
(defun gdb-setup-windows ()
(gdb-display-locals-buffer)
***************
*** 2135,2140 ****
--- 2136,2142 ----
(gud-find-file (car gud-last-last-frame))
(gud-find-file gdb-main-file)))
(switch-to-buffer (gdb-get-create-buffer 'gdb-assembler-buffer)))
+ (setq gdb-source-window (get-buffer-window (current-buffer)))
(other-window 1)))
(defun gdb-reset ()
***************
*** 2164,2192 ****
"Find the source file where the program starts and displays it with related
buffers."
(goto-char (point-min))
! (when (search-forward "directory is " nil t)
! (if (looking-at "\\S-*:\\(\\S-*\\)")
! (setq gdb-cdir (match-string 1))
! (looking-at "\\S-*")
! (setq gdb-cdir (match-string 0)))
! (search-forward "Located in ")
! (looking-at "\\S-*")
! (setq gdb-main-file (match-string 0))
! ;; Make sure we are not in the minibuffer window when we try to delete
! ;; all other windows.
! (if (window-minibuffer-p (selected-window))
! (other-window 1))
(delete-other-windows)
! (if gdb-many-windows
! (gdb-setup-windows)
! (gdb-display-breakpoints-buffer)
! (gdb-display-display-buffer)
! (delete-other-windows)
! (split-window)
! (other-window 1)
! (switch-to-buffer (gud-find-file gdb-main-file))
! (setq gdb-source-window (get-buffer-window (current-buffer)))
! (other-window 1))))
;;from put-image
(defun gdb-put-string (putstring pos)
--- 2166,2195 ----
"Find the source file where the program starts and displays it with related
buffers."
(goto-char (point-min))
! (if (search-forward "directory is " nil t)
! (progn
! (if (looking-at "\\S-*:\\(\\S-*\\)")
! (setq gdb-cdir (match-string 1))
! (looking-at "\\S-*")
! (setq gdb-cdir (match-string 0)))
! (search-forward "Located in ")
! (looking-at "\\S-*")
! (setq gdb-main-file (match-string 0)))
! (setq gdb-view-source nil))
! (delete-other-windows)
! (if gdb-many-windows
! (gdb-setup-windows)
! (gdb-display-breakpoints-buffer)
! (gdb-display-display-buffer)
(delete-other-windows)
! (split-window)
! (other-window 1)
! (if gdb-view-source
! (switch-to-buffer (gud-find-file gdb-main-file))
! (switch-to-buffer (gdb-get-create-buffer 'gdb-assembler-buffer))
! (gdb-invalidate-assembler))
! (setq gdb-source-window (get-buffer-window (current-buffer)))
! (other-window 1)))
;;from put-image
(defun gdb-put-string (putstring pos)
***************
*** 2294,2307 ****
(defun gdb-assembler-custom ()
(let ((buffer (gdb-get-buffer 'gdb-assembler-buffer))
! (address) (flag))
(with-current-buffer buffer
(if (not (equal gdb-current-address "main"))
(progn
(gdb-remove-arrow)
(goto-char (point-min))
(if (re-search-forward gdb-current-address nil t)
! (gdb-put-arrow "=>" (point)))))
;; remove all breakpoint-icons in assembler buffer before updating.
(if (eq window-system 'x)
(remove-images (point-min) (point-max))
--- 2297,2312 ----
(defun gdb-assembler-custom ()
(let ((buffer (gdb-get-buffer 'gdb-assembler-buffer))
! (gdb-arrow-position 1) (address) (flag))
(with-current-buffer buffer
(if (not (equal gdb-current-address "main"))
(progn
(gdb-remove-arrow)
(goto-char (point-min))
(if (re-search-forward gdb-current-address nil t)
! (progn
! (setq gdb-arrow-position (point))
! (gdb-put-arrow "=>" (point))))))
;; remove all breakpoint-icons in assembler buffer before updating.
(if (eq window-system 'x)
(remove-images (point-min) (point-max))
***************
*** 2339,2345 ****
(gdb-remove-strings start end)
(if (eq ?y flag)
(gdb-put-string "B" (+ start 1))
! (gdb-put-string "b" (+ start 1)))))))))))))
(defvar gdb-assembler-mode-map
(let ((map (make-sparse-keymap)))
--- 2344,2352 ----
(gdb-remove-strings start end)
(if (eq ?y flag)
(gdb-put-string "B" (+ start 1))
! (gdb-put-string "b" (+ start 1)))))))))))
! (if (not (equal gdb-current-address "main"))
! (set-window-point (get-buffer-window buffer) gdb-arrow-position))))
(defvar gdb-assembler-mode-map
(let ((map (make-sparse-keymap)))