From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Nick Roberts Newsgroups: gmane.emacs.devel Subject: Re: Window/buffer management in gdb-ui Date: Thu, 25 Nov 2004 15:14:46 +1300 Message-ID: <16805.16406.567084.398496@farnswood.snap.net.nz> References: NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1101350382 10783 80.91.229.6 (25 Nov 2004 02:39:42 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 25 Nov 2004 02:39:42 +0000 (UTC) Cc: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Nov 25 03:39:36 2004 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1CX9Xj-0003wr-00 for ; Thu, 25 Nov 2004 03:39:36 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CX9gu-0000eZ-DG for ged-emacs-devel@m.gmane.org; Wed, 24 Nov 2004 21:49:04 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1CX9ge-0000di-FG for emacs-devel@gnu.org; Wed, 24 Nov 2004 21:48:48 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1CX9gd-0000d3-6h for emacs-devel@gnu.org; Wed, 24 Nov 2004 21:48:47 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CX9gc-0000cm-Rr for emacs-devel@gnu.org; Wed, 24 Nov 2004 21:48:46 -0500 Original-Received: from [199.232.41.8] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtp (TLSv1:DES-CBC3-SHA:168) (Exim 4.34) id 1CX9XH-0004SQ-QZ for emacs-devel@gnu.org; Wed, 24 Nov 2004 21:39:07 -0500 Original-Received: from [202.124.110.149] (helo=farnswood.snap.net.nz) by mx20.gnu.org with esmtp (Exim 4.34) id 1CX9VH-0004U7-AO for emacs-devel@gnu.org; Wed, 24 Nov 2004 21:37:04 -0500 Original-Received: by farnswood.snap.net.nz (Postfix, from userid 501) id 4ABF5627EE; Thu, 25 Nov 2004 02:14:47 +0000 (GMT) Original-To: Stefan Monnier In-Reply-To: X-Mailer: VM 6.97 under Emacs 21.2.1 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:30337 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:30337 > But now that I look at the code a bit more closely, I think I see where I'm > suffering the most: it's in gdb-display-buffer. Could you explain to me why > `display-buffer' is not doing what you want? gdb-display-buffer was part of gdba.el. It did extra things like not replace the window with the GUD buffer with new content. Perhaps display-buffer could be used but now I make new gdb-related windows dedicated here > Also, would it be possible to introduce a variable to prevent displaying the > ASM code (when debugging C code, I prefer not to see anything than to be > shown a piece of assembly when I'm in the middle of some libc-internal > routine)? Yes, I have thought that too. I'll put it on my TODO list. > Here is also a patch that might give a flavor of the direction I'd like to > go w.r.t buffer/window management. Please commit the parts which seem to > work in your setup. They help mine. It doesn't seem to interfere with the setups that I'm thinking of, so I've installed these changes. I don't really know what the change below does but gdb-frame-breakpoints-buffer is one of a family of commands accessible from the menubar (GUD->GDB Frames->...) so should these be changed also? > @@ -1199,9 +1199,8 @@ > (defun gdb-frame-breakpoints-buffer () > "Display status of user-settable breakpoints in a new frame." > (interactive) > - (select-frame (make-frame gdb-frame-parameters)) > - (switch-to-buffer (gdb-get-create-buffer 'gdb-breakpoints-buffer)) > - (set-window-dedicated-p (selected-window) t)) > + (let ((special-display-regexps (append special-display-regexps '(".*")))) > + (pop-to-buffer (gdb-get-create-buffer 'gdb-breakpoints-buffer)))) > > (defvar gdb-breakpoints-mode-map > (let ((map (make-sparse-keymap)) Nick