From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26753 invoked by alias); 26 Jun 2007 22:47:30 -0000 Received: (qmail 26745 invoked by uid 22791); 26 Jun 2007 22:47:30 -0000 X-Spam-Check-By: sourceware.org Received: from viper.snap.net.nz (HELO viper.snap.net.nz) (202.37.101.8) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 26 Jun 2007 22:47:27 +0000 Received: from kahikatea.snap.net.nz (249.63.255.123.dynamic.snap.net.nz [123.255.63.249]) by viper.snap.net.nz (Postfix) with ESMTP id 668643D902A for ; Wed, 27 Jun 2007 10:47:25 +1200 (NZST) Received: by kahikatea.snap.net.nz (Postfix, from userid 1000) id 029F08FBF6; Wed, 27 Jun 2007 10:47:15 +1200 (NZST) From: Nick Roberts MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <18049.38770.289829.412279@kahikatea.snap.net.nz> Date: Tue, 26 Jun 2007 22:47:00 -0000 To: gdb@sourceware.org Subject: [MI] frozen variable objects (bug) X-Mailer: VM 7.19 under Emacs 22.1.50.7 X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-06/txt/msg00320.txt.bz2 In principle, if a variable object is frozen, print_varobj prints it's state out with: if (varobj_get_frozen (var)) ui_out_field_int (uiout, "frozen", 1); In practice this never happens because print_varobj is called a) from -var-create, in which case the object can only be frozen _after_ it is created. b) from -var-list-children, but the frozen flag is not set for children, only for the variable object that was explicitly chosen (although varobj_update _does_ behave as expected for frozen children). I guess the front end should keep track of which objects are frozen but it's an attribute that should/could be added to the MI command -var-show-attributes. Aside: I still don't understand the need for frozen objects. In Emacs, if I want to disable automatic update of a complex data type, I just click on the parent to contract the display, which invokes "-var-delete -c" to delete the children. If later I want to look at their values, clicking on the parent regenerates the children. -- Nick http://www.inet.net.nz/~nickrob