# HG changeset patch # User Nick Roberts # Date 1116765444 0 # Node ID dd9b63b29d802f55e4cf97063e1f6f9d67071166 # Parent d2953bb80941bcd3697ae8255c0781a6b7c132db (gdb-info-locals-handler): Make regexps more general and work when GDB variable "print pretty" is on, as with Emacs, for example. diff -r d2953bb80941 -r dd9b63b29d80 lisp/progmodes/gdb-ui.el --- a/lisp/progmodes/gdb-ui.el Sun May 22 12:36:27 2005 +0000 +++ b/lisp/progmodes/gdb-ui.el Sun May 22 12:37:24 2005 +0000 @@ -1303,7 +1303,8 @@ (looking-at "\\(\\S-+\\):\\([0-9]+\\)") (let ((line (match-string 2)) (buffer-read-only nil) (file (match-string 1))) - (add-text-properties (point-at-bol) (point-at-eol) + (add-text-properties (line-beginning-position) + (line-end-position) '(mouse-face highlight help-echo "mouse-2, RET: visit breakpoint")) (unless (file-exists-p file) @@ -1504,13 +1505,13 @@ (let ((buffer-read-only nil)) (goto-char (point-min)) (while (< (point) (point-max)) - (add-text-properties (point-at-bol) (point-at-eol) + (add-text-properties (line-beginning-position) (line-end-position) '(mouse-face highlight help-echo "mouse-2, RET: Select frame")) (beginning-of-line) (when (and (looking-at "^#\\([0-9]+\\)") (equal (match-string 1) gdb-current-stack-level)) - (put-text-property (point-at-bol) (point-at-eol) + (put-text-property (line-beginning-position) (line-end-position) 'face '(:inverse-video t))) (forward-line 1)))))) @@ -1588,7 +1589,7 @@ (let ((buffer-read-only nil)) (goto-char (point-min)) (while (< (point) (point-max)) - (add-text-properties (point-at-bol) (point-at-eol) + (add-text-properties (line-beginning-position) (line-end-position) '(mouse-face highlight help-echo "mouse-2, RET: select thread")) (forward-line 1))))) @@ -1974,14 +1975,14 @@ (let ((buf (gdb-get-buffer 'gdb-partial-output-buffer))) (with-current-buffer buf (goto-char (point-min)) - (while (re-search-forward "^ .*\n" nil t) + (while (re-search-forward "^[ }].*\n" nil t) (replace-match "" nil nil)) (goto-char (point-min)) - (while (re-search-forward "{[-0-9, {}\]*\n" nil t) - (replace-match "(array);\n" nil nil)) + (while (re-search-forward "{\\(.*=.*\n\\|\n\\)" nil t) + (replace-match "(structure);\n" nil nil)) (goto-char (point-min)) - (while (re-search-forward "{.*=.*\n" nil t) - (replace-match "(structure);\n" nil nil)))) + (while (re-search-forward "\\s-*{.*\n" nil t) + (replace-match " (array);\n" nil nil)))) (let ((buf (gdb-get-buffer 'gdb-locals-buffer))) (and buf (with-current-buffer buf (let ((p (point)) @@ -2316,8 +2317,8 @@ (delete-overlay overlay)))) (defun gdb-put-breakpoint-icon (enabled bptno) - (let ((start (progn (beginning-of-line) (- (point) 1))) - (end (progn (end-of-line) (+ (point) 1))) + (let ((start (- (line-beginning-position) 1)) + (end (+ (line-end-position) 1)) (putstring (if enabled "B" "b"))) (add-text-properties 0 1 '(help-echo "mouse-1: set/clear bkpt, mouse-3: enable/disable bkpt")