diff options
| -rw-r--r-- | lisp/ChangeLog | 7 | ||||
| -rw-r--r-- | lisp/progmodes/gdb-ui.el | 77 |
2 files changed, 45 insertions, 39 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 36a7b44bc81..719b5a4948d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,10 @@ | |||
| 1 | 2008-04-28 Nick Roberts <nickrob@snap.net.nz> | ||
| 2 | |||
| 3 | * progmodes/gdb-ui.el (gdb-info-breakpoints-custom): Make breakpoint | ||
| 4 | icons work for assembler, i.e. FILE.s, FILE.S (not disassembly). | ||
| 5 | (gdb-goto-breakpoint): Likewise for visiting breakpoints. | ||
| 6 | (gdb-assembler-custom): Be careful not to match other addresses. | ||
| 7 | |||
| 1 | 2008-04-29 Jason Rumney <jasonr@gnu.org> | 8 | 2008-04-29 Jason Rumney <jasonr@gnu.org> |
| 2 | 9 | ||
| 3 | * battery.el (battery-status-function): Use w32-battery-status | 10 | * battery.el (battery-status-function): Use w32-battery-status |
diff --git a/lisp/progmodes/gdb-ui.el b/lisp/progmodes/gdb-ui.el index 63285802973..63d48fb9fde 100644 --- a/lisp/progmodes/gdb-ui.el +++ b/lisp/progmodes/gdb-ui.el | |||
| @@ -1928,33 +1928,32 @@ static char *magick[] = { | |||
| 1928 | (with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer) | 1928 | (with-current-buffer (gdb-get-buffer 'gdb-breakpoints-buffer) |
| 1929 | (save-excursion | 1929 | (save-excursion |
| 1930 | (let ((buffer-read-only nil)) | 1930 | (let ((buffer-read-only nil)) |
| 1931 | (goto-char (point-min)) | 1931 | (goto-char (point-min)) |
| 1932 | (while (< (point) (- (point-max) 1)) | 1932 | (while (< (point) (- (point-max) 1)) |
| 1933 | (forward-line 1) | 1933 | (forward-line 1) |
| 1934 | (if (looking-at gdb-breakpoint-regexp) | 1934 | (if (looking-at gdb-breakpoint-regexp) |
| 1935 | (progn | 1935 | (progn |
| 1936 | (setq bptno (or (match-string 1) (match-string 2))) | 1936 | (setq bptno (or (match-string 1) (match-string 2))) |
| 1937 | (setq flag (char-after (match-beginning 3))) | 1937 | (setq flag (char-after (match-beginning 3))) |
| 1938 | (if (match-string 1) | 1938 | (if (match-string 1) |
| 1939 | (setq gdb-parent-bptno-enabled (eq flag ?y))) | 1939 | (setq gdb-parent-bptno-enabled (eq flag ?y))) |
| 1940 | (add-text-properties | 1940 | (add-text-properties |
| 1941 | (match-beginning 3) (match-end 3) | 1941 | (match-beginning 3) (match-end 3) |
| 1942 | (if (eq flag ?y) | 1942 | (if (eq flag ?y) |
| 1943 | '(face font-lock-warning-face) | 1943 | '(face font-lock-warning-face) |
| 1944 | '(face font-lock-type-face))) | 1944 | '(face font-lock-type-face))) |
| 1945 | (let ((bl (point)) | 1945 | (let ((bl (point)) |
| 1946 | (el (line-end-position))) | 1946 | (el (line-end-position))) |
| 1947 | (if (re-search-forward " in \\(.*\\) at\\s-+" el t) | 1947 | (when (re-search-forward " in \\(.*\\) at" el t) |
| 1948 | (progn | 1948 | (add-text-properties |
| 1949 | (add-text-properties | 1949 | (match-beginning 1) (match-end 1) |
| 1950 | (match-beginning 1) (match-end 1) | 1950 | '(face font-lock-function-name-face))) |
| 1951 | '(face font-lock-function-name-face)) | 1951 | (if (re-search-forward ".*\\s-+\\(\\S-+\\):\\([0-9]+\\)$") |
| 1952 | (looking-at "\\(\\S-+\\):\\([0-9]+\\)") | ||
| 1953 | (let ((line (match-string 2)) | 1952 | (let ((line (match-string 2)) |
| 1954 | (file (match-string 1))) | 1953 | (file (match-string 1))) |
| 1955 | (add-text-properties bl el | 1954 | (add-text-properties bl el |
| 1956 | '(mouse-face highlight | 1955 | '(mouse-face highlight |
| 1957 | help-echo "mouse-2, RET: visit breakpoint")) | 1956 | help-echo "mouse-2, RET: visit breakpoint")) |
| 1958 | (unless (file-exists-p file) | 1957 | (unless (file-exists-p file) |
| 1959 | (setq file (cdr (assoc bptno gdb-location-alist)))) | 1958 | (setq file (cdr (assoc bptno gdb-location-alist)))) |
| 1960 | (if (and file | 1959 | (if (and file |
| @@ -1975,20 +1974,20 @@ static char *magick[] = { | |||
| 1975 | (gdb-enqueue-input | 1974 | (gdb-enqueue-input |
| 1976 | (list (concat gdb-server-prefix "info source\n") | 1975 | (list (concat gdb-server-prefix "info source\n") |
| 1977 | `(lambda () (gdb-get-location | 1976 | `(lambda () (gdb-get-location |
| 1978 | ,bptno ,line ,flag))))))) | 1977 | ,bptno ,line ,flag)))))) |
| 1979 | (if (re-search-forward | 1978 | (if (re-search-forward |
| 1980 | "<\\(\\(\\sw\\|[_.]\\)+\\)\\(\\+[0-9]+\\)?>" | 1979 | "<\\(\\(\\sw\\|[_.]\\)+\\)\\(\\+[0-9]+\\)?>" |
| 1981 | el t) | 1980 | el t) |
| 1981 | (add-text-properties | ||
| 1982 | (match-beginning 1) (match-end 1) | ||
| 1983 | '(face font-lock-function-name-face)) | ||
| 1984 | (end-of-line) | ||
| 1985 | (re-search-backward "\\s-\\(\\S-*\\)" | ||
| 1986 | bl t) | ||
| 1982 | (add-text-properties | 1987 | (add-text-properties |
| 1983 | (match-beginning 1) (match-end 1) | 1988 | (match-beginning 1) (match-end 1) |
| 1984 | '(face font-lock-function-name-face)) | 1989 | '(face font-lock-variable-name-face))))))) |
| 1985 | (end-of-line) | 1990 | (end-of-line)))))) |
| 1986 | (re-search-backward "\\s-\\(\\S-*\\)" | ||
| 1987 | bl t) | ||
| 1988 | (add-text-properties | ||
| 1989 | (match-beginning 1) (match-end 1) | ||
| 1990 | '(face font-lock-variable-name-face))))))) | ||
| 1991 | (end-of-line)))))) | ||
| 1992 | (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom)) | 1991 | (if (gdb-get-buffer 'gdb-assembler-buffer) (gdb-assembler-custom)) |
| 1993 | 1992 | ||
| 1994 | ;; Breakpoints buffer is always present. Hack to just update | 1993 | ;; Breakpoints buffer is always present. Hack to just update |
| @@ -2201,7 +2200,7 @@ corresponding to the mode line clicked." | |||
| 2201 | (if event (posn-set-point (event-end event))) | 2200 | (if event (posn-set-point (event-end event))) |
| 2202 | (save-excursion | 2201 | (save-excursion |
| 2203 | (beginning-of-line 1) | 2202 | (beginning-of-line 1) |
| 2204 | (if (looking-at "\\([0-9]+\\.?[0-9]*\\) .+ in .+ at\\s-+\\(\\S-+\\):\\([0-9]+\\)") | 2203 | (if (looking-at "\\([0-9]+\\.?[0-9]*\\) .*\\s-+\\(\\S-+\\):\\([0-9]+\\)$") |
| 2205 | (let ((bptno (match-string 1)) | 2204 | (let ((bptno (match-string 1)) |
| 2206 | (file (match-string 2)) | 2205 | (file (match-string 2)) |
| 2207 | (line (match-string 3))) | 2206 | (line (match-string 3))) |
| @@ -2218,7 +2217,7 @@ corresponding to the mode line clicked." | |||
| 2218 | (error "No location specified.")))) | 2217 | (error "No location specified.")))) |
| 2219 | 2218 | ||
| 2220 | 2219 | ||
| 2221 | ;; Frames buffer. This displays a perpetually correct bactracktrace | 2220 | ;; Frames buffer. This displays a perpetually correct backtrace |
| 2222 | ;; (from the command `where'). | 2221 | ;; (from the command `where'). |
| 2223 | ;; | 2222 | ;; |
| 2224 | ;; Alas, if your stack is deep, it is costly. | 2223 | ;; Alas, if your stack is deep, it is costly. |
| @@ -3475,7 +3474,7 @@ BUFFER nil or omitted means use the current buffer." | |||
| 3475 | (with-current-buffer buffer | 3474 | (with-current-buffer buffer |
| 3476 | (save-excursion | 3475 | (save-excursion |
| 3477 | (goto-char (point-min)) | 3476 | (goto-char (point-min)) |
| 3478 | (if (search-forward address nil t) | 3477 | (if (re-search-forward (concat "^0x0*" address) nil t) |
| 3479 | (gdb-put-breakpoint-icon (eq flag ?y) bptno))))))) | 3478 | (gdb-put-breakpoint-icon (eq flag ?y) bptno))))))) |
| 3480 | (if (not (equal gdb-pc-address "main")) | 3479 | (if (not (equal gdb-pc-address "main")) |
| 3481 | (with-current-buffer buffer | 3480 | (with-current-buffer buffer |