From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from cssun.mathcs.emory.edu ([170.140.150.1]) by hawkwind.utcs.utoronto.ca with SMTP id <24917>; Thu, 28 Jan 1999 11:16:05 -0500 Received: from dilbert.mathcs.emory.edu (dilbert [170.140.150.6]) by cssun.mathcs.emory.edu (8.9.1b+Sun/8.9.1) with ESMTP id GAA23241; Thu, 28 Jan 1999 06:46:05 -0500 (EST) Received: from gold2.gezernet.co.il (gold2.gezernet.co.il [192.115.7.75]) by dilbert.mathcs.emory.edu (8.9.1b+Sun/8.9.1) with SMTP id GAA19439; Thu, 28 Jan 1999 06:45:42 -0500 (EST) Message-Id: <199901281145.GAA19439@dilbert.mathcs.emory.edu> From: Aharon Robbins Date: Thu, 28 Jan 1999 06:33:33 -0500 To: Jim.Robinson@Stanford.Edu Subject: Re: 9term under Linux? Cc: sam-fans@hawkwind.utcs.toronto.edu Me: > > I know this has come up before, but I don't remember the answers... > > Has anyone got patches to 9term 1.6.6 for Linux? I have it built, but > > hold mode isn't working. And with the latest rc as the shell, > > input characters are not echoed. > > > > I'm using Redhat 5.2, if that matters. From: "James A. Robinson" > Yes, I have it working. As I recall, I had to nab a patch off the net. A > quick search gave this: http://cm.bell-labs.com/who/rsc/linux/9term.patch > which I think is what I used. This is for 1.6.3. But it was enough to get me started. After a whopping 5 minutes of testing, rc and hold mode work. Here's a diff against the 1.6.6 sources. I can supply the makefile I used too, if anyone wants it; the main thing is to define _POSIX_SOURCE and LINUX. Now, to try restarting X with 9wm as the window manager... Much thanks! Arnold -------------------------------- *** 9term.c.dist Thu Sep 28 06:16:15 1995 --- 9term.c Thu Jan 28 13:15:36 1999 *************** *** 10,16 **** #include #include ! #ifdef SOLARIS #include #else #include --- 10,16 ---- #include #include ! #if defined SOLARIS || defined LINUX #include #else #include *** 9term.h.dist Tue Nov 28 07:27:04 1995 --- 9term.h Thu Jan 28 13:14:56 1999 *************** *** 30,35 **** --- 30,39 ---- extern int echo; extern int isig; + #if defined(LINUX) + #define setenv p9term_setenv + #endif + extern void specialchars(int); extern int setenv(char *, char *, int); extern void init_display(int *, char **, char**, char*); *************** *** 87,90 **** --- 91,99 ---- #if defined(SOLARIS) #define POSIXPTYS #define REMOTE + #endif + + #if defined(LINUX) + #define POSIXPTYS + #define BSDPTYS #endif *** display.c.dist Thu Oct 5 09:55:54 1995 --- display.c Thu Jan 28 13:10:28 1999 *************** *** 275,280 **** --- 275,287 ---- { int width, height; + static int called=0; + + if (called) { + /*fprintf(stderr, "ereshaped called twice\n");*/ + return; + } + called = 1; if (ninewm) { /* work around textsetrects wierdness */ r = inset(r, -3); *************** *** 286,291 **** --- 293,299 ---- tty_set_size(comm_fd, width, height, Dx(text->r), Dy(text->r)); setborder(); } + called = 0; } /* *** pty.c.dist Tue Nov 28 07:30:45 1995 --- pty.c Thu Jan 28 13:22:07 1999 *************** *** 60,73 **** # define V_FLUSH VFLUSH #endif ! #ifdef linux # define V_START VSTART # define V_STOP VSTOP # define V_SUSP VSUSP # define V_DSUSP VDSUSP # define V_RPRNT VREPRINT # define V_WERAS VWERASE - # define V_FLUSH VFLUSH #endif #ifdef HPUX --- 60,73 ---- # define V_FLUSH VFLUSH #endif ! #ifdef LINUX ! #include # define V_START VSTART # define V_STOP VSTOP # define V_SUSP VSUSP # define V_DSUSP VDSUSP # define V_RPRNT VREPRINT # define V_WERAS VWERASE #endif #ifdef HPUX *************** *** 304,309 **** --- 304,312 ---- ttmode.c_lflag |= ECHO; ttmode.c_oflag &= ~(ONLCR); ttmode.c_oflag |= ONLRET; + #ifdef LINUX + ttmode.c_lflag |= ICANON; + #endif } else { ttmode.c_iflag = BRKINT | IGNPAR | ICRNL | IXON; ttmode.c_oflag = OPOST | ONLRET; -- Aharon (a.k.a. Arnold) Robbins arnold@gnu.org P.O. Box 354 Home Phone: +972 8 979-0381 Nof Ayalon Cell Phone: +972 51 297-545 D.N. Shimshon 99784 Laundry increases exponentially in the ISRAEL number of children. -- Miriam Robbins