From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ivan Kanis Newsgroups: gmane.emacs.devel,gmane.emacs.sources Subject: Re: nterm a vt100 emulator Date: Fri, 16 Oct 2009 08:32:44 +0200 Message-ID: <87skdjrgqb.fsf@kanis.fr> References: <87d44osokv.fsf@kanis.fr> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1255676274 31511 80.91.229.12 (16 Oct 2009 06:57:54 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 16 Oct 2009 06:57:54 +0000 (UTC) Cc: Emacs Sources , emacs devel To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Fri Oct 16 08:57:45 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Mygky-0000ZP-N8 for ged-emacs-devel@m.gmane.org; Fri, 16 Oct 2009 08:57:45 +0200 Original-Received: from localhost ([127.0.0.1]:49470 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mygky-0002Cm-3q for ged-emacs-devel@m.gmane.org; Fri, 16 Oct 2009 02:57:44 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MygN1-0005gd-W5 for emacs-devel@gnu.org; Fri, 16 Oct 2009 02:33:00 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MygMz-0005gB-SA for emacs-devel@gnu.org; Fri, 16 Oct 2009 02:32:58 -0400 Original-Received: from [199.232.76.173] (port=59155 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MygMz-0005g0-Mf; Fri, 16 Oct 2009 02:32:57 -0400 Original-Received: from kanis.fr ([75.127.73.245]:3855) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1MygMz-0006kT-1t; Fri, 16 Oct 2009 02:32:57 -0400 Original-Received: from [89.83.137.164] (helo=zen) by kanis.fr with esmtpsa (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.63) (envelope-from ) id 1MygMr-0001Nf-EK; Fri, 16 Oct 2009 02:32:49 -0400 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAAXNSR0IArs4c6QAAAB5QTFRF IBkXUxMTOCwoTC4qcUY8iFxQmmper31txpaJ/v/8aKZ1oAAAAcVJREFUOMt100tu2zAQAFDCXnUZ oAcIqG68LZULVLQBbwuSiffm6AIRRyeotAySJoVu2+FPpJWWC3/4NKOZocSW/yxWfnJ2+Bdwzhj7 8gleWVy7DXC2rkMNr2V/zRbghXIwthf3VbIA9Ffc71vZCSFyCEsBggtNS8ludwvfmhYA0Vn9o4DP zMWxR7+cPWzAYFzwM0ModtdmcDbDS6i/hT7L+RZof5yCXGrYe5jn2YO6BYMjgY+51tCIAqHgBLwR pwLnGuRjAKyBJkuN4yd4U92uCY1vUr2D/c5b8DuxyQwfOHUeaLqDJhnkkuGXbB56h2C1IVBdgncc bBi6feroa9B6jUDojnQPQKupbyXyeeCE1oT7Oqrt+SnfY3mkiyGA/3AmD3H5g32CcBx6hY8pRkwJ 9PpcjRGobUfprFnhAa1vepwcgMOhwG+pdSgKHFU9HAvoAH6XUl7lDUCCq5Qb6GMbVm3Aj++qDYCt wdBc/YHgOFCmS3mjDMRcSE2qY4E3Q3PVIQRQmeodNH4QEbRUFZzW+VotzwX4yTcRTySOML1qjcE5 hTirVqDHkMAP0PjAywp3d18JZtqzvr9zDYD+GaSKtE6Zlr/DLPNFmOcvBAAAAABJRU5ErkJggg== In-Reply-To: (Stefan Monnier's message of "Thu, 15 Oct 2009 16:11:52 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. X-Mailman-Approved-At: Fri, 16 Oct 2009 02:57:38 -0400 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:116178 gmane.emacs.sources:3306 Archived-At: Stefan Monnier wrote: >> This a vt100 emulator for Emacs. It has a lot of rough edges. As it >> stands it passes the first 3 tests of vttest. I have another project >> coming up so I won't be able to work on nterm for a while. > > Could you expand a bit on it? Mostly, how does it compare to term.el > and terminal.el? Hi Stefan, I wrote it because I couldn't fix the cursor bug in term. term and terminal are not meant to be full emulation. term has a pager and line mode which nterm doesn't do. nterm doesn't track current directory like term does. I can't comment on terminal, I haven't used it. Nterm is meant to be a full vt100 compatible terminal emulator. It has the following features: - G0 G1 switching with SI and SO - special graphics characters (used for line drawing) - US and UK character set. - blinking, bright, underline and reverse rendition - scroll up and down including within top and bottom margin - switch terminal background color - switch between 80 and 132 columns screen - tabulation set and reset - all VT100 escape sequences are handled Things that remains to do: - Double width character - Double height character - Sanitize keyboard map - ANSI color - VT52 compatibility mode I think nterm is easier to maintain than term. One look at term's term-emulate-terminal function should convince anyone that term cannot be maintained anymore. Compare with nterm equivalent function nterm-emulate it is only 25 lines long. It has a recording mode (C-c r) so that you can record and replay traces. It has a terminal memory so that area of the terminal can be redrawn for blinking and changing screen background. There is a memory dump mode (C-c m) that allows the programmer to examine the memory. -- Ivan Kanis http://kanis.fr The cause of these complaints lies in WinZip, which turns an all upper-case directory into an all lower case one in a fit of helpfulness -- Ant Documentation