From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19210 invoked by alias); 31 Jan 2011 03:14:22 -0000 Received: (qmail 19201 invoked by uid 22791); 31 Jan 2011 03:14:21 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Mon, 31 Jan 2011 03:14:16 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id A5E582BABEB; Sun, 30 Jan 2011 22:14:14 -0500 (EST) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id Q-MFn2buC3z8; Sun, 30 Jan 2011 22:14:14 -0500 (EST) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 1DD742BABE9; Sun, 30 Jan 2011 22:14:13 -0500 (EST) Received: by joel.gnat.com (Postfix, from userid 1000) id ADED61459BF; Mon, 31 Jan 2011 07:14:08 +0400 (RET) Date: Mon, 31 Jan 2011 03:15:00 -0000 From: Joel Brobecker To: Pierre Muller Cc: gdb-patches@sourceware.org Subject: Re: [RFA/commit/doco] move handing of "set interactive-mode" to gdb_has_a_terminal Message-ID: <20110131031408.GD2384@adacore.com> References: <1295394141-14863-1-git-send-email-brobecker@adacore.com> <20110121185746.GD2440@adacore.com> <000001cbbd47$1d831a50$58894ef0$@muller@ics-cnrs.unistra.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="IS0zKkzwUGydFO0o" Content-Disposition: inline In-Reply-To: <000001cbbd47$1d831a50$58894ef0$@muller@ics-cnrs.unistra.fr> User-Agent: Mutt/1.5.20 (2009-06-14) 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-01/txt/msg00575.txt.bz2 --IS0zKkzwUGydFO0o Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-length: 399 > I suppose that the correct code should be: > + if (interactive_mode != AUTO_BOOLEAN_AUTO) > + return (interactive_mode == AUTO_BOOLEAN_TRUE); This is absolutely correct - horrible typo. I just checked in the following patch to correct the problem, together with added tests that demonstrate the effect of this bug. In the future, don't hesitate to fix the problem yourself too. -- Joel --IS0zKkzwUGydFO0o Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="interact.diff" Content-length: 3835 commit 9610bd83ed7d0c5bfd28fbc46c4f8828ab10c473 Author: Joel Brobecker Date: Mon Jan 31 06:28:48 2011 +0400 fix typo during interactive_mode check in gdb_has_a_terminal Discovered by Pierre Muller. gdb/ChangeLog: * inflow.c (gdb_has_a_terminal): Fix typo in interactive_mode value test. gdb/testsuite/ChangeLog: * gdb.base/interact.exp: Add extra tests that verify that the value of the interactive-mode setting does not change after the script is sourced. diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 373ccfc..9c18a83 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2011-01-31 Joel Brobecker + + * inflow.c (gdb_has_a_terminal): Fix typo in interactive_mode + value test. + 2011-01-31 Yao Qi * arm-linux-nat.c: Update calls to regcache_register_status diff --git a/gdb/inflow.c b/gdb/inflow.c index 859c74e..9975904 100644 --- a/gdb/inflow.c +++ b/gdb/inflow.c @@ -165,7 +165,7 @@ int gdb_has_a_terminal (void) { if (interactive_mode != AUTO_BOOLEAN_AUTO) - return interactive_mode = AUTO_BOOLEAN_TRUE; + return interactive_mode == AUTO_BOOLEAN_TRUE; switch (gdb_has_a_terminal_flag) { diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 1b63bff..d05b6e6 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2011-01-31 Joel Brobecker + + * gdb.base/interact.exp: Add extra tests that verify that + the value of the interactive-mode setting does not change + after the script is sourced. + 2011-01-29 Jan Kratochvil * gdb.cp/noparam.exp: New file. diff --git a/gdb/testsuite/gdb.base/interact.exp b/gdb/testsuite/gdb.base/interact.exp index 1f15fd8..59caf1b 100644 --- a/gdb/testsuite/gdb.base/interact.exp +++ b/gdb/testsuite/gdb.base/interact.exp @@ -28,21 +28,36 @@ set script_output "\\$\[0-9\]+ = 1\[\r\n\]+\\$\[0-9\]+ = 2.*" gdb_exit gdb_start -# Test sourcing of the script with interactive mode `auto' +# Test sourcing of the script with interactive mode `auto'. +# Verify that evaluating the script does not cause an unexpected +# change of the interactive-mode setting. gdb_test_no_output "set interactive-mode auto" gdb_test "source zzz-gdbscript" "$script_output" \ "source script with interactive-mode auto" gdb_test "print 3" "= 3" "sanity check with interactive-mode auto" +gdb_test "show interactive-mode" \ + "Debugger's interactive mode is auto \\(currently .*\\)\\." \ + "show interactive-mode (auto)" -# Test sourcing of the script with interactive mode `on' +# Test sourcing of the script with interactive mode `on'. +# Verify that evaluating the script does not cause an unexpected +# change of the interactive-mode setting. gdb_test_no_output "set interactive-mode on" gdb_test "source zzz-gdbscript" "$script_output" \ "source script with interactive-mode on" gdb_test "print 4" "= 4" "sanity check with interactive-mode on" +gdb_test "show interactive-mode" \ + "Debugger's interactive mode is on\\." \ + "show interactive-mode (on)" -# Test sourcing of the script with interactive mode `of' +# Test sourcing of the script with interactive mode `off'. +# Verify that evaluating the script does not cause an unexpected +# change of the interactive-mode setting. gdb_test_no_output "set interactive-mode off" gdb_test "source zzz-gdbscript" "$script_output" \ "source script with interactive-mode off" gdb_test "print 5" "= 5" "sanity check with interactive-mode off" +gdb_test "show interactive-mode" \ + "Debugger's interactive mode is off\\." \ + "show interactive-mode (off)" --IS0zKkzwUGydFO0o--