From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by archone.tamu.edu id <45332>; Thu, 6 Feb 1992 16:24:04 -0600 From: Byron Rakitzis To: rc Subject: Announcing rc-1.3beta Message-Id: <92Feb6.162404cst.45332@archone.tamu.edu> Date: Thu, 6 Feb 1992 16:24:01 -0600 This is to announce the availability of rc-1.3beta. I don't expect many problems with this shell, but just in case I would like readers of this list to have a first crack at using this shell before it is released to the public at large. Even though the number of bug fixes between 1.2 and 1.3 are not astronomical, the code has undergone considerable change (in part because I work more and more from a 2400 baud connection, so things are more bunched up now :-) The CHANGES file is included at the end of this note. Also some of the changes which fix one bug, e.g., poor handling of signals, in fact required quite a lot of work. Included with rc this time is a readline-compatible (called "editline") package written by Simmy Turner (simmy@capitol.com). Please refer any problems with it to him, not to me, at least for the duration of this beta test. I will try to get a good version from Simmy by the time rc-1.3 is out, but I don't really have anything to do with his code. Anyway, that aside, it should be noted that Simmy's package weighs in at about 1/10th the size of GNU readline!! On my NeXT, it fit in under a page of text, so happened that rc-1.3 with and without the new editing code had the same text and data sizes! (Though I think it's fair to say that GNU's code is probably more feature- laden.) Well, enough talk. Enjoy. Byron. (As usual, mail-only people mail me for a copy, or use ftpcmd) ====== Changes since 1.2: (Too many to count!) A memory stomping bug was fixed (provoked by assigning a variable to its old value plus something else). Better signal handling; a real signal handler which manages a queue of pending signals was added. rc now ignores SIGQUIT and traps SIGINT even in non-interactive mode. Thus, rc ed.sh will not do mysterious things if the shell script "ed.sh" calls a command like "ed" and then you hit ^C. rc now opens 0, 1, 2 on /dev/null if they are inherited closed. rc -o prevents this. A couple of stupid O(n^2) string appends were replaced with O(n) loops. This should make foo=`{cat /etc/termcap} bar=$^foo a little faster :-) Returning a list of signals from a function is now legal, so "return $status" should always work. The code has been revised, new printing routines have been added. rc no longer uses redundant braces when exporting functions. A first stab at a verification suite has been added (trip.rc). (someone, please help me make this comprehensive!) rc -p now does not initialize functions from the environment. This should make it easier to write shell scripts that don't need to assume anything about the environment. Inherited ignored signals are now ignored in the current shell and passed on ignored to the child processes. whatis -s also reflects this information. A file descriptor leak in the /dev/fd implementation of >{} was fixed. A variable set to '' was not imported from the environment; this has been fixed.