Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!rutgers!princeton!phoenix!gabell From: gabell@phoenix.PRINCETON.EDU (Gavin Alexander Bell) Newsgroups: comp.emacs Subject: Re: JOVE and/or GNU-MACS for 386/IX Message-ID: <491@phoenix.PRINCETON.EDU> Date: Mon, 3-Aug-87 00:53:47 EDT Article-I.D.: phoenix.491 Posted: Mon Aug 3 00:53:47 1987 Date-Received: Tue, 4-Aug-87 00:41:06 EDT References: <184@titn.TITN> Reply-To: gabell@phoenix.UUCP (Gavin Alexander Bell) Organization: Princeton Univ. Computing and Information Technology Lines: 49 Keywords: jove emacs 386 intel Summary: Fix for Jove Read Error 4 In article <184@titn.TITN> jordan@titn.TITN (Jordan Bortz) writes: >Has anyone done a port of jove ... >It seems to work okay, except that running processes in windows doesn't >work, and a make-to-buffer gives a Read Error 4. Does anyone have >the patches for jove?? The mailer bounced this, so I'm posting it... I had the same problem with JOVE giving me a READ ERROR 4 when I tried to get it running on a Silicon Graphics Iris. It's caused by a stray signal being caught before the read of the pipe is done. A fellow Jove user (Jim Mattson) came up with this patch to the file fb.c (This just follows the "if at first you don't succeed..." philosophy):: filbuf(fp) File *fp; { char redo = 1; /* Kludge for errno 4 on S5000/80 and IRISES-- jsm */ if (fp->f_flags & (F_EOF|F_ERR)) return EOF; fp->f_ptr = fp->f_base; while (redo) { fp->f_cnt = read(fp->f_fd, fp->f_base, fp->f_bufsize); redo= 0 ; if (fp->f_cnt == -1) { if (errno == 4) redo = 1; else { printf("[Read error %d]", errno); fp->f_flags |= F_ERR; } } } if (fp->f_cnt == 0) { fp->f_flags |= F_EOF; return EOF; } io_chars += fp->f_cnt; return getc(fp); } Hope this helps. Oh-- Jove seems to work fine on the Irises, except that filename completion doesn't work (it always claims there is 'no match'). Has anybody else had this problem? Anybody else figured out a fix? -- Gavin Bell