# HG changeset patch # User Nick Roberts # Date 1128947165 0 # Node ID ae4953c24452e5607c3809d6df9b8e8097642dfd # Parent 8bd4c2112a500934497637fbbd3dbef3f4ffba6b (gdba): Improve diagram. (def-gdb-auto-update-handler, gdb-info-locals-handler) (gdb-put-breakpoint-icon, gdb-remove-breakpoint-icons): Call get-buffer-window once. diff -r 8bd4c2112a50 -r ae4953c24452 lisp/progmodes/gdb-ui.el --- a/lisp/progmodes/gdb-ui.el Mon Oct 10 12:25:04 2005 +0000 +++ b/lisp/progmodes/gdb-ui.el Mon Oct 10 12:26:05 2005 +0000 @@ -173,28 +173,28 @@ detailed description of this mode. ---------------------------------------------------------------------- - GDB Toolbar ---------------------------------------------------------------------- - GUD buffer (I/O of GDB) | Locals buffer - | - | - | ---------------------------------------------------------------------- - Source buffer | Input/Output (of inferior) buffer - | (comint-mode) - | - | - | - | - | - | ---------------------------------------------------------------------- - Stack buffer | Breakpoints buffer - RET gdb-frames-select | SPC gdb-toggle-breakpoint - | RET gdb-goto-breakpoint - | d gdb-delete-breakpoint ----------------------------------------------------------------------" ++--------------------------------------------------------------+ +| GDB Toolbar | ++-------------------------------+------------------------------+ +| GUD buffer (I/O of GDB) | Locals buffer | +| | | +| | | +| | | ++-------------------------------+------------------------------+ +| Source buffer | I/O buffer (of inferior) | +| | (comint-mode) | +| | | +| | | +| | | +| | | +| | | +| | | ++-------------------------------+------------------------------+ +| Stack buffer | Breakpoints buffer | +| RET gdb-frames-select | SPC gdb-toggle-breakpoint | +| | RET gdb-goto-breakpoint | +| | d gdb-delete-breakpoint | ++-------------------------------+------------------------------+" ;; (interactive (list (gud-query-cmdline 'gdba))) ;; @@ -1192,12 +1192,13 @@ (let ((buf (gdb-get-buffer ',buf-key))) (and buf (with-current-buffer buf - (let ((p (window-point (get-buffer-window buf 0))) + (let* ((window (get-buffer-window buf 0)) + (p (window-point window)) (buffer-read-only nil)) (erase-buffer) (insert-buffer-substring (gdb-get-create-buffer 'gdb-partial-output-buffer)) - (set-window-point (get-buffer-window buf 0) p))))) + (set-window-point window p))))) ;; put customisation here (,custom-defun))) @@ -2125,13 +2126,15 @@ (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 (window-point (get-buffer-window buf 0))) + (and buf + (with-current-buffer buf + (let* ((window (get-buffer-window buf 0)) + (p (window-point window)) (buffer-read-only nil)) (erase-buffer) (insert-buffer-substring (gdb-get-create-buffer 'gdb-partial-output-buffer)) - (set-window-point (get-buffer-window buf 0) p))))) + (set-window-point window p))))) (run-hooks 'gdb-info-locals-hook)) (defun gdb-info-locals-custom () @@ -2528,10 +2531,10 @@ (when (< left-margin-width 2) (save-current-buffer (setq left-margin-width 2) - (if (get-buffer-window (current-buffer) 0) + (let ((window (get-buffer-window (current-buffer) 0))) + (if window (set-window-margins - (get-buffer-window (current-buffer) 0) - left-margin-width right-margin-width)))) + window left-margin-width right-margin-width))))) (gdb-put-string (propertize putstring 'face (if enabled 'breakpoint-enabled 'breakpoint-disabled)) @@ -2543,10 +2546,10 @@ (remove-images start end)) (when remove-margin (setq left-margin-width 0) - (if (get-buffer-window (current-buffer) 0) - (set-window-margins - (get-buffer-window (current-buffer) 0) - left-margin-width right-margin-width)))) + (let ((window (get-buffer-window (current-buffer) 0))) + (if window + (set-window-margins + window left-margin-width right-margin-width))))) ;;