Commit Graph

5 Commits

Author SHA1 Message Date
shivers 1df0338fb0 I removed DEFINE-SIMPLE-ERRNO-SYSCALL because it is simply a special
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).
1996-08-23 23:29:51 +00:00
shivers ea45fca8ef Hacked the system to use the new LET-OPT optional argument machinery,
LET-OPTIONAL, LET-OPTIONAL*, and :OPTIONAL. The new macros are
faster and easier to read than the old PARSE-OPTIONALS and OPTIONAL-ARG
procedures.
1996-04-19 18:39:14 +00:00
shivers 7c90829350 Added a whole bunch of .h files describing the module structure of the C
files. These files mostly mediate between the C source (export) and
the corresponding C stub files (import) generated by the Scheme files
calling the C routines.

This provided much better argument type checking that before; lots of
small bugs were caught.

Also added const keywords wherever I could find a reasonable place
to improve error detection and efficiency.

Tuned up the makefile to reflect all of this structure. Its dependencies
were pretty out-of-date as it was. It could probably use further work.
1995-10-22 12:34:53 +00:00
shivers 3e52c5100b - Fixed errno-error calls to include the syscall's args. This should greatly
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.
1995-10-21 12:07:25 +00:00
bdc 2302efe24e *** empty log message *** 1995-10-14 03:34:21 +00:00