Commit Graph

149 Commits

Author SHA1 Message Date
shivers ae2b8700e5 (chdir) now correctly changes to the home dir, rather than to "." 1996-09-08 09:14:40 +00:00
shivers d16ad942c0 AWK now pre-compiles its regexps outside the main loop. 1996-09-08 09:08:47 +00:00
shivers 9610aeab66 Changed the -s- option to the -s<num> option. 1996-08-30 08:36:34 +00:00
shivers d8d1758d11 Hacked file-loading code so that we could load from ports. This to support
the new -s- switch.
1996-08-30 07:15:14 +00:00
shivers aabe436bef I changed the meta-arg parsers (C and Scheme) so that newline *always*
terminates an arg, even if it is an empty arg. Consistency. KISS.
1996-08-29 08:35:25 +00:00
bdc b5a653f1f3 cleaned up static linker code 1996-08-24 09:27:47 +00:00
shivers d472115b34 Retry syscalls when interrupted. 1996-08-24 08:52:34 +00:00
shivers 75bad52dfe Trivial documentation addition. 1996-08-24 07:52:41 +00:00
shivers 996ee5db33 Hacked so that errno/intr error returns cause retries. 1996-08-24 07:36:50 +00:00
bdc 060badffa7 yet another scratch version of the static heap stuff 1996-08-24 02:03:27 +00:00
bdc c4927cc255 an attempt to export new things from the vm without modifiying it; scrapped 1996-08-24 02:02:24 +00:00
bdc 3b0a2e2fa5 the pre scsh static linker 1996-08-24 02:00:47 +00:00
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 464f44f2a3 Brian was using error-checking code of the form
(CASE ERROR ((ERRNO/INTR) ...) ...)
But CASE doesn't evauate its keys, so this didn't work. I switched it
to COND's.

We should import my conditional macros, which includes an evaluating-key
CASE.
	-Olin
1996-08-23 21:43:22 +00:00
shivers 975278b58b Removed ERRNO/DEADLK and ERRNO/NOLCK from extra-errno's list -- they are Posix! 1996-08-23 03:21:14 +00:00
shivers 84c705fcc7 New signal-handler code. 1996-08-22 20:13:14 +00:00
shivers e124c6906c Export names from sighandlers1.c. 1996-08-22 19:42:59 +00:00
bdc 6ea9a75721 updated static linker script; can handle scsh.image; improved autoconf macros 1996-08-22 07:31:36 +00:00
shivers 6d8929b608 defrec.scm -- trivial doc bug in comments.
jcontrol1.c -- signal handler stuff

signal handler hacking -- added Unix signals to VM's interrupt set.
1996-08-21 21:29:59 +00:00
bdc f1dc00dcf6 a working scsh/static.scm and all the trimmings 1996-08-19 08:29:48 +00:00
shivers bcdc349bcf New, improved machinery for handling optional args. 1996-04-19 18:55:31 +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 6b42e9d7aa 1. Hacked fork so that if it fails and the zombie autoreap policy is 'early,
we do a zombie-reap and then retry the fork. This way, if the fork fails
because the process table filled up, you can clean up and win.

It's not the right answer, but the right answer depends on handling SIGCHLD
interrupts, so we can't implement it now.

2. Hacked the optional arg handling to use the new LET-OPT machinery.
1996-04-19 18:26:31 +00:00
shivers 1a0d6a2af4 Fixed delimited readers -- there was confusion about what the handle-delimiter
arg was. It now defaults uniformly to 'trim.
1996-04-19 05:51:37 +00:00
bdc 16c0d2ef3f *** empty log message *** 1995-12-03 01:00:20 +00:00
shivers 2c9e06d6ae Changed char to int so non-ASCII chars wouldn't be sign-extended -- was
blowing char-set test in skip_chars.
	-Olin
1995-11-20 06:32:02 +00:00
shivers acaaedd035 CHAR-SET-CONTAINS? had extra code to make sure it did not work when
applied to a non-ASCII char. Now fixed.
1995-11-20 06:20:12 +00:00
shivers 755913967b Added native-code support for SKIP-CHAR-SET. 1995-11-20 04:15:04 +00:00
bdc 30ed9fdf0c *** empty log message *** 1995-11-05 02:55:04 +00:00
bdc 702f0126c5 FreeBSD mods, mostly in comments 1995-11-04 21:13:42 +00:00
bdc 0dd77af844 *** empty log message *** 1995-11-02 02:39:13 +00:00
bdc 3cc0d1c5d7 *** empty log message *** 1995-11-02 02:29:05 +00:00
bdc ac54f7bf2c *** empty log message *** 1995-11-02 01:51:32 +00:00
bdc 507631b689 sperber's strerror fix 1995-11-01 23:00:57 +00:00
bdc d30d0480f7 *** empty log message *** 1995-11-01 19:42:35 +00:00
bdc c749104691 *** empty log message *** 1995-11-01 08:50:15 +00:00
bdc 1965c0f4b4 *** empty log message *** 1995-11-01 08:19:46 +00:00
bdc 79f2098c6f *** empty log message *** 1995-11-01 03:52:02 +00:00
bdc f872a245b5 *** empty log message *** 1995-11-01 01:45:25 +00:00
bdc d6991813b7 *** empty log message *** 1995-11-01 01:21:26 +00:00
bdc eed17d276f finalized tty-consts.scm baud format 1995-11-01 01:12:42 +00:00
shivers f83504cc00 No longer export baud-rate encodings. 1995-11-01 00:19:30 +00:00
bdc fd3c209841 *** empty log message *** 1995-10-31 23:41:55 +00:00
bdc 31f91e754b nearly final 0.4.0 hax 1995-10-31 23:41:17 +00:00
bdc 3a6b33db27 *** empty log message *** 1995-10-31 23:29:37 +00:00
bdc 12874c0edd even more 0.4.0 hacks 1995-10-31 23:16:31 +00:00
bdc 965a0da2f1 moved static1 contents into begin 1995-10-31 22:39:49 +00:00
bdc 675f4c7746 *** empty log message *** 1995-10-31 22:21:58 +00:00
bdc 37a38ee185 *** empty log message *** 1995-10-31 22:06:02 +00:00
bdc 9e39aeaae4 0.4.0 hacks 1995-10-31 22:04:59 +00:00
bdc b3dc61dae4 *** empty log message *** 1995-10-31 21:57:39 +00:00
bdc 946798634a *** empty log message *** 1995-10-31 21:52:04 +00:00
bdc 2f89a2be7d *** empty log message *** 1995-10-31 21:35:45 +00:00
bdc 02f9587e06 *** empty log message *** 1995-10-31 21:20:46 +00:00
bdc 27602d21de *** empty log message *** 1995-10-31 21:19:22 +00:00
bdc 6e92a37c81 *** empty log message *** 1995-10-31 21:16:21 +00:00
bdc 611ac55bb7 after sommerfelds fixes
now added error arg printing
for mor readable errors
1995-10-31 20:22:27 +00:00
bdc 846439590d *** empty log message *** 1995-10-31 17:44:11 +00:00
bdc 417048b418 *** empty log message *** 1995-10-31 17:01:48 +00:00
bdc e6bdd7a001 *** empty log message *** 1995-10-31 08:33:57 +00:00
bdc 278322565a *** empty log message *** 1995-10-31 08:01:43 +00:00
bdc 5c383bb241 *** empty log message *** 1995-10-31 07:18:18 +00:00
bdc 5f0c2bbf38 *** empty log message *** 1995-10-31 06:40:54 +00:00
shivers 00af71f77d There was a weird bug in the GC system. The image-writing code causes a
GC to assemble a compacted heap image in newspace which it then writes out
to disk. Then the VM calls ABORT-GC to cancel the GC operation, which scans
the current space, fixing up the "broken hearts" -- restoring word 1 of
each structure that got clobbered with a forwarding pointer.

Unfortunately, someone (possibly myself) had inserted a post_gc_fdports() call
into the VM between the gc and the abort. This procedure updates a C vector of
Scheme values (fdports[]) by following forwarding pointers -- BUT -- in this
instance we didn't really want to break hearts, and the abort-gc code didn't
know about the fdports[] vector, so it couldn't undo the effects. This caused
the fdports[] vec to point into hyperspace after the image dump, and *that*
meant on the next GC, all the live ports were considered dead. Oops.

The fix was to remove this bogus call. The post_gc_fdports() proc is now
called only after a *real* GC.
    -Olin
1995-10-29 15:45:22 +00:00
shivers 579ee12924 Completely redesigned meta-arg syntax. 1995-10-29 11:43:42 +00:00
shivers 737ebc5afe Added SET-CURRENT-INPUT-PORT! and friends.
Rehacked stdio/stdport sync procedures.
1995-10-28 22:12:17 +00:00
shivers dce0dc36cd Time args to SELECT and SET-FILE-TIMES can now be reals. 1995-10-28 22:07:16 +00:00
shivers 05df0d4773 file-writeable => file-writable 1995-10-28 22:04:58 +00:00
shivers 325407b9fb Fixed optional-arg bug in open-control-tty. 1995-10-27 11:47:53 +00:00
shivers 79ee1de13c Simplified interface a bit. 1995-10-27 08:58:58 +00:00
shivers bd91c003cc fork-job/pty => fork-pty-session.fork-pty-session now closes pty port in child. 1995-10-27 08:57:10 +00:00
shivers abe91e9fd9 fork-job/pty => fork-pty-session 1995-10-27 08:56:25 +00:00
shivers 52061b82bd Added pty support. 1995-10-26 20:43:45 +00:00
shivers a991a0a4e6 Added pty stuff, select!, become-session-leader, copy-vector, and
process-related tty stuff.
1995-10-26 20:42:35 +00:00
shivers 6ff4d51074 Moved set/get tty process group code to tty.scm.
Added open-control-tty.
1995-10-26 20:37:35 +00:00
shivers b453a05b92 Added open-control-tty. 1995-10-26 20:36:37 +00:00
shivers 16a701b470 Added pty code to scsh. 1995-10-26 20:35:21 +00:00
shivers 112a51bd10 Added copy-vector. 1995-10-26 20:29:22 +00:00
shivers e7460b6e74 Completely rewrote the interface.
- Added SELECT! procedure.
- Fixed bug in SELECT -- it was side-effecting its parameters.
1995-10-26 13:48:14 +00:00
shivers 80adbe0761 Moved set/get tty process group code to tty.scm. 1995-10-26 13:36:46 +00:00
shivers ef473e636e Fixed error case + minor cleanup. 1995-10-26 13:36:23 +00:00
shivers 4b080b5a28 minor cleanup 1995-10-26 13:36:06 +00:00
shivers f244b7532f Added BECOME-SESSION-LEADER. 1995-10-26 13:35:40 +00:00
shivers 4ae0a89c53 Now imports machine/stdio_dep.h interface spec. 1995-10-26 13:34:33 +00:00
shivers bc338f2d53 really-fork/pipe was binding PROC but testing PID -- bug. Changed PID to PROC. 1995-10-26 10:46:07 +00:00
shivers d6c6a3030f Added include-file interface for stdio_dep.c 1995-10-25 11:37:40 +00:00
shivers 2ccc95ff78 filter-weak-ptr-list had args to reduce in wrong order. 1995-10-25 07:44:25 +00:00
shivers 7d810091d8 Commented out module-loading print statements that were vestigial debugging
cruft.
1995-10-22 13:14:17 +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 7d2447407a Renamed userinfo.c to userinfo1.c 1995-10-22 11:04:17 +00:00
shivers b7bdb8528f Killed dangling cig stub. 1995-10-22 10:06:54 +00:00
shivers 083b345c2e Renamed rescm.c to re1.c 1995-10-22 10:05:39 +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
shivers 241344c36b - Tweaked the names of the named constants in the tty interface. 1995-10-21 09:25:15 +00:00
shivers 0644d18c53 - Added (Cig-generated) file tty.c to list of maintained files.
- Tweaked the names of the named constants in the tty interface.
1995-10-21 09:24:26 +00:00
shivers 92b6357605 Hacked tty stuff; added .cvsignore files. 1995-10-19 08:22:56 +00:00
shivers 195691c438 *** empty log message *** 1995-10-17 04:33:40 +00:00
shivers 0ae16c8daa Renamed tc* to tty*, and rehacked extensively. 1995-10-16 22:19:16 +00:00
bdc 2302efe24e *** empty log message *** 1995-10-14 03:34:21 +00:00