aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2003-06-29 13:52:50 +0000
committerNick Roberts2003-06-29 13:52:50 +0000
commit87cae4751a7bf6ab30f35f853d15d694f7ebc8f9 (patch)
tree9b2c7f9740cc19fb7ab60e61aaff8beae81dcecf
parent25606af1164c4f68f1f163b21f14d495064d72ef (diff)
downloademacs-87cae4751a7bf6ab30f35f853d15d694f7ebc8f9.tar.gz
emacs-87cae4751a7bf6ab30f35f853d15d694f7ebc8f9.zip
(gdb-display-number-end): Don't re-initialise local
variables to preserve array slices. (gdb-array-slice): Rename gdb-mouse-array-slice. (gdb-array-slice): Interactive function bound to "\r" for text terminals. (gdb-view-source): Rename gdb-view-source-function. Set uninitialised variables (defvars) to nil.
-rw-r--r--lisp/gdb-ui.el44
1 files changed, 25 insertions, 19 deletions
diff --git a/lisp/gdb-ui.el b/lisp/gdb-ui.el
index 2373b51ea66..816cbda4818 100644
--- a/lisp/gdb-ui.el
+++ b/lisp/gdb-ui.el
@@ -710,9 +710,9 @@ output from the current command if that happens to be appropriate."
710 (gdb-clear-partial-output) 710 (gdb-clear-partial-output)
711 (setq gdb-display-in-progress t)) 711 (setq gdb-display-in-progress t))
712 712
713(defvar gdb-expression-buffer-name) 713(defvar gdb-expression-buffer-name nil)
714(defvar gdb-display-number) 714(defvar gdb-display-number nil)
715(defvar gdb-dive-display-number) 715(defvar gdb-dive-display-number nil)
716 716
717(defun gdb-display-number-end (ignored) 717(defun gdb-display-number-end (ignored)
718 (set-buffer (gdb-get-buffer 'gdb-partial-output-buffer)) 718 (set-buffer (gdb-get-buffer 'gdb-partial-output-buffer))
@@ -730,26 +730,27 @@ output from the current command if that happens to be appropriate."
730 (gdb-expressions-mode) 730 (gdb-expressions-mode)
731 (setq gdb-dive-display-number number))) 731 (setq gdb-dive-display-number number)))
732 (set-buffer (get-buffer-create gdb-expression-buffer-name)) 732 (set-buffer (get-buffer-create gdb-expression-buffer-name))
733 (gdb-expressions-mode) 733 (if (display-graphic-p)
734 (if (and (display-graphic-p) (not gdb-dive))
735 (catch 'frame-exists 734 (catch 'frame-exists
736 (dolist (frame (frame-list)) 735 (dolist (frame (frame-list))
737 (if (string-equal (frame-parameter frame 'name) 736 (if (string-equal (frame-parameter frame 'name)
738 gdb-expression-buffer-name) 737 gdb-expression-buffer-name)
739 (throw 'frame-exists nil))) 738 (throw 'frame-exists nil)))
739 (gdb-expressions-mode)
740 (make-frame `((height . ,gdb-window-height) 740 (make-frame `((height . ,gdb-window-height)
741 (width . ,gdb-window-width) 741 (width . ,gdb-window-width)
742 (tool-bar-lines . nil) 742 (tool-bar-lines . nil)
743 (menu-bar-lines . nil) 743 (menu-bar-lines . nil)
744 (minibuffer . nil)))) 744 (minibuffer . nil))))
745 (gdb-expressions-mode)
745 (gdb-display-buffer (get-buffer gdb-expression-buffer-name))))) 746 (gdb-display-buffer (get-buffer gdb-expression-buffer-name)))))
746 (set-buffer (gdb-get-buffer 'gdb-partial-output-buffer)) 747 (set-buffer (gdb-get-buffer 'gdb-partial-output-buffer))
747 (setq gdb-dive nil)) 748 (setq gdb-dive nil))
748 749
749(defvar gdb-nesting-level) 750(defvar gdb-nesting-level nil)
750(defvar gdb-expression) 751(defvar gdb-expression nil)
751(defvar gdb-point) 752(defvar gdb-point nil)
752(defvar gdb-annotation-arg) 753(defvar gdb-annotation-arg nil)
753 754
754(defun gdb-delete-line () 755(defun gdb-delete-line ()
755 "Delete the current line." 756 "Delete the current line."
@@ -954,7 +955,7 @@ output from the current command if that happens to be appropriate."
954 'local-map gdb-dive-map))) 955 'local-map gdb-dive-map)))
955 (delete-region start end))) 956 (delete-region start end)))
956 957
957(defvar gdb-values) 958(defvar gdb-values nil)
958 959
959(defun gdb-array-format () 960(defun gdb-array-format ()
960 (while (re-search-forward "##" nil t) 961 (while (re-search-forward "##" nil t)
@@ -980,18 +981,23 @@ output from the current command if that happens to be appropriate."
980 (setq gdb-nesting-level (- gdb-nesting-level 1)) 981 (setq gdb-nesting-level (- gdb-nesting-level 1))
981 (gdb-array-format))))) 982 (gdb-array-format)))))
982 983
983(defvar gdb-array-start) 984(defvar gdb-array-start nil)
984(defvar gdb-array-stop) 985(defvar gdb-array-stop nil)
985 986
986(defvar gdb-array-slice-map 987(defvar gdb-array-slice-map
987 (let ((map (make-sparse-keymap))) 988 (let ((map (make-sparse-keymap)))
988 (define-key map [mouse-2] 'gdb-array-slice) 989 (define-key map "\r" 'gdb-array-slice)
990 (define-key map [mouse-2] 'gdb-mouse-array-slice)
989 map)) 991 map))
990 992
991(defun gdb-array-slice (event) 993(defun gdb-mouse-array-slice (event)
992 "Select an array slice to display." 994 "Select an array slice to display."
993 (interactive "e") 995 (interactive "e")
994 (mouse-set-point event) 996 (mouse-set-point event)
997 (gdb-array-slice))
998
999(defun gdb-array-slice ()
1000 (interactive)
995 (save-excursion 1001 (save-excursion
996 (let ((n -1) (stop 0) (start 0) (point (point))) 1002 (let ((n -1) (stop 0) (start 0) (point (point)))
997 (beginning-of-line) 1003 (beginning-of-line)
@@ -1003,8 +1009,8 @@ output from the current command if that happens to be appropriate."
1003 (aset gdb-array-stop n stop))) 1009 (aset gdb-array-stop n stop)))
1004 (gdb-array-format1)) 1010 (gdb-array-format1))
1005 1011
1006(defvar gdb-display-string) 1012(defvar gdb-display-string nil)
1007(defvar gdb-array-size) 1013(defvar gdb-array-size nil)
1008 1014
1009(defun gdb-array-format1 () 1015(defun gdb-array-format1 ()
1010 (setq gdb-display-string "") 1016 (setq gdb-display-string "")
@@ -2002,7 +2008,7 @@ the source buffer."
2002 "Display other windows" "Many Windows %s" 2008 "Display other windows" "Many Windows %s"
2003 "Display locals, stack and breakpoint information")) 2009 "Display locals, stack and breakpoint information"))
2004 2010
2005 (let ((menu (make-sparse-keymap "GDB-Frames"))) 2011(let ((menu (make-sparse-keymap "GDB-Frames")))
2006 (define-key gud-menu-map [frames] 2012 (define-key gud-menu-map [frames]
2007 `(menu-item "GDB-Frames" ,menu :visible (eq gud-minor-mode 'gdba))) 2013 `(menu-item "GDB-Frames" ,menu :visible (eq gud-minor-mode 'gdba)))
2008 (define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer)) 2014 (define-key menu [gdb] '("Gdb" . gdb-frame-gdb-buffer))
@@ -2036,7 +2042,7 @@ the source buffer."
2036 (define-key menu [assembler] '(menu-item "Assembler" gdb-view-assembler 2042 (define-key menu [assembler] '(menu-item "Assembler" gdb-view-assembler
2037 :help "Display assembler only" 2043 :help "Display assembler only"
2038 :button (:radio . (eq gdb-selected-view 'assembler)))) 2044 :button (:radio . (eq gdb-selected-view 'assembler))))
2039 (define-key menu [source] '(menu-item "Source" gdb-view-source 2045 (define-key menu [source] '(menu-item "Source" gdb-view-source-function
2040 :help "Display source only" 2046 :help "Display source only"
2041 :button (:radio . (eq gdb-selected-view 'source))))) 2047 :button (:radio . (eq gdb-selected-view 'source)))))
2042 2048
@@ -2052,7 +2058,7 @@ the source buffer."
2052 2058
2053(defvar gdb-main-file nil "Source file from which program execution begins.") 2059(defvar gdb-main-file nil "Source file from which program execution begins.")
2054 2060
2055(defun gdb-view-source() 2061(defun gdb-view-source-function ()
2056 (interactive) 2062 (interactive)
2057 (if gdb-view-source 2063 (if gdb-view-source
2058 (if gud-last-last-frame 2064 (if gud-last-last-frame