emacs-diffs
[Top][All Lists]
Advanced

[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)))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]