Text File

Azehntel.133 net.2bsd-bugs utzoo!decvax!ucbvax!menlo70!sytek!zehntel!billn Sun Nov 22 18:17:54 1981 csh bug fix A heinous bug has been found in the csh. The routine syntax() expects 3 parameters and is only called with 2, when called non-recursively, eg in sh.c. The third parameter is a word of flags. The fix is to replace calls of syntax(p1, p2) with syntax(p1, p2, 0). The bug was found when I was trying to follow the directions in the distribution about making a non-i/d csh (loaded -n). Works fine, now.

Other hints for non-i/d csh: 1. To reduce size, reduce size of most of the error messages, eg, replace "Ambiguous" with "Ambig."; also there are several obscure things which can be commented out such as execl's of several versions of newgrp in sh.misc.c and the -q option in sh.c. 2. DONT define BBGETPW in getpwent.c (if you want "~" to work), but DO use the provided get*.c. 3. Default internal buffer size should be 512, not 1024, as the distributed makefile makes it. A larger buffer size causes complicated parsings (source x; x has set y=~foo...) to run out of memory. On the other hand the distributed termcap entry for televidios has a termcap > 512 bytes (the buffer size is the size of a csh "word") which causes the shell to say "word too long" when doing a source of a tset v5 -s. But, its easy to write a termcap for televidios which is alot shorter, or you can trick csh in other ways. We have hp's, falco's, and concepts, for intelligent terms, and those termcaps work fine.

/Bill Northlich

----------------------------------------------------------------- gopher://quux.org/ conversion by John Goerzen <jgoerzen@complete.org> of http://communication.ucsd.edu/A-News/

This Usenet Oldnews Archive article may be copied and distributed freely, provided:

1. There is no money collected for the text(s) of the articles.

2. The following notice remains appended to each copy:

The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996 Bruce Jones, Henry Spencer, David Wiseman.