From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 111291 invoked by alias); 23 Jan 2020 17:15:20 -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 111253 invoked by uid 89); 23 Jan 2020 17:15:17 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 spammy=quit X-HELO: us-smtp-1.mimecast.com Received: from us-smtp-2.mimecast.com (HELO us-smtp-1.mimecast.com) (205.139.110.61) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 23 Jan 2020 17:15:15 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1579799710; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=/7SWUPAwgjbQJgn0xVp7Bn4fbtQcpe6tBjhHgHyUHkw=; b=M/YMRlGFve0f/lvy9x2zptcHOrfubEUrWEuJGitWeWGOgJgxkFfNUKPeH7Pr2zH3sA8CkO jsmLGSQth9HZLmeZ4ljQpigUIVOzAg09ypjN0Yye4RhfxN+Iepeg5zNy8v6LLSL35cZybm ZJmqGhFvKsPa/diF7afsJ5llhtEpsKs= Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-436-9VGy4J4lO-WeaDDckswsPQ-1; Thu, 23 Jan 2020 12:10:13 -0500 Received: by mail-wm1-f72.google.com with SMTP id y24so1396177wmj.8 for ; Thu, 23 Jan 2020 09:10:13 -0800 (PST) Return-Path: Received: from ?IPv6:2001:8a0:f909:7b00:56ee:75ff:fe8d:232b? ([2001:8a0:f909:7b00:56ee:75ff:fe8d:232b]) by smtp.gmail.com with ESMTPSA id p7sm3301449wmp.31.2020.01.23.09.10.10 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 23 Jan 2020 09:10:11 -0800 (PST) Subject: Re: Discrepancy between Python and Guile wrt exiting the interpreter To: Eli Zaretskii , gdb-patches@sourceware.org References: <83a76l10r6.fsf@gnu.org> From: Pedro Alves Message-ID: <9684975c-324f-b26b-de87-6d37c0d8d08a@redhat.com> Date: Thu, 23 Jan 2020 17:21:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 In-Reply-To: <83a76l10r6.fsf@gnu.org> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2020-01/txt/msg00736.txt.bz2 On 1/18/20 11:07 AM, Eli Zaretskii wrote: > If you invoke the Guile interpreter from GDB: > > (gdb) gr > > then typing ,q followed by Enter exits the Guile interpreter back to > GDB. However, if the Python interpreter is started: > > (gdb) pi > > then typing quit() and Enter exits GDB, not just the Python > interpreter. Why do these two interpreters behave differently in this > context? Is there some other Python command to exit the interpreter? > (I know about Ctrl-D, but I'm asking about commands.) > Note that these commands are not direct equivalents. The guile equivalent to "pi" which is short for "python" would be "guile", or "gu", and with that command you get the same behavior as "pi", in the sense that ",q" doesn't bail you out, you have to type some command and finish with either Ctrl-D or Ctrl-C to abort. "gr" is an alias for "guile-repl", and with that command, it's the Guile repl that implements the ",q", not GDB. With the "python" and "guile" commands, it's GDB that implements the secondary prompt handling and command line reading (the ">", etc.). Compare guile_repl_command and guile_command. I think that calling quit() in the Python interpreter ends up being the the equivalent of doing: (gdb) guile > (primitive-exit) Ctrl-D Thanks, Pedro Alves