From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1H55cl-0002BV-JJ for qemu-devel@nongnu.org; Thu, 11 Jan 2007 14:30:07 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1H55cj-0002Ac-C5 for qemu-devel@nongnu.org; Thu, 11 Jan 2007 14:30:07 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1H55ci-0002AP-V2 for qemu-devel@nongnu.org; Thu, 11 Jan 2007 14:30:04 -0500 Received: from [212.227.126.188] (helo=moutng.kundenserver.de) by monty-python.gnu.org with esmtp (Exim 4.52) id 1H55ci-0000GR-47 for qemu-devel@nongnu.org; Thu, 11 Jan 2007 14:30:04 -0500 Received: from localhost ([127.0.0.1] ident=stefan) by localhost.localdomain with esmtp (Exim 4.63) (envelope-from ) id 1H55cd-0001SZ-NU for qemu-devel@nongnu.org; Thu, 11 Jan 2007 20:29:59 +0100 Message-ID: <45A69037.9070000@weilnetz.de> Date: Thu, 11 Jan 2007 20:29:59 +0100 From: Stefan Weil MIME-Version: 1.0 Subject: [Qemu-devel][PATCH] qemu console.c - improved ANSI escape sequences References: In-Reply-To: Content-Type: multipart/mixed; boundary="------------070007020205090600040204" Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org This is a multi-part message in MIME format. --------------070007020205090600040204 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Hi, here is a patch which improves the handling of escape sequences for text consoles. This fix is needed for programs like top, vi, clear and reset running in QEMU's serial console, but also for readline line editing (eg. in bash). While many users of Windows or Linux on i386 never use the serial console (and so don't need this patch), it is vital for embedded devices (QEMU AR7 emulation) or the new MIPS Malta emulation. So please apply it to CVS HEAD. See http://en.wikipedia.org/wiki/ANSI_escape_code for more information on the new and enhanced ANSI escape sequences. Still missing: report cursor position (how can I add characters to the console input queue?). Open question: bash sets LINES=24, but the console has 25 lines. Kind regards Stefan Weil Appendix: console-patch.tar.bz2 with patch and test script (Linux, cygwin with bash) --------------070007020205090600040204 Content-Type: application/octet-stream; name="console-patch.tar.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="console-patch.tar.bz2" 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 --------------070007020205090600040204--