From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20357 invoked by alias); 30 Aug 2011 20:33:56 -0000 Received: (qmail 20348 invoked by uid 22791); 30 Aug 2011 20:33:55 -0000 X-SWARE-Spam-Status: No, hits=-6.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 30 Aug 2011 20:33:36 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p7UKXQoR005677 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 30 Aug 2011 16:33:26 -0400 Received: from localhost.localdomain (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p7UKXORB017639; Tue, 30 Aug 2011 16:33:24 -0400 From: Phil Muldoon To: Pedro Alves Cc: gdb-patches@sourceware.org, Tom Tromey Subject: Re: [patch] [python] Prompt substitution References: <201108302118.18505.pedro@codesourcery.com> Reply-to: pmuldoon@redhat.com X-URL: http://www.redhat.com Date: Tue, 30 Aug 2011 20:33:00 -0000 In-Reply-To: <201108302118.18505.pedro@codesourcery.com> (Pedro Alves's message of "Tue, 30 Aug 2011 21:18:18 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes 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 X-SW-Source: 2011-08/txt/msg00635.txt.bz2 Pedro Alves writes: > On Wednesday 20 July 2011 12:33:24, Phil Muldoon wrote: >> +gdb_test_multiple "set prompt blah " "set blah in GDB" { >> + -re "\[\r\n\]$newprompt2 $" { >> + pass "set prompt blah overriden" >> + } >> +} >> + >> +gdb_test_multiple "python gdb.prompt_hook = None" "Delete hook" { >> + -re "\[\r\n\]$newprompt2 $" { >> + pass "Delete old hook" >> + } >> +} > > Hmm: > > ... > PASS: gdb.python/python.exp: show prompt shows guarded prompt > set prompt blah > py prompt 2 PASS: gdb.python/python.exp: set prompt blah overriden > python gdb.prompt_hook = None > py prompt 2 PASS: gdb.python/python.exp: Delete old hook > > I think this last PASS is actually a bug. We've disabled the python > hook, so we should get the "set prompt" prompt back ("blah") > instead of still seeing the python prompt. Agree? > > (My WIP no-prompt-stack patch turned that into a FAIL, > but it looks like it's a bug fix, not a regression.) I think in the case, display_gdb_prompt is just displaying what GDB knows to be the prompt. If you delete the hook, whatever was the prompt when the prompt was set will remain the prompt. So the hook set the prompt whenever in time, and when you delete the hook, it won't restore what the old prompt was. So if you disable the prompt, then set prompt foo, then you will get "foo" now until you change it again manually. In the case of "guarded prompt" (IE >) it won't attempt to alter that display at all. Cheers, Phil