From: humberto@momo.uthscsa.EDU (Humberto Ortiz Zuazaga)
Newsgroups: comp.lang.scheme.scsh
Date: 5 Nov 1996 14:57:24 -0500
I just installed scsh 0.4.4 on two linux boxes, and now I can't get the
httpd in net.tar.gz to work anymore. I get the following:
aleph:~/src/scheme/net$ ./server.scm
Error: exception
(symbol->string "http-reply")
This same setup worked in the last release v0.4(.2?).
OK, I have found the bug.
There are two problems. One is with the define-enumerated-constant macro
httpd-core.scm uses to define all the http reply codes and messages -- it's a
macro-inside-a-macro problem. What I don't understand is why it ever worked at
all in older releases of scsh. It's fundamentally a Scheme problem, not a scsh
problem.
The other problem is that the net package uses PARSE-OPTIONALS and
OPTIONAL-ARG, opening up a non-advertised scsh package to get them.
But I threw these away for the current release, replacing them with
the much faster and better-designed LET-OPTIONALS and :OPTIONAL macros.
I have changed all of the network code from the old optional-arg
machinery to the new machinery. (I could have alternately just posted
the old optional-arg module to the net, but better to just kill it off.)
I have also kludged around the enumerated-constant problem, but I'd like
to think it over tomorrow. It's 8 pm, and I'm on Europe time, so I'm pretty
brain-fried right now. I'll try to release a new network package this
weekend.
If anyone is being held up by this, email me.
-Olin
|