- Switching scsh over to the SRE regexp system.
- Upgraded string & character handling
- Switching code over to list-lib SRFI names. Some switchover to
probably new string-lib SRFI names, though that SRFI hasn't happened,
so it's probably a waste of time at the moment to stress out about it.
- General switching from "reduce-" lexeme to "fold-" lexeme.
-Olin
A per-file breakdown of changes:
ccp.scm New
char-set.scm New features
stringlib.scm New
stringpack.scm New
awk.scm SRE
filemtch.scm SRE string-lib
fname.scm string-lib
fr.scm SRE string-lib
glob.scm SRE
procobj.scm list-lib
rdelim.scm SRE
re.c SRE killed
re.scm SRE killed
re1.c SRE moved to rx/ dir
re1.h SRE moved to rx/ dir
rx/... SRE General fitting-it-in to the upgraded scsh.
scsh-interfaces.scm
scsh-package.scm
scsh.scm type-check loophole added; string-lib; list-lib
reduce-port -> foldl-port
syscalls.scm string-lib; diked out unused MATCH-FILES code
syscalls.c
utilities.scm string-lib; {any?,every?} -> {any,every}
procobj list-lib
after it was forked, but before the scsh fork procedure could register
the child's procobj in the pid/procobj table, then when the SIGCHLD
signal-handler reaped the process, there would be no procobj for it.
We now lock out interrupts across the fork and register operations.
Ignored signals were done by putting a noop handler on the signal.
This could screw up passing ignores across execs.
Now, when you set an S48 interrupt handler to #f, we pass this through
to Unix.
case of DEFINE-ERRNO-SYSCALL. However, this change causes simple errno
syscalls to return 0 values, which blows up I/O methods used in S48's
extensible port system, so I had to hack three or four of those methods
to return a random value (#F).
improve the quality of the error messages.
- Fixed file-match so that if a filter procedure raises an error condition,
it is caught and treated as a match failure (as if the procedure returned
#f). This means you no longer get blown out of the water by
(file-match "." #f file-directory?)
if the cwd contains a dangling symlink, for example.
- Added set-file-times (utime).
- Caught a bug in an unused arm of the define-errno-syscall macros (rest arg
case).
- Perhaps one or two other minor tweaks.