From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 117722 invoked by alias); 26 May 2016 16:03:46 -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 117709 invoked by uid 89); 26 May 2016 16:03:45 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:2540, positioning 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 (AES256-GCM-SHA384 encrypted) ESMTPS; Thu, 26 May 2016 16:03:35 +0000 Received: from int-mx13.intmail.prod.int.phx2.redhat.com (int-mx13.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 78C028E36D; Thu, 26 May 2016 16:03:34 +0000 (UTC) Received: from [127.0.0.1] (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx13.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id u4QG3XLT026424; Thu, 26 May 2016 12:03:33 -0400 Subject: Re: [PATCH v2 24/25] Add new command to create extra console/mi UI channels To: Eli Zaretskii References: <1458573675-15478-1-git-send-email-palves@redhat.com> <1458573675-15478-25-git-send-email-palves@redhat.com> <83twjz6bex.fsf@gnu.org> <56F02689.2050503@redhat.com> <83r3f369io.fsf@gnu.org> <56F035F3.6060702@redhat.com> <3f622c77-762a-c86e-cafb-60f75a598d6c@redhat.com> <838tyw3jqw.fsf@gnu.org> Cc: gdb-patches@sourceware.org From: Pedro Alves Message-ID: <717c7233-fed2-d8bf-699e-721ff5319cdd@redhat.com> Date: Thu, 26 May 2016 16:03:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0 MIME-Version: 1.0 In-Reply-To: <838tyw3jqw.fsf@gnu.org> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-SW-Source: 2016-05/txt/msg00456.txt.bz2 On 05/26/2016 04:46 PM, Eli Zaretskii wrote: >> Cc: gdb-patches@sourceware.org >> From: Pedro Alves >> Date: Thu, 26 May 2016 12:43:01 +0100 >> >> I've been thinking a bit on how to make this all work on Windows, >> with Eclipse, and my current thinking is that instead of some hack to >> embed a native console window inside the GUI, better would be to reuse >> the same Eclipse terminal emulator widget, and coax gdb >> to send the right terminal escape sequences for cursor movement >> and character placement as a Unix gdb would. > > Sorry, I know nothing about this "Eclipse terminal emulator widget". Just think of it as a terminal emulator, like xterm or any other. > > In any case, this is Eclipse-specific, right? Other frontends will probably follow the same approach. >> The problems will probably be around isatty checks in >> readline and ncurses, as you suggested. >> >> There may also be #ifdef WIN32 bits in those libraries that >> are #ifdef-ing out code that we'll need, assuming terminal == console, >> though I haven't really checked. > > Right. > >> The isatty problem looks very much like the problem a native Windows/mingw >> program has when run on a Cygwin terminal (and MSYS/MSYS2, which are >> Cygwin forks), since Cygwin emulates pseudo terminals via named pipes. >> See, e.g.,: >> >> http://www.spinics.net/lists/git/msg274348.html > > Cygwin also owns the libc it uses, so it's easy to work around the > related problems. MinGW cannot do that easily. I think you misunderstand. That patch is against a native mingw program (git mingw port). The patch is a clever hack that makes msvcrt's "isatty" return true when input/output is connected to a named pipe that has a name that is recognized as being a MSYS pty. > >> BTW, while investigating this, I found that since some recent >> update to Windows 10, Windows consoles now supports ansi/vt100 >> escape sequences, finally: >> >> http://www.nivot.org/blog/post/2016/02/04/Windows-10-TH2-%28v1511%29-Console-Host-Enhancements >> >> This further reinforces to me the idea of using ansi escapes on >> Windows Eclipse/gdb too. > > Not sure how that is related, since the emulator is not a console for > the program that runs on it. I mean that going forward, with that, it won't sound so strange for native Windows console applications to output ansi escape sequences instead of using the console APIs to control cursor positioning, etc. Thanks, Pedro Alves