Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site masscomp.UUCP Path: utzoo!watmath!clyde!bonnie!masscomp!z From: z@masscomp.UUCP (Steve Zimmerman) Newsgroups: net.emacs Subject: Re: CCA Emacs: Speedup Kills Apropos Message-ID: <155@masscomp.UUCP> Date: Thu, 29-Nov-84 09:10:33 EST Article-I.D.: masscomp.155 Posted: Thu Nov 29 09:10:33 1984 Date-Received: Fri, 30-Nov-84 07:21:19 EST References: <53@mit-athena.ARPA> Organization: Masscomp - Westford, MA Lines: 34 > A while ago we received some changes to speed up emacs and then some > changes to take care of problems .cshrc produced output. > > Once these changes are incorporated ? does not print the full help > message until after ?I has been typed. Likewise ?A leads to an > inglorious death for emacs unless ?I is first entered. > > The reason is that the above changes made efgets look for > ".cshrc sourced" when a file is being read in. There is an assumption > that the file being read has been `globbed' for * or ? or escape > completion which would have meant sourcing .cshrc. The real problem is that efgets() is looking for ".cshrc sourced" from all streams, not just the C shell pipe. This problem was noted early on and a fix was sent out; you apparently didn't get it. The fix is to replace the "do" loop in efgets() with the following: do { if (iop == cshout && sindex(s, ".cshrc sourced")) srclook = 0; cs = s; while (--n>0 && (c = getc(iop))>=0) { *cs++ = c; if (c=='\n') break; } if (c<0 && cs==s) return(NULL); *cs++ = '\0'; } while (srclook && iop == cshout); Steve Zimmerman