[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: |
Sun, 24 Aug 2003 16:40:03 -0400 |
Index: emacs/lisp/gdb-ui.el
diff -c emacs/lisp/gdb-ui.el:1.40 emacs/lisp/gdb-ui.el:1.41
*** emacs/lisp/gdb-ui.el:1.40 Mon Aug 11 17:55:20 2003
--- emacs/lisp/gdb-ui.el Sun Aug 24 16:40:03 2003
***************
*** 121,129 ****
The following interactive lisp functions help control operation :
`gdb-many-windows' - Toggle the number of windows gdb uses.
! `gdb-restore-windows' - To restore the window layout.
! `gdb-quit' - To delete (most) of the buffers used by GDB-UI and
! reset variables."
;;
(interactive (list (gud-query-cmdline 'gdba)))
;;
--- 121,127 ----
The following interactive lisp functions help control operation :
`gdb-many-windows' - Toggle the number of windows gdb uses.
! `gdb-restore-windows' - To restore the window layout."
;;
(interactive (list (gud-query-cmdline 'gdba)))
;;
***************
*** 570,578 ****
(match-string 1 args)
(string-to-int (match-string 2 args))))
(setq gdb-current-address (match-string 3 args))
! (setq gdb-view-source t)
! ;;update with new frame for machine code if necessary
! (gdb-invalidate-assembler))
(defun gdb-send-item (item)
(gdb-set-current-item item)
--- 568,574 ----
(match-string 1 args)
(string-to-int (match-string 2 args))))
(setq gdb-current-address (match-string 3 args))
! (setq gdb-view-source t))
(defun gdb-send-item (item)
(gdb-set-current-item item)
***************
*** 596,604 ****
(gdb-set-output-sink 'post-emacs)
(let ((handler
(car (cdr (gdb-get-current-item)))))
! (save-excursion
! (set-buffer (gdb-get-create-buffer
! 'gdb-partial-output-buffer))
(funcall handler))))
(t
(gdb-set-output-sink 'user)
--- 592,598 ----
(gdb-set-output-sink 'post-emacs)
(let ((handler
(car (cdr (gdb-get-current-item)))))
! (with-current-buffer (gdb-get-create-buffer 'gdb-partial-output-buffer)
(funcall handler))))
(t
(gdb-set-output-sink 'user)
***************
*** 945,952 ****
(insert-buffer-substring (gdb-get-buffer
'gdb-partial-output-buffer)
start end)
! (add-text-properties (- (point) (- end start)) (- (point) 1)
! `(mouse-face highlight local-map ,gdb-dive-map))))
(delete-region start end)))
(defvar gdb-values nil)
--- 939,949 ----
(insert-buffer-substring (gdb-get-buffer
'gdb-partial-output-buffer)
start end)
! (add-text-properties
! (- (point) (- end start)) (- (point) 1)
! `(mouse-face highlight
! local-map ,gdb-dive-map
! help-echo "mouse-2: dive, S-mouse-2: dive in a new frame"))))
(delete-region start end)))
(defvar gdb-values nil)
***************
*** 1396,1402 ****
(if (eq ?y flag)
(gdb-put-string "B" (+ start 1))
(gdb-put-string "b" (+ start 1))))))))))))
! (end-of-line))))))
(defun gdb-breakpoints-buffer-name ()
(with-current-buffer gud-comint-buffer
--- 1393,1400 ----
(if (eq ?y flag)
(gdb-put-string "B" (+ start 1))
(gdb-put-string "b" (+ start 1))))))))))))
! (end-of-line)))))
! (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom)))
(defun gdb-breakpoints-buffer-name ()
(with-current-buffer gud-comint-buffer
***************
*** 1482,1517 ****
file
(expand-file-name file gdb-cdir))))
(goto-line (string-to-number line))))))
- ;; I'll get this to work one day!
- ;; (defun gdb-goto-breakpoint ()
- ;; "Display the file in the source buffer at the breakpoint specified on the
- ;; current line."
- ;; (interactive)
- ;; (save-excursion
- ;; (let ((eol (progn (end-of-line) (point))))
- ;; (beginning-of-line 1)
- ;; (if (re-search-forward "\\(\\S-*\\):\\([0-9]+\\)" eol t)
- ;; (let ((line (match-string 2))
- ;; (file (match-string 1)))
- ;; (save-selected-window
- ;; (select-window gdb-source-window)
- ;; (switch-to-buffer (find-file-noselect
- ;; (if (file-exists-p file)
- ;; file
- ;; (expand-file-name file gdb-cdir))))
- ;; (goto-line (string-to-number line))))))
- ;; (let ((eol (progn (end-of-line) (point))))
- ;; (beginning-of-line 1)
- ;; (if (re-search-forward "<\\(\\S-*?\\)\\(\\+*[0-9]*\\)>" eol t)
- ;; (save-selected-window
- ;; (select-window gdb-source-window)
- ;; (gdb-get-create-buffer 'gdb-assembler-buffer)
- ;; (gdb-enqueue-input
- ;; (list (concat "server disassemble " (match-string 1) "\n")
- ;; 'gdb-assembler-handler))
- ;; (with-current-buffer (gdb-get-buffer 'gdb-assembler-buffer)
- ;; (re-search-forward
- ;; (concat (match-string 1) (match-string 2)))))))))
(defun gdb-mouse-goto-breakpoint (event)
"Display the file in the source buffer at the selected breakpoint."
--- 1480,1485 ----
***************
*** 1960,1966 ****
(unwind-protect
(progn
(walk-windows
! '(lambda (win)
(if (or (eq gud-comint-buffer (window-buffer win))
(eq gdb-source-window win))
(set-window-dedicated-p win t))))
--- 1928,1934 ----
(unwind-protect
(progn
(walk-windows
! #'(lambda (win)
(if (or (eq gud-comint-buffer (window-buffer win))
(eq gdb-source-window win))
(set-window-dedicated-p win t))))
***************
*** 1973,1979 ****
(setq answer window))
(setq must-split t)))))
(walk-windows
! '(lambda (win)
(if (or (eq gud-comint-buffer (window-buffer win))
(eq gdb-source-window win))
(set-window-dedicated-p win nil)))))
--- 1941,1947 ----
(setq answer window))
(setq must-split t)))))
(walk-windows
! #'(lambda (win)
(if (or (eq gud-comint-buffer (window-buffer win))
(eq gdb-source-window win))
(set-window-dedicated-p win nil)))))
***************
*** 1987,1996 ****
(defun gdb-display-source-buffer (buffer)
(if (eq gdb-selected-view 'source)
! (set-window-buffer gdb-source-window buffer)
! (set-window-buffer gdb-source-window
! (gdb-get-buffer 'gdb-assembler-buffer)))
! gdb-source-window)
;;; Shared keymap initialization:
--- 1955,1973 ----
(defun gdb-display-source-buffer (buffer)
(if (eq gdb-selected-view 'source)
! (progn
! (if (window-live-p gdb-source-window)
! (set-window-buffer gdb-source-window buffer)
! (gdb-display-buffer buffer)
! (setq gdb-source-window (get-buffer-window buffer)))
! gdb-source-window)
! (if (window-live-p gdb-source-window)
! (set-window-buffer gdb-source-window
! (gdb-get-buffer 'gdb-assembler-buffer))
! (let ((buf (gdb-get-buffer 'gdb-assembler-buffer)))
! (gdb-display-buffer buf)
! (setq gdb-source-window (get-buffer-window buf))))
! nil))
;;; Shared keymap initialization:
***************
*** 2197,2204 ****
(if gud-last-last-frame
(gud-find-file (car gud-last-last-frame))
(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)))
--- 2174,2180 ----
(if gud-last-last-frame
(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)))
***************
*** 2208,2221 ****
PUTSTRING is displayed by putting an overlay into the current buffer with a
`before-string' STRING that has a `display' property whose value is
PUTSTRING."
! (setq string "x")
! (let ((buffer (current-buffer)))
! (setq string (copy-sequence string))
(let ((overlay (make-overlay pos pos buffer))
(prop (list (list 'margin 'left-margin) putstring)))
! (put-text-property 0 (length string) 'display prop string)
(overlay-put overlay 'put-break t)
! (overlay-put overlay 'before-string string))))
;;from remove-images
(defun gdb-remove-strings (start end &optional buffer)
--- 2184,2196 ----
PUTSTRING is displayed by putting an overlay into the current buffer with a
`before-string' STRING that has a `display' property whose value is
PUTSTRING."
! (let ((gdb-string "x")
! (buffer (current-buffer)))
(let ((overlay (make-overlay pos pos buffer))
(prop (list (list 'margin 'left-margin) putstring)))
! (put-text-property 0 (length gdb-string) 'display prop gdb-string)
(overlay-put overlay 'put-break t)
! (overlay-put overlay 'before-string gdb-string))))
;;from remove-images
(defun gdb-remove-strings (start end &optional buffer)
***************
*** 2236,2251 ****
in the current buffer. PUTSTRING is displayed by putting an
overlay into the current buffer with a `before-string'
\"gdb-arrow\" that has a `display' property whose value is
! PUTSTRING. STRING is defaulted if you omit it. POS may be an
! integer or marker."
! (setq string "gdb-arrow")
! (let ((buffer (current-buffer)))
! (setq string (copy-sequence string))
(let ((overlay (make-overlay pos pos buffer))
(prop (list (list 'margin 'left-margin) putstring)))
! (put-text-property 0 (length string) 'display prop string)
(overlay-put overlay 'put-arrow t)
! (overlay-put overlay 'before-string string))))
(defun gdb-remove-arrow (&optional buffer)
"Remove arrow in BUFFER.
--- 2211,2224 ----
in the current buffer. PUTSTRING is displayed by putting an
overlay into the current buffer with a `before-string'
\"gdb-arrow\" that has a `display' property whose value is
! PUTSTRING. POS may be an integer or marker."
! (let ((gdb-string "gdb-arrow")
! (buffer (current-buffer)))
(let ((overlay (make-overlay pos pos buffer))
(prop (list (list 'margin 'left-margin) putstring)))
! (put-text-property 0 (length gdb-string) 'display prop gdb-string)
(overlay-put overlay 'put-arrow t)
! (overlay-put overlay 'before-string gdb-string))))
(defun gdb-remove-arrow (&optional buffer)
"Remove arrow in BUFFER.
***************
*** 2374,2381 ****
(setq fringes-outside-margins t)
(setq buffer-read-only t)
(use-local-map gdb-assembler-mode-map)
! (gdb-invalidate-assembler)
! (gdb-invalidate-breakpoints))
(defun gdb-assembler-buffer-name ()
(with-current-buffer gud-comint-buffer
--- 2347,2353 ----
(setq fringes-outside-margins t)
(setq buffer-read-only t)
(use-local-map gdb-assembler-mode-map)
! (gdb-invalidate-assembler))
(defun gdb-assembler-buffer-name ()
(with-current-buffer gud-comint-buffer
***************
*** 2396,2403 ****
(defun gdb-invalidate-assembler (&optional ignored)
(if (gdb-get-buffer 'gdb-assembler-buffer)
(progn
! (if (string-equal gdb-current-frame gdb-previous-frame)
! (gdb-assembler-custom)
(if (or (not (member 'gdb-invalidate-assembler
(gdb-get-pending-triggers)))
(not (string-equal gdb-current-address
--- 2368,2374 ----
(defun gdb-invalidate-assembler (&optional ignored)
(if (gdb-get-buffer 'gdb-assembler-buffer)
(progn
! (unless (string-equal gdb-current-frame gdb-previous-frame)
(if (or (not (member 'gdb-invalidate-assembler
(gdb-get-pending-triggers)))
(not (string-equal gdb-current-address
***************
*** 2450,2455 ****
--- 2421,2427 ----
(set-window-buffer
gdb-source-window
(gdb-get-create-buffer 'gdb-assembler-buffer))
+ ;;update with new frame for machine code if necessary
(gdb-invalidate-assembler)))))))
(provide 'gdb-ui)