commit 6545a5575065ad02dc62ab9092d213615eb5ff59
parent 0d36e707b8649bd34dce72ef786f3355c5154309
Author: tgoodwin <tgoodwin>
Date: Wed, 15 Jul 1998 14:18:32 +0000
ready for rc-1.5b3
Diffstat:
M | ChangeLog | | | 136 | ++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------- |
M | NEWS | | | 15 | ++++++++++----- |
M | README | | | 35 | +++++++++++++++++++++++++++++++++++ |
3 files changed, 131 insertions(+), 55 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -265,82 +265,118 @@ walk.c: Fixed pre-redirection bug, removed spurious setsigdefaults(),
Changes since rc-1.5beta1
- Configuration: rc now uses GNU autoconf.
+ Configuration: rc now uses GNU autoconf.
- Portability: mksignal works on HPUX 10.
+ Portability: mksignal works on HPUX 10.
- Portability: resources can be (quad_t).
+ Portability: resources can be (quad_t).
- Bug: if rc was started with SIGCLD == SIG_IGN (e.g. by Solaris's
- rshd) it would loop. Fixed by resetting SIGCLD to SIG_DFL if it
- was SIG_IGN when rc was started.
+ Bug: if rc was started with SIGCLD == SIG_IGN (e.g. by Solaris's
+ rshd) it would loop. Fixed by resetting SIGCLD to SIG_DFL if it
+ was SIG_IGN when rc was started.
- Portability: POSIXish systems don't have NGROUPS.
+ Portability: POSIXish systems don't have NGROUPS.
Changes since rc-1.5b2
- Configuration: rc now uses GNU automake.
+ Configuration: rc now uses GNU automake.
- Portability: use sigsetjmp() when available.
+ Portability: use sigsetjmp() when available.
- Portability: improve tests for quad_t.
+ Portability: improve tests for quad_t.
- Configuration: don't leave FIFOs in /tmp when configuring.
+ Configuration: don't leave FIFOs in /tmp when configuring.
- Configuration: let configure find `-ltermcap' when using
- readline.
+ Configuration: let configure find `-ltermcap' when using
+ readline.
- Configuration: pick up default path from config.cache.
+ Configuration: pick up default path from config.cache.
- Bug: sense of most HAVE_RESTARTABLE_SYSCALLS tests was wrong.
+ Bug: sense of most HAVE_RESTARTABLE_SYSCALLS tests was wrong.
- Bug: print prompts with `-i', even with editline / readline.
+ Bug: print prompts with `-i', even with editline / readline.
- Testing: just say `false' (not `/bin/false').
+ Testing: just say `false' (not `/bin/false').
- Bug: confusion over gid_t versus GETGROUPS_T in which.c.
+ Bug: confusion over gid_t versus GETGROUPS_T in which.c.
- Feature: `-V' option added to report version number.
+ Feature: `-V' option added to report version number.
- Configuration: remove version.c; `id' is defined in main.c now.
+ Configuration: remove version.c; `id' is defined in main.c now.
- Bug: clear list of living children after fork(); `{ ls & wait }
- |cat' no longer hangs or panics.
+ Bug: clear list of living children after fork(); `{ ls & wait }
+ |cat' no longer hangs or panics.
- Testing: add regression test for above.
+ Testing: add regression test for above.
- Tidiness: all the system call wrappers to prevent calls being
- restarted now live in system-bsd.c. The configure script
- decides whether to build system.c or system-bsd.c. Also,
- signal.c is more careful to only declare slowbuf if it will be
- needed.
+ Tidiness: all the system call wrappers to prevent calls being
+ restarted now live in system-bsd.c. The configure script
+ decides whether to build system.c or system-bsd.c. Also,
+ signal.c is more careful to only declare slowbuf if it will be
+ needed.
- Tidiness: similarly, configure decides whether to build execve.c
- or not.
+ Tidiness: similarly, configure decides whether to build execve.c
+ or not.
- Portability: test for ssize_t and use it where available; use
- long if there's no ssize_t.
+ Portability: test for ssize_t and use it where available; use
+ long if there's no ssize_t.
- Portability: use sigsetjmp where it's available and appropriate.
- If no sigsetjmp, just use sigjmp; this probably fails in a
- traditional SysV environment.
+ Portability: use sigsetjmp where it's available and appropriate.
+ If no sigsetjmp, just use sigjmp; this probably fails in a
+ traditional SysV environment.
- Portability: test explicitly for SysV SIGCLD semantics. Main
- (and dubious) benefit is that you can now define a function
- called `sigcld' on systems where there is no signal called
- SIGCLD!
+ Portability: test explicitly for SysV SIGCLD semantics. Main
+ (and dubious) benefit is that you can now define a function
+ called `sigcld' on systems where there is no signal called
+ SIGCLD!
- Bug: rc has its own memory allocator; don't use malloc directly.
+ Bug: rc has its own memory allocator; don't use malloc directly.
- Bug: the rc_wait() wrapper is only needed on systems which
- restart system calls. On Linux, in particular, the wrapper
- leads to a race which causes rc to hang (or panic in later
- versions). Other systems apparently don't exercise this race.
+ Bug: the rc_wait() wrapper is only needed on systems which
+ restart system calls. On Linux, in particular, the wrapper
+ leads to a race which causes rc to hang (or panic in later
+ versions). Other systems apparently don't exercise this race.
- Bug: waitforall() must return if rc_wait4() returns with errno
- == EINTR. Otherwise, the rc builtin `wait' cannot be interrupted
- if there are background processes (although apparently only if
- there is a handler for SIGINT).
+ Bug: waitforall() must return if rc_wait4() returns with errno
+ == EINTR. Otherwise, the rc builtin `wait' cannot be interrupted
+ if there are background processes (although apparently only if
+ there is a handler for SIGINT).
- Portability: dreadful hack to track down the real locations
- of signal.h to find signal names. rc now builds under CygWin32!
+ Portability: dreadful hack to track down the real locations
+ of signal.h to find signal names. rc now builds under CygWin32!
+
+ Portability: replace above dreadful hack with mksignal.c, contributed
+ by Vincent Broman.
+
+ Portability: use POSIX wait() macros (WIFEXITED and friends).
+ Unfortunately, POSIX omitted to supply WIFDUMPED, so this doesn't buy a
+ great deal.
+
+ Distribution: remove the dependencies of y.tab.[ch] on parse.y from Makefile.am.
+ The justification for this is that, unless you're hacking on rc's grammar, there's
+ no reason to use anything other than the distributed files (which were generated
+ with byacc and very lightly edited to silence a few gcc warnings).
+
+ Enhancement: the example in addon.c wasn't very useful, since it
+ depended on files which weren't included with the distribution. There
+ is now a working, if trivial, example.
+
+ Tidiness: the code was compiled with as many gcc warnings enabled as
+ I could find. Very few problems turned up. Some unused function
+ arguments were removed. Where unused arguments could not be removed
+ (because the function is one of a set that must all have the same
+ prototype), they were renamed to `ignore'.
+
+ Portability: some versions of readline define the name `Function',
+ which rc also uses. Its use in rc has been renamed to `rc_Function'.
+
+ Documentation: the `history' man page didn't explain what end of line
+ does in editing mode. It now does.
+
+ Bug: the interaction with readline was broken, particularly with
+ respect to signal handling. I've incorporated some changes from Tom
+ Culliton which should sort this out. Unfortunately, we now have 3 different
+ code paths for readline 2.1, readline 2.2, and editline :-(.
+
+ Configuration: if you say `--with-readline' or `--with-editline' it is now an
+ error if the appropriate library is not found.
diff --git a/NEWS b/NEWS
@@ -7,9 +7,9 @@ Navigator---it's a great way to find your way around code (plug!).
rc now uses GNU automake. Although I feel that automake is sticking
plaster to mend a broken leg, it has made my job as maintainer easier.
-(Errm, apart from tracking down bugs in automake itself, that is.) For
-people building rc, it's now possible (depending on your flavour of
-`make') to build in a separate directory from the source.
+(Errm, apart from tracking down bugs in automake itself, and Perl, that
+is.) For people building rc, it's now possible (depending on your
+flavour of `make') to build in a separate directory from the source.
Creeping featurism: rc now has a `-V' switch to report its version
number.
@@ -18,10 +18,15 @@ Binaries of rc-1.5b3 are typically a few kilobytes smaller than 1.5b2.
I believe this is due to improved autoconfiguration: we are now much
more careful only to include code that will be used.
-rc-1.5b3 will build under the beta18 release of CygWin32. It won't run
+rc-1.5b3 will build under the beta19 release of CygWin32. It won't run
trip.rc successfully, and does not appear to be very stable.
+The detection of signal names has been completely revised.
+
+The interaction with readline has been redone, principally to work
+around bugs in the readline library.
+
See ChangeLog for more details.
Tim Goodwin
-1998-02-19
+1998-07-15
diff --git a/README b/README
@@ -27,3 +27,38 @@ differences from the "real" rc. Most of these changes were necessary
to get rc to work in a reasonable fashion on a real (i.e. commercial,
non-Labs) Unix system; a few were changes motivated by concern about
some inadequacies in the original design.
+
+ASSOCIATED PACKAGES
+
+rc uses a set of printing routines originally written by Paul Haahr.
+Scott Schwartz has developed this as a separate package which is
+available from comp.sources.unix v29i017.
+
+rc can be linked with the editline library. This was developed by
+Simmule Turner and Rich $alz, and is available from comp.sources.unix
+v31i071.
+
+Alternatively, rc can be linked with readline versions 2.1 or 2.2.
+
+ ftp://prep.ai.mit.edu/pub/gnu/readline-2.2.tar.gz
+
+There are a number of other programs which, like rc, are Unix
+implementations of Plan 9 tools.
+
+Rob Pike's editor sam has been ported to X, and is available from here.
+
+ http://netlib.bell-labs.com/netlib/research/sam.shar.gz
+
+Gary Capell has written wily, a reimplementation of the Plan 9 acme.
+Although it may sound oxymoronic, wily is a minimalist "integrated
+development environment" for X. Further information can be found here.
+
+ http://www.cs.su.oz.au/~gary/wily/
+
+James Matthew Farrow has written 9term, and David Hogan 9wm. These are,
+respectively, a terminal emulator and window manager for X with the Plan
+9 "look and feel".
+
+ http://www.psrg.cs.usyd.edu.au/~matty/9term/index.html
+
+ http://dhog.g7.org/dhog/9wm.html