From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19723 invoked by alias); 20 May 2014 16:36:44 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 19713 invoked by uid 89); 20 May 2014 16:36:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.2 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 20 May 2014 16:36:43 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s4KGafW3018158 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 20 May 2014 12:36:42 -0400 Received: from barimba (ovpn-113-182.phx2.redhat.com [10.3.113.182]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s4KGafbp003605 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NO); Tue, 20 May 2014 12:36:41 -0400 From: Tom Tromey To: Daniel Gutson Cc: gdb-patches Subject: Re: [PATCH] Add autocompletion for convenience vars in print and set References: Date: Tue, 20 May 2014 16:36:00 -0000 In-Reply-To: (Daniel Gutson's message of "Tue, 20 May 2014 12:51:46 -0300") Message-ID: <87tx8ks8yv.fsf@fleche.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2014-05/txt/msg00434.txt.bz2 >>>>> "Daniel" == Daniel Gutson writes: Daniel> I could not find any testsuite where to add tests for this; if Daniel> there are, please let me know. See testsuite/gdb.base/completion.exp Daniel> exp : VARIABLE Daniel> { Daniel> - write_dollar_variable (pstate, $1); Daniel> + if (!parse_completion) Daniel> + write_dollar_variable (pstate, $1); Daniel> } I think this isn't correct. I think it won't work if you try to complete on a field name where the "LHS" has a convenience variable. That is something like: set $var = (struct x *) malloc (...) complete print $var.somethin Instead I think you need a new production, like "exp : VARIABLE COMPLETE". Daniel> + if (p != NULL && *p == '$') Daniel> + return complete_internalvar (p + 1); I'm not sure this is correct either, but offhand I don't know. Should it not look at "word"? Daniel> + VEC (char_ptr) * ret = current_language->la_make_symbol_completion_list ( Daniel> + text, word, Daniel> + TYPE_CODE_UNDEF); No space before "ret". The line breaks look odd, I would break before the "=" and not after the "(". thanks, Tom