changeset 65973:ae4953c24452

(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.
author Nick Roberts <nickrob@snap.net.nz>
date Mon, 10 Oct 2005 12:26:05 +0000
parents 8bd4c2112a50
children ef546abd2887
files lisp/progmodes/gdb-ui.el
diffstat 1 files changed, 37 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- 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)))))
 
 
 ;;