From b5771115b61f1c10724c6db27cbf0d1b5134cb4f Mon Sep 17 00:00:00 2001 From: marting Date: Thu, 23 Sep 1999 23:02:54 +0000 Subject: [PATCH] changes to get the 0.5.2 stuff running. Not yet completed, hangs on startup --- Makefile | 16 +++++++-------- Makefile.in | 16 +++++++-------- build/initial.debug | 46 +++++++++++++++++++++--------------------- build/initial.image | Bin 594641 -> 594285 bytes scheme/interfaces.scm | 2 ++ scsh/dbm.c | 6 +++--- scsh/flock.c | 2 +- scsh/flock.scm | 3 +++ scsh/network.c | 4 ++-- scsh/network.scm | 2 ++ scsh/regexp/regcomp.o | Bin 36764 -> 36748 bytes scsh/regexp/regexec.o | Bin 35484 -> 35228 bytes scsh/scsh-package.scm | 14 ++++++------- scsh/select.c | 2 +- scsh/select.scm | 3 +++ scsh/sighandlers.c | 2 +- scsh/startup.scm | 2 +- scsh/syscalls.c | 2 +- scsh/time.c | 2 +- scsh/time.scm | 2 ++ scsh/tty.c | 15 +++++++++++++- scsh/tty.scm | 2 ++ scsh/tty1.c | 24 ++++++++++++++++++++++ scsh/utilities.scm | 9 +++++++++ 24 files changed, 118 insertions(+), 58 deletions(-) diff --git a/Makefile b/Makefile index deb8c99..d671b23 100644 --- a/Makefile +++ b/Makefile @@ -158,7 +158,7 @@ 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 +CIGGED = flock network select syscalls tty time sighandlers re_low #re rdelim CIGGEDOBJ = $(patsubst %,scsh/%.o, $(CIGGED)) CIGGEDINIT = $(patsubst %,s48_init_%, $(CIGGED)) @@ -292,10 +292,10 @@ c/fake/strerror.o: c/fake/strerror.h $(IMAGE): $(VM) scheme/env/init-defpackage.scm scheme/more-interfaces.scm \ scheme/link-packages.scm scheme/more-packages.scm \ $(usual-files) build/initial.debug build/build-usual-image - sh $(srcdir)/build/build-usual-image "$(srcdir)" "$(LIB)" "$(IMAGE)" \ - "$(VM)" "$(INITIAL)" -# build/build-usual-image . "`pwd`/scheme" '$(IMAGE)' './$(VM)' \ -# '$(INITIAL)' +# sh $(srcdir)/build/build-usual-image "$(srcdir)" "$(LIB)" "$(IMAGE)" \ +# "$(VM)" "$(INITIAL)" + build/build-usual-image . "`pwd`/scheme" '$(IMAGE)' './$(VM)' \ + '$(INITIAL)' ### Fake targets: all clean install man dist @@ -540,7 +540,7 @@ link/linker-in-lucid: build/lucid-script.lisp $(linker-files) \ # no debugging environment to speak of. $(INITIAL): $(LINKER_IMAGE) $(CONFIG_FILES) build/initial.scm $(initial-files) \ - scsh/scsh-read.scm scsh/here.scm # gross and Olin hates it -bri + scsh/here.scm # gross and Olin hates it -bri ($(START_LINKER); \ echo '(load-configuration "scheme/interfaces.scm")'; \ echo '(load-configuration "scheme/packages.scm")'; \ @@ -654,7 +654,7 @@ i-know-what-i-am-doing: echo ',exec ,load compile-vm-no-gc.scm'; \ echo ',exec ,load compile-gc.scm'; \ echo ',exit' \ - ) | $(RUNNABLE) -h 5000000 && \ + ) | $(RUNNABLE) -h 8000000 && \ mv ../scheme/vm/scheme48vm.c ../scheme/vm/scheme48heap.c ../c cig: $(CIG) $(CIG).image $(LIBCIG) @@ -671,7 +671,7 @@ $(CIG): $(VM) $(IMAGE) $(srcdir)/cig/cig.scm $(srcdir)/cig/libcig.scm | ./$(VM) -i ./$(IMAGE) $(srcdir)/cig/image2script $(LIB)/$(VM) $(CIG) -chmod +x $(CIG) -# mv /tmp/cig $(srcdir)/cig/standalone.image + mv /tmp/cig $(srcdir)/cig/standalone.image $(RM) /tmp/cig $(CIG)2: diff --git a/Makefile.in b/Makefile.in index 0668425..50ccf56 100644 --- a/Makefile.in +++ b/Makefile.in @@ -158,7 +158,7 @@ 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 +CIGGED = flock network select syscalls tty time sighandlers re_low #re rdelim CIGGEDOBJ = $(patsubst %,scsh/%.o, $(CIGGED)) CIGGEDINIT = $(patsubst %,s48_init_%, $(CIGGED)) @@ -292,10 +292,10 @@ c/fake/strerror.o: c/fake/strerror.h $(IMAGE): $(VM) scheme/env/init-defpackage.scm scheme/more-interfaces.scm \ scheme/link-packages.scm scheme/more-packages.scm \ $(usual-files) build/initial.debug build/build-usual-image - sh $(srcdir)/build/build-usual-image "$(srcdir)" "$(LIB)" "$(IMAGE)" \ - "$(VM)" "$(INITIAL)" -# build/build-usual-image . "`pwd`/scheme" '$(IMAGE)' './$(VM)' \ -# '$(INITIAL)' +# sh $(srcdir)/build/build-usual-image "$(srcdir)" "$(LIB)" "$(IMAGE)" \ +# "$(VM)" "$(INITIAL)" + build/build-usual-image . "`pwd`/scheme" '$(IMAGE)' './$(VM)' \ + '$(INITIAL)' ### Fake targets: all clean install man dist @@ -540,7 +540,7 @@ link/linker-in-lucid: build/lucid-script.lisp $(linker-files) \ # no debugging environment to speak of. $(INITIAL): $(LINKER_IMAGE) $(CONFIG_FILES) build/initial.scm $(initial-files) \ - scsh/scsh-read.scm scsh/here.scm # gross and Olin hates it -bri + scsh/here.scm # gross and Olin hates it -bri ($(START_LINKER); \ echo '(load-configuration "scheme/interfaces.scm")'; \ echo '(load-configuration "scheme/packages.scm")'; \ @@ -654,7 +654,7 @@ i-know-what-i-am-doing: echo ',exec ,load compile-vm-no-gc.scm'; \ echo ',exec ,load compile-gc.scm'; \ echo ',exit' \ - ) | $(RUNNABLE) -h 5000000 && \ + ) | $(RUNNABLE) -h 8000000 && \ mv ../scheme/vm/scheme48vm.c ../scheme/vm/scheme48heap.c ../c cig: $(CIG) $(CIG).image $(LIBCIG) @@ -671,7 +671,7 @@ $(CIG): $(VM) $(IMAGE) $(srcdir)/cig/cig.scm $(srcdir)/cig/libcig.scm | ./$(VM) -i ./$(IMAGE) $(srcdir)/cig/image2script $(LIB)/$(VM) $(CIG) -chmod +x $(CIG) -# mv /tmp/cig $(srcdir)/cig/standalone.image + mv /tmp/cig $(srcdir)/cig/standalone.image $(RM) /tmp/cig $(CIG)2: diff --git a/build/initial.debug b/build/initial.debug index 489ec8b..42a175e 100644 --- a/build/initial.debug +++ b/build/initial.debug @@ -6364,39 +6364,39 @@ (4339 loop 4338 95 ()) (4340 #f 4296 24099 ()) (4341 loop 4340 95 ()) -(4342 #f 4296 26314 ()) -(4343 #f 4296 26477 ()) -(4344 #f 4296 26526 ()) -(4345 #f 4296 26575 ()) -(4346 #f 4296 26720 ()) -(4347 #f 4296 26938 ()) -(4348 #f 4296 29861 ()) -(4349 #f 4296 30061 ()) -(4350 #f 4296 30110 ()) -(4351 #f 4296 30159 ()) +(4342 #f 4296 26227 ()) +(4343 #f 4296 26390 ()) +(4344 #f 4296 26439 ()) +(4345 #f 4296 26488 ()) +(4346 #f 4296 26633 ()) +(4347 #f 4296 26851 ()) +(4348 #f 4296 29774 ()) +(4349 #f 4296 29974 ()) +(4350 #f 4296 30023 ()) +(4351 #f 4296 30072 ()) (4352 #f 4351 146 ()) -(4353 #f 4296 30208 ()) +(4353 #f 4296 30121 ()) (4354 #f 4353 329 ()) (4355 #f 4353 403 ()) -(4356 #f 4296 30587 ()) -(4357 #f 4296 30636 ()) +(4356 #f 4296 30500 ()) +(4357 #f 4296 30549 ()) (4358 #f 4357 176 ()) -(4359 parse-package-clauses 4296 30694 ()) +(4359 parse-package-clauses 4296 30607 ()) (4360 loop 4359 76 ()) -(4361 #f 4296 30703 ()) +(4361 #f 4296 30616 ()) (4362 #f 4361 35 ()) (4363 #f 4362 146 ()) -(4364 #f 4296 30959 ()) -(4365 #f 4296 31008 ()) +(4364 #f 4296 30872 ()) +(4365 #f 4296 30921 ()) (4366 loop 4365 35 ()) -(4367 #f 4296 31121 ()) -(4368 #f 4296 31202 ()) -(4369 #f 4296 31283 ()) +(4367 #f 4296 31034 ()) +(4368 #f 4296 31115 ()) +(4369 #f 4296 31196 ()) (4370 loop 4369 51 ()) (4371 #f 4369 90 ()) (4372 #f 4369 114 ()) -(4373 #f 4296 31364 ()) -(4374 #f 4296 32621 ()) -(4375 #f 4296 32757 ()) +(4373 #f 4296 31277 ()) +(4374 #f 4296 32534 ()) +(4375 #f 4296 32670 ()) (4376 #f #f #f ()) - diff --git a/build/initial.image b/build/initial.image index d4eb8d0e7d6b3688b060a40b4c33bc8600c41fea..8dd6d291cb5defd876b4c8023fd82c70b01da86a 100644 GIT binary patch delta 107226 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 aS7@BbZoS0W^1IcBX^x0x4}L3{;r=%0*i!zlL9 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≥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 diff --git a/scsh/flock.scm b/scsh/flock.scm index 5a4eb63..fce6bc0 100644 --- a/scsh/flock.scm +++ b/scsh/flock.scm @@ -8,6 +8,9 @@ ;;; C syscall interface ;;;;;;;;;;;;;;;;;;;;;;; +(foreign-init-name "flock") + + (foreign-source "#include " "#include " diff --git a/scsh/network.c b/scsh/network.c index 5f04645..d79fee5 100644 --- a/scsh/network.c +++ b/scsh/network.c @@ -1,6 +1,6 @@ /* This is an Scheme48/C interface file, ** automatically generated by a hacked version of cig 3.0. -step 3 +step 4 */ #include @@ -58,7 +58,7 @@ s48_value df_scheme_connect(s48_value g1, s48_value g2, s48_value g3) s48_value df_listen(s48_value g1, s48_value g2) { - extern int listen(int , int ); + s48_value ret1; int r1; diff --git a/scsh/network.scm b/scsh/network.scm index 1452eb0..29e7aa3 100644 --- a/scsh/network.scm +++ b/scsh/network.scm @@ -4,6 +4,8 @@ ;;; Scheme48 implementation. +(foreign-init-name "network") + (foreign-source "#include " "#include " diff --git a/scsh/regexp/regcomp.o b/scsh/regexp/regcomp.o index be7b76cc5f83c65673ad931ea419519494be4775..92b00c566bd419c387a71b051bf531307f622ae9 100644 GIT binary patch delta 7842 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 diff --git a/scsh/regexp/regexec.o b/scsh/regexp/regexec.o index d9d2a02062d8516fdea2d91a1b1cc664e536ece3..267f74b8b2a99d9d4ee27ec1d7a9606f68a16e0d 100644 GIT binary patch delta 13557 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 z�Ankg~YKPJRmX$MWqh?eX^>qnBIS-S2B`t>PznDF01b&U2xk{9)|ixAT$gGLC=F z@lmFXeyCHOGVZr?{fD|PGm_&IOd0)(lz*RH~h{0LVJ7U?;Bg; z9h|OkUkWG^UPdvnpBlr<>1KEZ4To1!D!huuz(q6;UQKi1Vw&$-zc|*Ag^acIEWD0h zfj7`zcq6?AKSKxMjr0**LZ7qe@Qvs3{na3D*K)CF-jO$sd{d}7|C6siy!;tg`w0{8 zj<_vCE*5DVFEM4bgLOlGj;131Jl(_ApICHkjp0|QGrXGy!h2`} zTtJiIeRLmOMzi1p9cUgB`)Lt;kh0m8d^h^bdqI1fFsoz$5Zqj$EfSN1~1k?#la0#SGchn0)Iin z;HD}SZl=bvYxoBA7yE)v_VAfId7;}^XEwI<1kUHb^UL`{dU6)9vw5ubGnBr{77ANs5P z6u6hlfcw>Qf3*nl0m=`1)zjUA?F>r_xzeH&DAngbW9Ovk)Ug053g4%*iZ6`)nDzWbhZ1=S#NQTZ_FCjxz+4&?&;I)AK7{z(bfn5I;`ad;swMl zu>)Qr%HUja2+kAl!HQ2r$~s9FaZ(>7$7P_3_*}Z`Aa5QQ)aNt7@| zhP19cR}oYcR5U(Vch#T>++AE<1VmRLO28nXQ8BO}%sti9{hM%?-Os(ByZ67_pHDvh zty8CKs;j!YCY`Lcc>#h@CaJMR#k)ej zq>%5IkS{(fRXGV`>HR?wnty5)MV>e-CjK#YNBBNc_NDU6rPiv?Sz~;C(bfa$-Hp6kEd{(6#b3t z+K!&WucUNhzjaqk(xBaPMkn41CkJxlyX97T3a^eP3iv9QHVO5w7*Oo1?D~bLaE&>H zr9v8Y^L~mVl9W*Y$`cE%@|a}xXX{W*^E9tX-7Iy1+{%D2rrV-;U%i?Eb(E(tO={d= zg6EM(t!u7I_Fs}7bjz&t6ihOQ_$u>y)$eRAsM83jWepI)r3L? zJL=Tz@JD%`c>iR4NtZyPR8ft0>CGnMd2?^kUQf|q>X;r&%M(3?@7oTalJvezik^3y z)^0S>ZS-HZ*+9<7K2K?rm0wP8nlvRH$c+hPCCE_NXU93&_NWXupK2x}@4S0<{XFmf zDgW=`GZ|gA{%7Y*{^f^8hdXbd$a%SHFhCIQ30 zgQ;qv^?8HO)JE%7PqKe_{`owa0#9MOjF2-`Ei;NUtE&>LBj;Fty*cwhX7$O0k}m6o zGG{?EXW@#Xa^GzQ=O^Zj%n#*BUCzM#kUdf@vP?sJzQ0mKjf18gzcjS%vWB7xLKA&; zclEC-l4`eeLECnl;m$pD#Ww$0=c1%@zLEL4Rf|pUdON-BCB1Affq4m8RcW=`lPhx` zIcIrU=d7La>0LX@m>2IX*pU>NkmT8Lcy8Ok@c3@S&*ii#u9ino)~GQdUqWC)Oz2lt z(ROC2|G5*(E`~x@dczrNnYF6n4zdX+OL^wh2IgN15Byj&@Mlh4shRM=Q%ybZR(Ig7>PF4|E2ROa7cK2xtiR&nkukn( zXngj(Ww~Q49kDw!!0Ax3-Jy|JY%zRZ^=oSNC$I7SYFXKjjThBXU9J0*TB>GNFsW7C z-;akv0pE_$yw+9U9k>3NG+X6b>CKW&dZ0&h`E8Tu)ZGjsD9=`@eZT zY4P9s(Es^*vh&Nx6X5-m{}<~?UYpsx>Y(*Qo8}3h%c5WWL11`HK!xTc%VY4Ds{5=~ zZTIgqr!fVarFSo*ea3zL(6;=0s7U^~Q$wtnK z6Bu4m<6YuDvWR5S8Cj59F)?Rwer~n>u<0YPTWK8fRadogTQOHh`N??u=_yOte_gqv z3v#O``l8;m*BiG_%cW;-pPHCH?LAPtPmSFL;tHLT_9`a&M(2m@#m1YT+x<$tE4Zw^ zf7Utc=hU|TQnQSh;R|FY<=xtxe7D&v&Y7HHfy|fyhsXL{mB(%|)*XKt{xMY-_M2YE z%3R3Wbk6>goFE5KkR2v7zov z_PuN-n_k|8KRlDeWhO7b9Ktgx-yJILxwOBFcnX)9sSJ0gQC8KSPiuFlf&C@q%HKg` zEvvMraG=|({^4GAq7ne(A9jXnJk918K519hmNv7dho4PWeZt+~vA({t(%l{CnDl zKd@BxX>};>$<%QD3$i!$hn(_hr<`_!)ca+~dJ0U!Lna{QVyAps_NF0~<}@gKb4Jg! z3+KHddvn||r~I>1?wB5~|F!H*{liYV#3_5^`>bjAI@y=q)@giH+)YFrOVoxM%P-Mo zZ{N~})k^EDZXHx!S;Owv$HXnCN3W8LN;WSAt$uy4^Ow>a5_zBjQK3YQ&E};_WxUXd z{|)iw6mgIaAzn&X$py8-$v1Y}iTE4U0`YHEYw>EobHHd+1S#TD%9Z#lPL6T7(eIS; zHYffZ;>#)GAZtU3vwS7+c0Dg<9tiS^w^Ln;Y= zSG9tf(_zh>!uHEhM{zGy)a5~NeI5$O@_4ub?}Ov{3%D_#g%i1nTnFK^OybsXbM6aY z&DpVjHz}E?prRG$!7027zLqz_ZFx7G$_L?gd4jkv&PaXM2w?H>> zH@FLrgKyz%xI52)d$1qw#Y^En{5;&3H^KdQGwkIz#rFAosXy;RMK|6J59K}ZaNY}# z;3{||pNB_rL%GPz=A{fygvW3yJeJepaenTE!gwAG-_F_a9c*sTaHA9WL3pPMz_)V5 zy=!@DEl=YT$v+@Jt?5~{wl2}p2G*SeY6hD-eTFOpedMl})tu&v%VmF1;tz-`#O5x} zv2(t&a~^hbMo4^tlap($8`#wUv_uM=h`GB89h(m~o0lHsmGFFC4=#m$2_gS zKs*?+Ul!3uvNo@Gl8nP2ypfGxbmG?`9;Ap%>2`^~=j0f>$42}t--Gz`e4lu?lRr=F z+)+U?h48_p^s@MnlVlu@Z(`%)PJB1wL5jGPY9xNa$uV}1jrau)A->tq(GA_CE!-G> znbY7`xjp;__k_1`Z}<;<8@z55mX!3-|>80DsHp;FBDJPjiZVu?%*(Wfl>P~>tLx!eT+grLP^hmH;aGh&9IsR1#ySmdqJIq^ zWiQ-J4}+WQk>UjDbZh#^zK~mrpBBeR=UX?lE{%9b694oI1N19ln|o}KejOEq^`GD&`XhLl-UkoY z$KVmV3Ld4a;nDgcoS~_Sdos7_7&ucWHo-kMRwtoioKAtq>ooXw-5$=?o#6?3Abh9( z4Lng#gQw~_@H9Q&wV&?OkGTb!u73;9)X%}Q^egZjy$znL%i#y~Za7CDfOGYiuwPfg zdHP4ObB`_7=TK3gsi`|$g}N?Wq*LKS-3fkF4}*(!CLGY?;AQ$Q_%WRe2Yc%x6iW3H zxQ7nHtMz(#jou(O5AN2~UM@`QaK>|S=9-L?tG`0Jy}?>BW}try4j4oc52iN|A6CmF z=nsgGqz~cS=r3?4eFl%E!*CXzfXC69u+3FHo-U%|b|QH#U^Xw^LDBF8N`ddBRCp3~ zhVQ0c@I5pNzMCF|e?z(O6k42wt9m*uL&Xew9G*$5;aRjEo=uzJIrK7oKfMmmrMKZ+ z`VwA5-?;YE6LiKc&~NEH{0#j9Z=kyJQY1Vo8>tce0JVX0r~~Yy0q{JU06$1M;!AP? zn6Le2bFS)#sQ^g}Xo)ylo^W*}A-S!cC)2TzoELee^i>Azl07VCqPHw zBKjIG@lz!VE9fj-N+hp+%;u%XDG^>tE#Otu8D2?Q@M^jnUQ0RR1gCT3J{@OpX^exCM-TRIJ;q__=jqGQN;fvVuGbP6t`3-Id{Z(j4s=B0P3 zsUL+`s6D)$I>S4uEBr9^h5t;0;5{?~{)pznAJdcYUuhk@m$o_fd+Aep9~JxQ6nubw zf&WS#4BZ!$4F8SVz+X}a_z-o24^v(D47j+HXRds;7 zt4?qa)fw)oZiV}(K5##k0ejVC*M1tPX1E3FrDnrJR1Q2;Er5rs#qdZ~2#-=v!WrsW zc#L`;9-&@+6qrpZ^4t)AK}TW9G;@~!c$cxJYAiF?^fT#v(y=Q zwqIR9VXjJQ8UAZt%lu9K1kHgYQ=}VZWLK=c_z;v07|vwy!Tnes(6bF}5H?jGC zZw@dvn|W7mY`*K8_(a5)*K&|1Azn%);+amqvDv(`_9+zT8@1l8pl{VC@jT~%{fGxC z;!;xb_ltm&V{A7{^14p^xD!u9d^trNq;!ef=kJx*N8_dNf^&ee+fc+msCyBwQ8VDP zYBqdc&4(|j0{Eg@1&7pH_+7u+fCBSYSo5236u%GG-%Cln2^GzGCww(mz{z|PZpC%3cRwJ7Tfo;n9tIEPQSfjc3yeSmLBv2MJli9bqiz=85h za)peix$_5!-FN3B#N`stmiR~~$K2GT?40ns^RZ6OUWsQpIp!uES1adEC#SWsrJ>7Lol>-5N%^7(u{;tz2<_+h>YUck4&3%Mt}n6uylo&p#0Eb%1iL>>9O z?DqJZP7xQiwMI;C;$MZ_CHyqJlsCcwei2^AyWkQ&3tJ%Et z1lJGSEF4dAV^pl-F7Rp|0->Yq^x(NtFjj zk(2Zek~XsOV@~`N#Df&EJhN|*@3&5lvDv)x3OM3txjy30bG+ER3^E;R;l}+Gj1=Vg zJz6TZJ4wc7^U6D8WAl>896ST@U@e!@I*A`~a*WMpj*a*Qejf47yhZFR99#G;RJ_c4 z;8*!$_zkXr-{dp!HjcqBihtm1;3eD|evi}Pa=sbEUUQi@@5ybg z=qayVZ|;vt^2#PpM!6ys3YnKq<#Li{dZ&mh#P3*#rZn}Nd79-!%zVtYkJ@A(mE#;` z=D_FVnBkr0D>uFii&UfTlgfOf=_c?JNIn9 z;{>>xli?q^H~bT4!awr_xP~XW_S0FO>=vko7r?)8fq0P&qq&k-A|9;eQranT%gHe| zn^)fa8n1QY2N4fa#PYuk>2g)S>Li(hdvL^;xH00Sn~UFe^4lODq=-u?L*gGhImY2O zl{P-;#AhNN^i!lzO6#TKw3B4)9vm_2&4}00ufb9JJ-Dtu0N2x>!}ayoaICJfoo$9I zUe|5!epo}@1eQ1Ua1-4RKFR~&W_lFdT#pgg$O)J?_M_6QA=6)z3*EXjy@}sU;Dhpe zeuaFHnVk9JJeeqS51AL9dbpklVisE5hurt>7(L2$uaFL zb8^g(mN+?P=pJk8ET^V>W;1W?v*FHqD%_)%Z`BJC@2LZ@SFgO$ZKuE92oKON!h`fy zc(C4iBkr>ydJih(tvxJn?covnBrI?3VR>s0XK3BQ?S#Cwhvlt3JXT-r+E3$jid!Ig zYY*S9JHpwzD?C9Df#t0|JWQ7+5{tV9374TwR1sC}Bk0=!Czr#g3p`$yDg}NpDsO}0E>z;5x_kow` zf$(E`3LMmP;8LAqTdqPc_0S7Yv04YI6ZjGO)Nz{pg9Uw!iejpUm(qE$ gmKW8s;>rhGi{>nklZam;71D+C9m|^Ezc}eX0sC#4egFUf diff --git a/scsh/scsh-package.scm b/scsh/scsh-package.scm index e3465f8..45b69cb 100644 --- a/scsh/scsh-package.scm +++ b/scsh/scsh-package.scm @@ -159,7 +159,7 @@ records extended-ports partial-s48-ports -; ports + ports build bigbit bitwise @@ -396,12 +396,12 @@ interrupts) (files event)) -(define-structure test-package (export test-proc) - (open scsh-regexp-package scheme) - (begin (define (test-proc p) - (regexp-substitute p - (string-match "(foo)(.*)(bar)" "Hello foo Olin bar quux") - 'post 3 1 2 'pre)))) +;(define-structure test-package (export test-proc) +; (open scsh-regexp-package scheme) +; (begin (define (test-proc p) +; (regexp-substitute p +; (string-match "(foo)(.*)(bar)" "Hello foo Olin bar quux") +; 'post 3 1 2 'pre)))) (define-structure scsh-threads diff --git a/scsh/select.c b/scsh/select.c index 39fddd2..4b52698 100644 --- a/scsh/select.c +++ b/scsh/select.c @@ -1,6 +1,6 @@ /* This is an Scheme48/C interface file, ** automatically generated by a hacked version of cig 3.0. -step 3 +step 4 */ #include diff --git a/scsh/select.scm b/scsh/select.scm index 4439947..ee53fb6 100644 --- a/scsh/select.scm +++ b/scsh/select.scm @@ -1,6 +1,9 @@ ;;; select(2) syscall for scsh. -*- Scheme -*- ;;; Copyright (c) 1995 by Olin Shivers. +(foreign-init-name "select") + + (foreign-source "/* Make sure foreign-function stubs interface to the C funs correctly: */" "#include \"select1.h\"" diff --git a/scsh/sighandlers.c b/scsh/sighandlers.c index 7dad99c..48279e4 100644 --- a/scsh/sighandlers.c +++ b/scsh/sighandlers.c @@ -1,6 +1,6 @@ /* This is an Scheme48/C interface file, ** automatically generated by a hacked version of cig 3.0. -step 3 +step 4 */ #include diff --git a/scsh/startup.scm b/scsh/startup.scm index c4f505b..540c10d 100644 --- a/scsh/startup.scm +++ b/scsh/startup.scm @@ -8,7 +8,7 @@ (define (make-scsh-starter) (let ((context (user-context))) (lambda (args) - (display "off we go") + (display "off we go" (current-error-port)) (display context) (parse-switches-and-execute args context)))) diff --git a/scsh/syscalls.c b/scsh/syscalls.c index bf7990b..93e954a 100644 --- a/scsh/syscalls.c +++ b/scsh/syscalls.c @@ -1,6 +1,6 @@ /* This is an Scheme48/C interface file, ** automatically generated by a hacked version of cig 3.0. -step 3 +step 4 */ #include diff --git a/scsh/time.c b/scsh/time.c index 4f0231c..ab930cf 100644 --- a/scsh/time.c +++ b/scsh/time.c @@ -1,6 +1,6 @@ /* This is an Scheme48/C interface file, ** automatically generated by a hacked version of cig 3.0. -step 3 +step 4 */ #include diff --git a/scsh/time.scm b/scsh/time.scm index 2b3bab2..5c16b23 100644 --- a/scsh/time.scm +++ b/scsh/time.scm @@ -10,6 +10,8 @@ ;;; - If tz-name not defined, fabbed from tz-secs. ;;; - If tz-secs not defined, filled in from tz-name. +(foreign-init-name "time") + (foreign-source "#include \"time1.h\"" ; Import the time1.h interface. "") diff --git a/scsh/tty.c b/scsh/tty.c index e2b0689..7844656 100644 --- a/scsh/tty.c +++ b/scsh/tty.c @@ -1,6 +1,6 @@ /* This is an Scheme48/C interface file, ** automatically generated by a hacked version of cig 3.0. -step 3 +step 4 */ #include @@ -51,6 +51,18 @@ s48_value df_scheme_tcgetattr(s48_value g1, s48_value g2, s48_value mv_vec) return ret1; } +s48_value df_scheme_tcgetattrB(s48_value g1, s48_value g2, s48_value g3) +{ + extern int scheme_tcgetattrB(int , char *, s48_value ); + s48_value ret1; + int r1; + + + r1 = scheme_tcgetattrB(s48_extract_fixnum(g1), s48_extract_string(g2), g3); + ret1 = errno_or_false(r1); + return ret1; +} + s48_value df_scheme_tcsetattr(s48_value g1, s48_value g2, s48_value g3, s48_value g4, s48_value g5, s48_value g6, s48_value g7, s48_value g8, s48_value g9, s48_value g10, s48_value g11, s48_value g12, s48_value g13, s48_value g14, s48_value g15) { extern int scheme_tcsetattr(int , int , const char *, int , int , int , int , int , int , int , int , int , int , int , int ); @@ -190,6 +202,7 @@ s48_value df_scm_ctermid(s48_value mv_vec) s48_value s48_init_tty(void) { S48_EXPORT_FUNCTION(df_scheme_tcgetattr); + S48_EXPORT_FUNCTION(df_scheme_tcgetattrB); S48_EXPORT_FUNCTION(df_scheme_tcsetattr); S48_EXPORT_FUNCTION(df_tcsendbreak); S48_EXPORT_FUNCTION(df_tcdrain); diff --git a/scsh/tty.scm b/scsh/tty.scm index 2440ea0..b5abdd7 100644 --- a/scsh/tty.scm +++ b/scsh/tty.scm @@ -13,6 +13,8 @@ ;;; Copyright (c) 1995 by Brian D. Carlstrom. ;;; Rehacked by Olin 8/95. +(foreign-init-name "tty") + (foreign-source "#include " "" diff --git a/scsh/tty1.c b/scsh/tty1.c index 1837b94..19670b0 100644 --- a/scsh/tty1.c +++ b/scsh/tty1.c @@ -16,6 +16,7 @@ #include #include #include +#include "scheme48.h" /* This #include is for the #ifdef'd code in open_ctty() below, and ** is therefor ifdef'd identically. @@ -53,6 +54,29 @@ int scheme_tcgetattr(int fd, char *control_chars, return result; } +int scheme_tcgetattrB(int fd, char *control_chars, s48_value scmvec) +{ + struct termios t; + int result = tcgetattr(fd, &t); + // JMG int *ivec = ADDRESS_AFTER_HEADER(scmvec, int); + + if (result != -1) { + memcpy(control_chars, t.c_cc, NCCS); + S48_VECTOR_SET(scmvec, 0, s48_enter_fixnum(t.c_iflag >> 24)); + S48_VECTOR_SET(scmvec, 1, s48_enter_fixnum(t.c_iflag & 0xffffff)); + S48_VECTOR_SET(scmvec, 2, s48_enter_fixnum(t.c_oflag >> 24)); + S48_VECTOR_SET(scmvec, 3, s48_enter_fixnum(t.c_oflag & 0xffffff)); + S48_VECTOR_SET(scmvec, 4, s48_enter_fixnum(t.c_cflag >> 24)); + S48_VECTOR_SET(scmvec, 5, s48_enter_fixnum(t.c_cflag & 0xffffff)); + S48_VECTOR_SET(scmvec, 6, s48_enter_fixnum(t.c_lflag >> 24)); + S48_VECTOR_SET(scmvec, 7, s48_enter_fixnum(t.c_lflag & 0xffffff)); + S48_VECTOR_SET(scmvec, 8, s48_enter_fixnum(cfgetispeed(&t))); + S48_VECTOR_SET(scmvec, 9, s48_enter_fixnum(cfgetospeed(&t))); + } + + return result; + } + /*****************************************************************************/ diff --git a/scsh/utilities.scm b/scsh/utilities.scm index 89398a5..fbb4cab 100644 --- a/scsh/utilities.scm +++ b/scsh/utilities.scm @@ -89,6 +89,15 @@ (define any? first?) + +(define (every pred list) + (or (not (pair? list)) + (let lp ((head (car list)) (tail (cdr list))) + (if (pair? tail) + (and (pred head) (lp (car tail) (cdr tail))) + (pred head))))) ; Tail-call the last PRED call. + + (define (every? pred list) (letrec ((lp (lambda (list) (or (not (pair? list))