rc

[fork] interactive rc shell
Log | Files | Refs | README | LICENSE

commit 4a98d16dd0255ca3f19a4c5c4ed7034909578590
parent 5e6e70ecec4fe5605e1184d3336853551e13680b
Author: tgoodwin <tgoodwin>
Date:   Tue, 21 Jul 1998 16:00:00 +0000

some more stuff

Diffstat:
MChangeLog | 84+++++++++++++++++++++++++++++++++++++++----------------------------------------
1 file changed, 41 insertions(+), 43 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -287,8 +287,7 @@ Changes since rc-1.5b2 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. @@ -304,58 +303,57 @@ Changes since rc-1.5b2 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. 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. + 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: 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. + 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). + 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 @@ -375,11 +373,11 @@ Changes since rc-1.5b2 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 :-(. + 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. + Configuration: if you say `--with-readline' or `--with-editline' it is + now an error if the appropriate library is not found. Bug: rc didn't work on RedHat 5 systems. This is because of peculiarities in the handling of signals and system calls on this @@ -390,8 +388,8 @@ Changes since rc-1.5b2 have sigaction(), we use signal() and check for restartable system calls as usual.) I'm not entirely confident that this fix is solid. - Portability: on AIX, lconv is defined by the system header files. Rename - lconv in print.c to avoid the clash. + Portability: on AIX, lconv is defined by the system header files. + Rename lconv in print.c to avoid the clash. - Testing: add a test that `cd' prints the new directory if we are interactive and - the directory was found via $cdpath. + Testing: add a test that `cd' prints the new directory if we are + interactive and the directory was found via $cdpath.