aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Roberts2006-03-21 10:16:34 +0000
committerNick Roberts2006-03-21 10:16:34 +0000
commit5dfe9b2b89e07036e08603a3e1fc3380ebfdb680 (patch)
treeb12d1c92a53bc5b1db88aaf274735639eb481bc7
parentea5d66db381a158b1ddb3d765f7f1ef577742e1b (diff)
downloademacs-5dfe9b2b89e07036e08603a3e1fc3380ebfdb680.tar.gz
emacs-5dfe9b2b89e07036e08603a3e1fc3380ebfdb680.zip
(hollow-right-triangle): Define as fringe bitmap.
(gdb-info-stack-custom): Rename from gdb-info-frames-custom and change names in macro above for consistency. (gdb-frame-handler): Use hollow-right-triangle for all selected frames which except the innermost (where execution has stopped). (gdb-reset): Reset buffer-local values of overlay-arrow.
-rw-r--r--lisp/progmodes/gdb-ui.el37
1 files changed, 25 insertions, 12 deletions
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el
index 5afaf9c9a66..958aaac33d4 100644
--- a/lisp/progmodes/gdb-ui.el
+++ b/lisp/progmodes/gdb-ui.el
@@ -1661,10 +1661,13 @@ static char *magick[] = {
1661(defvar breakpoint-disabled-icon nil 1661(defvar breakpoint-disabled-icon nil
1662 "Icon for disabled breakpoint in display margin.") 1662 "Icon for disabled breakpoint in display margin.")
1663 1663
1664;; Bitmap for breakpoint in fringe
1665(and (display-images-p) 1664(and (display-images-p)
1665 ;; Bitmap for breakpoint in fringe
1666 (define-fringe-bitmap 'breakpoint 1666 (define-fringe-bitmap 'breakpoint
1667 "\x3c\x7e\xff\xff\xff\xff\x7e\x3c")) 1667 "\x3c\x7e\xff\xff\xff\xff\x7e\x3c")
1668 ;; Bitmap for gud-overlay-arrow in fringe
1669 (define-fringe-bitmap 'hollow-right-triangle
1670 "\xe0\x90\x88\x84\x84\x88\x90\xe0"))
1668 1671
1669(defface breakpoint-enabled 1672(defface breakpoint-enabled
1670 '((t 1673 '((t
@@ -1920,11 +1923,11 @@ static char *magick[] = {
1920 1923
1921(def-gdb-auto-updated-buffer gdb-stack-buffer 1924(def-gdb-auto-updated-buffer gdb-stack-buffer
1922 gdb-invalidate-frames 1925 gdb-invalidate-frames
1923 "server where\n" 1926 "server info stack\n"
1924 gdb-info-frames-handler 1927 gdb-info-stack-handler
1925 gdb-info-frames-custom) 1928 gdb-info-stack-custom)
1926 1929
1927(defun gdb-info-frames-custom () 1930(defun gdb-info-stack-custom ()
1928 (with-current-buffer (gdb-get-buffer 'gdb-stack-buffer) 1931 (with-current-buffer (gdb-get-buffer 'gdb-stack-buffer)
1929 (save-excursion 1932 (save-excursion
1930 (let ((buffer-read-only nil) 1933 (let ((buffer-read-only nil)
@@ -1985,7 +1988,7 @@ static char *magick[] = {
1985 map)) 1988 map))
1986 1989
1987(defun gdb-frames-mode () 1990(defun gdb-frames-mode ()
1988 "Major mode for gdb frames. 1991 "Major mode for gdb call stack.
1989 1992
1990\\{gdb-frames-mode-map}" 1993\\{gdb-frames-mode-map}"
1991 (kill-all-local-variables) 1994 (kill-all-local-variables)
@@ -2066,15 +2069,13 @@ static char *magick[] = {
2066 map)) 2069 map))
2067 2070
2068(defvar gdb-threads-font-lock-keywords 2071(defvar gdb-threads-font-lock-keywords
2069 '( 2072 '((") +\\([^ ]+\\) (" (1 font-lock-function-name-face))
2070 (") +\\([^ ]+\\) (" (1 font-lock-function-name-face))
2071 ("in \\([^ ]+\\) (" (1 font-lock-function-name-face)) 2073 ("in \\([^ ]+\\) (" (1 font-lock-function-name-face))
2072 ("\\(\\(\\sw\\|[_.]\\)+\\)=" (1 font-lock-variable-name-face)) 2074 ("\\(\\(\\sw\\|[_.]\\)+\\)=" (1 font-lock-variable-name-face)))
2073 )
2074 "Font lock keywords used in `gdb-threads-mode'.") 2075 "Font lock keywords used in `gdb-threads-mode'.")
2075 2076
2076(defun gdb-threads-mode () 2077(defun gdb-threads-mode ()
2077 "Major mode for gdb frames. 2078 "Major mode for gdb threads.
2078 2079
2079\\{gdb-threads-mode-map}" 2080\\{gdb-threads-mode-map}"
2080 (kill-all-local-variables) 2081 (kill-all-local-variables)
@@ -2787,6 +2788,7 @@ Kills the gdb buffers, and resets variables and the source buffers."
2787 (setq gdb-overlay-arrow-position nil)) 2788 (setq gdb-overlay-arrow-position nil))
2788 (setq overlay-arrow-variable-list 2789 (setq overlay-arrow-variable-list
2789 (delq 'gdb-overlay-arrow-position overlay-arrow-variable-list)) 2790 (delq 'gdb-overlay-arrow-position overlay-arrow-variable-list))
2791 (setcdr (assoc 'overlay-arrow fringe-indicator-alist) 'right-triangle)
2790 (if (and (boundp 'speedbar-frame) (frame-live-p speedbar-frame)) 2792 (if (and (boundp 'speedbar-frame) (frame-live-p speedbar-frame))
2791 (speedbar-refresh)) 2793 (speedbar-refresh))
2792 (setq gud-running nil) 2794 (setq gud-running nil)
@@ -3112,6 +3114,17 @@ BUFFER nil or omitted means use the current buffer."
3112 (goto-char (point-min)) 3114 (goto-char (point-min))
3113 (if (re-search-forward "Stack level \\([0-9]+\\)" nil t) 3115 (if (re-search-forward "Stack level \\([0-9]+\\)" nil t)
3114 (setq gdb-frame-number (match-string 1))) 3116 (setq gdb-frame-number (match-string 1)))
3117 (if gud-overlay-arrow-position
3118 (let ((buffer (marker-buffer gud-overlay-arrow-position))
3119 (position (marker-position gud-overlay-arrow-position)))
3120 (when buffer
3121 (with-current-buffer buffer
3122 (setcdr (assoc 'overlay-arrow fringe-indicator-alist)
3123 (if (string-equal gdb-frame-number "0")
3124 'right-triangle
3125 'hollow-right-triangle))
3126 (setq gud-overlay-arrow-position (make-marker))
3127 (set-marker gud-overlay-arrow-position position)))))
3115 (goto-char (point-min)) 3128 (goto-char (point-min))
3116 (if (re-search-forward 3129 (if (re-search-forward
3117 ".*=\\s-+0x0*\\(\\S-*\\)\\s-+in\\s-+\\(\\S-*?\\);? " nil t) 3130 ".*=\\s-+0x0*\\(\\S-*\\)\\s-+in\\s-+\\(\\S-*?\\);? " nil t)