From bca77db0782164e38dfa750d3fa81312487be09a Mon Sep 17 00:00:00 2001 From: marting Date: Fri, 24 Sep 1999 23:54:22 +0000 Subject: [PATCH] daily snapshot, mainly changes to get 0.5.2 stuff running --- Makefile | 12 +++++++----- Makefile.in | 12 +++++++----- build/initial.image | Bin 594285 -> 594333 bytes scheme/interfaces.scm | 3 ++- scsh/awk.scm | 3 --- scsh/rdelim.c | 1 + scsh/rdelim.scm | 1 + scsh/rx/spencer.scm | 2 +- scsh/scsh-interfaces.scm | 2 ++ scsh/scsh-package.scm | 5 +++-- scsh/sighandlers.scm | 10 +++++++++- scsh/syscalls.scm | 2 +- 12 files changed, 34 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index d671b23..d1e1edb 100644 --- a/Makefile +++ b/Makefile @@ -111,10 +111,11 @@ SCSHVMHACKS = scsh/proc2.o #JMG: and it's object files #JMG left out: scsh/re.o scsh/re1.o scsh/regexp/regexp.o scsh/regexp/regsub.o -# scsh/fdports1.o -# scsh/rdelim.o +# +# SCSHOBJS = \ scsh/dirstuff1.o \ + scsh/fdports1.o \ scsh/flock.o scsh/flock1.o \ scsh/machine/stdio_dep.o \ scsh/machine/time_dep1.o \ @@ -122,6 +123,7 @@ SCSHOBJS = \ scsh/machine/libansi.o \ scsh/network.o scsh/network1.o \ scsh/putenv.o \ + scsh/rdelim.o \ scsh/rx/re-low.o scsh/rx/re1.o \ scsh/select.o scsh/select1.o \ scsh/sleep1.o \ @@ -158,8 +160,8 @@ enough: $(VM) $(IMAGE) go $(LIBCIG) scsh $(LIBSCSH) # External code to include in the VM # After changing any of these you should delete `scheme48vm' and remake it. -CIGGED = flock network select syscalls tty time sighandlers re_low -#re rdelim +CIGGED = flock network select syscalls tty time sighandlers re_low rdelim +#re CIGGEDOBJ = $(patsubst %,scsh/%.o, $(CIGGED)) CIGGEDINIT = $(patsubst %,s48_init_%, $(CIGGED)) @@ -216,7 +218,7 @@ scsh/userinfo1.o: scsh/userinfo1.h scsh/fdports1.o scsh/fdports.o: scsh/fdports1.h scsh/flock1.o scsh/flock.o: scsh/flock1.h scsh/network1.o scsh/network.o: scsh/network1.h -scsh/re1.o scsh/re.o: scsh/re1.h +#JMG exists no longer in 0.5.2scsh/re1.o scsh/re.o: scsh/re1.h scsh/select1.o scsh/select.o: scsh/select1.h scsh/syscalls1.o scsh/syscalls.o: scsh/syscalls1.h scsh/time1.o scsh/time.o: scsh/time1.h diff --git a/Makefile.in b/Makefile.in index 50ccf56..c30167d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -111,10 +111,11 @@ SCSHVMHACKS = scsh/proc2.o #JMG: and it's object files #JMG left out: scsh/re.o scsh/re1.o scsh/regexp/regexp.o scsh/regexp/regsub.o -# scsh/fdports1.o -# scsh/rdelim.o +# +# SCSHOBJS = \ scsh/dirstuff1.o \ + scsh/fdports1.o \ scsh/flock.o scsh/flock1.o \ scsh/machine/stdio_dep.o \ scsh/machine/time_dep1.o \ @@ -122,6 +123,7 @@ SCSHOBJS = \ scsh/machine/libansi.o \ scsh/network.o scsh/network1.o \ scsh/putenv.o \ + scsh/rdelim.o \ scsh/rx/re-low.o scsh/rx/re1.o \ scsh/select.o scsh/select1.o \ scsh/sleep1.o \ @@ -158,8 +160,8 @@ enough: $(VM) $(IMAGE) go $(LIBCIG) scsh $(LIBSCSH) # External code to include in the VM # After changing any of these you should delete `scheme48vm' and remake it. -CIGGED = flock network select syscalls tty time sighandlers re_low -#re rdelim +CIGGED = flock network select syscalls tty time sighandlers re_low rdelim +#re CIGGEDOBJ = $(patsubst %,scsh/%.o, $(CIGGED)) CIGGEDINIT = $(patsubst %,s48_init_%, $(CIGGED)) @@ -216,7 +218,7 @@ scsh/userinfo1.o: scsh/userinfo1.h scsh/fdports1.o scsh/fdports.o: scsh/fdports1.h scsh/flock1.o scsh/flock.o: scsh/flock1.h scsh/network1.o scsh/network.o: scsh/network1.h -scsh/re1.o scsh/re.o: scsh/re1.h +#JMG exists no longer in 0.5.2scsh/re1.o scsh/re.o: scsh/re1.h scsh/select1.o scsh/select.o: scsh/select1.h scsh/syscalls1.o scsh/syscalls.o: scsh/syscalls1.h scsh/time1.o scsh/time.o: scsh/time1.h diff --git a/build/initial.image b/build/initial.image index 8dd6d291cb5defd876b4c8023fd82c70b01da86a..bc6aace37a6768c5891c99d693deea11579c6c78 100644 GIT binary patch delta 48756 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 delta 48891 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 ksy!v-KF3Z`JcD0K6~#-R;ZD_as<#AIport ;usual-resumer posix output-channel->port ;usual-resumer posix diff --git a/scsh/awk.scm b/scsh/awk.scm index 7654e96..e95dcc4 100644 --- a/scsh/awk.scm +++ b/scsh/awk.scm @@ -22,9 +22,6 @@ ;;; next-range next-:range These four functions are used in the ;;; next-range: next-:range: code output by the expander. -;;; This should be hacked to convert regexp strings into regexp structures -;;; at the top of the form, and then just refer to the structs in the -;;; tests. ;;; Examples: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/scsh/rdelim.c b/scsh/rdelim.c index ab3d23c..421aecd 100644 --- a/scsh/rdelim.c +++ b/scsh/rdelim.c @@ -1,5 +1,6 @@ /* This is an Scheme48/C interface file, ** automatically generated by a hacked version of cig 3.0. +step 4 */ #include diff --git a/scsh/rdelim.scm b/scsh/rdelim.scm index 05a0a91..5b39f82 100644 --- a/scsh/rdelim.scm +++ b/scsh/rdelim.scm @@ -199,6 +199,7 @@ (else (string-set! buf i (read-char port)) (lp (+ i 1)))))))))) +(foreign-init-name "rdelim") (foreign-source "#include " diff --git a/scsh/rx/spencer.scm b/scsh/rx/spencer.scm index 2656d48..2b4368f 100644 --- a/scsh/rx/spencer.scm +++ b/scsh/rx/spencer.scm @@ -157,7 +157,7 @@ ;;; I is the index of the char following the left brace. (define (parse-posix-braces s i) - (let ((comma (string-index s #\,) i) + (let ((comma (string-index s #\, i)) (rb (string-index s #\} i))) (if rb (if (and comma (< comma rb)) diff --git a/scsh/scsh-interfaces.scm b/scsh/scsh-interfaces.scm index 480cb4f..c648165 100644 --- a/scsh/scsh-interfaces.scm +++ b/scsh/scsh-interfaces.scm @@ -124,6 +124,8 @@ fdes-status set-fdes-status + init-fdports! ;added by JMG + force-output ; set-port-buffering bufpol/block diff --git a/scsh/scsh-package.scm b/scsh/scsh-package.scm index 45b69cb..4b5c108 100644 --- a/scsh/scsh-package.scm +++ b/scsh/scsh-package.scm @@ -234,7 +234,7 @@ sighandlers ; New in release 0.5. scsh ; re -; rdelim ;rdelim omitted for noew by JMG + rdelim ;rdelim omitted for now by JMG ) ; (optimize auto-integrate) ) @@ -331,7 +331,8 @@ sre-syntax-tools scheme ) - (files awk)) + (files awk) + (optimize auto-integrate)) (define-structure awk-package awk-interface diff --git a/scsh/sighandlers.scm b/scsh/sighandlers.scm index ccf47e2..c46bb61 100644 --- a/scsh/sighandlers.scm +++ b/scsh/sighandlers.scm @@ -65,7 +65,15 @@ ; (with-interrupts mask (lambda () body ...))) (define-simple-syntax (with-enabled-interrupts mask body ...) (begin body ...)) -;(define with-enabled-interrupts* with-interrupts) + +(define (with-enabled-interrupts* thunk thunk) + (warn "JMG: use of with-enabled-interrupts*") + (thunk)) + +(define (set-enabled-interrupts . args) + (warn "JMG: use of set-enabled-interrupts") + #f) + (define-enumeration scsh-os-signal (i/o-completion diff --git a/scsh/syscalls.scm b/scsh/syscalls.scm index 30676af..6868227 100644 --- a/scsh/syscalls.scm +++ b/scsh/syscalls.scm @@ -886,7 +886,7 @@ ;;; (var . val) / "var=val" rep conversion: (define (split-env-string var=val) - (let ((i (index var=val #\=))) + (let ((i (string-index var=val #\=))) (if i (values (substring var=val 0 i) (substring var=val (+ i 1) (string-length var=val))) (error "No \"=\" in environment string" var=val))))