It turns out that my "default" script was producing the same HTML code
when I run it on c9.io (64-bit) as when I run it on localhost:8080/
(32-bit). E.g. the HTML on demo-project.jkleiser.c9.io/doc/ for the
ref.html link was <a href="doc/ref.html">ref.html</a>, but in the
browser that was expanded to the double-doc
"http://demo-project.jkleiser.c9.io/doc/doc/ref.html". On c9.io I have
now modified the "default" script like this
original: (<td> NIL (<href> F (pack Path F)))
new: (<td> NIL (<href> F F))
On localhost:8080, however, I've had to keep the original. Exactly why
the browser treats localhost and c9.io differently, I'm not sure. Can
you suggest a fix for my "default" script that will make it work in both
One more question:
Since in my web.l I use ...
(allowed ("doc/") "lib.css" "@lib/form.js" "favicon.ico" "!foo" "README")
.. I get a "404 Not Found" if I try to go to
"http://demo-project.jkleiser.c9.io/doc" (with no "/" at the end). Can I
modify my "allowed" to allow "doc" without the "/" at the end?
On 22-05-13 17:38 , Alexander Burger wrote:
I inserted the "(trace 'file)" (on Cloud9) and what I get is this:
file = ("doc//" "default" . 3)
OK, good. That's the same I get.
Then Path must be "doc//", and then "doc/". So the problem is that
(<href> F (pack Path F))
somehow builds two "doc/" fragments?
Then 'F' must also contain "doc/", which I can't believe, because (dir)
returns file names without paths.
I think there is no other way than doing further debugging. If I were
you, I would put an exclamation mark, e.g. in
(! let (Path (car (file))
and then single-step into the code to see what goes wrong (see the
tutorial for how to do this if necessary).
Alternatively, you may trace more functions, e.g.
(mapc trace '(file dir info<href>))
to find out where things go wrong.