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: Emacs mode for GDB Date: Tue, 21 May 2002 13:32:31 +0100 Sender: emacs-devel-admin@gnu.org Message-ID: <15594.15967.58479.315156@nick.uklinux.net> References: <15593.31861.28483.21373@nick.uklinux.net> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: main.gmane.org 1021984386 11965 127.0.0.1 (21 May 2002 12:33:06 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Tue, 21 May 2002 12:33:06 +0000 (UTC) Cc: emacs-devel@gnu.org Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17A8p8-00036s-00 for ; Tue, 21 May 2002 14:33:06 +0200 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17A93Y-0004jN-00 for ; Tue, 21 May 2002 14:48:00 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.34 #1 (Debian)) id 17A8pL-0004zz-00; Tue, 21 May 2002 08:33:19 -0400 Original-Received: from dial-212-1-156-125.access.uk.tiscali.com ([212.1.156.125] helo=nick.uklinux.net) by fencepost.gnu.org with smtp (Exim 3.34 #1 (Debian)) id 17A8ns-0004vp-00; Tue, 21 May 2002 08:31:49 -0400 Original-Received: by nick.uklinux.net (Postfix, from userid 501) id C299C76035; Tue, 21 May 2002 13:32:31 +0100 (BST) Original-To: Miles Bader In-Reply-To: X-Mailer: VM 6.97 under Emacs 21.1.1 Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.9 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:4238 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:4238 Miles Bader writes: > > (1) I get the following error regularly: > > error in process filter: gdb-output-burst: Symbol's function definition > is void: gdb-display-end > error in process filter: Symbol's function definition is void: > gdb-display-end > > Indeed there seems to be no such function `gdb-display-end'. Thats right there is currently no gdb-display-end (or gdb-display-begin). Examining data (array slices, diving into structures) is on of the things that I want to do next. Currently if you comment out the two items : ("display-begin" gdb-display-begin) ("display-end" gdb-display-end) in the variable gdb-annotation-rules the error above should go away and any variables or expressions that you display should just appear in the GUD buffer (or possibly the Input/Output buffer!). > (2) Completion doesn't work on the gdb command line like it does in > the standard gdb-mode. Hmm. No, gdba.el doesn't seem to have it either. I must have lost it in the merge. I'll try to put it back. > (3) The file `gdb.el' is apparently constructed in large parts from the > existing `gud.el', with much of the functionality of gud removed (in > particular, support for non-gdb debuggers). Is that necessary? Its just a starting point to help me get something working. At the beginning I wasn't very familiar with gud.el as lisp code and I hadn't even heard of gdba.el > If emacs were to use your gdb.el unchanged, it would result in a > huge amount of duplicated code between gdb.el and gud.el; it would > be nicer to either continue to use gud.el, with new features added, > or otherwise avoid code duplication. I guess it could either be folded back into gud.el or gdb.el could have the line `(require 'gud)' in it and the autoloading of the main lisp function gdb could be suppressed in gud.el. There may be some conflicts in namespace which could possibly be resolved by changing the prefix gud- to gdb- for some functions and variables. > (4) With all the windows displayed, it requires a lot of space. It > would be nice to have some way of specifying which windows get > used -- for instance, the breakpoint window can be displayed only > if there are breakpoints, and when tested it, I didn't need the > backtrace, or I/O windows either, so I'd like to be able to disable > them. There is a variable called gdb-many-windows which if set to nil will suppress the display of the ancillary buffers. However, you need the breakpoints buffer for proper display of the breakpoint icons as they are updated by the relevant annotation from gdb. Incidentally, the toolbar could be inserted directly in gud.el (I think) without much alteration. > (5) You should keep the historical author information in the file header > comment. The code is in a state of turmoil at the moment. Some author information for gud.el is included a short way down. However, it doesn't say in gdba.el who the authors were. When the code is complete, I will try to deal with this matter properly.