In `servlet-respond', the server defaults to Content-Type "text/html;
charset=UTF-8" for extensions that don't appear in
`mime-type-from-extension'. This meant that CSS files, JavaScript
files, and various types of image files were getting the wrong
Content-Type, which was fine when they were served directly, but
caused clients to close the connection when they were loaded over
HTTP/1.1, which can deliver back-to-back resources on the same
connection.
Sort the types in the `mime-type-from-extension' list now that it is
longer. It's still not long enough for the order to be material for
performance.
This restores third-party (ab)users of the Chibi macro system such
as in https://gist.github.com/baguette/2632464, while allowing us
to break those uses in more interesting ways.
It also keeps the core slightly smaller (both in C and Scheme)
and speeds up the macro expansion process.
Add some newlines and a comment to improve readability.
Use local string port instead of parameterizing current-output-port.
Pass symbol 'BEGIN to tell test reporter that evaluation of a test
starts. Adapt documentation of current-test-reporter accordingly.
Use define-opt instead of case-lambda.
Fix standard test runner so that its output is properly indented and
lines are properly terminated.
Refactor standard test runner so that it is possible to plug in another
runner with different output.
Uploading a package is an irreversible operation. It's not even about
accidentally leaking your secret sauce to the internet. You could upload
a package to snow-fort.org by accident and pullute the package name
space [1].
So let's ask the user first before going ahead uploading stuff. We only
ask once even if we're going to upload a dozen packages, so it's not
that annoying. The target repo is also shown in case you want to upload
to a custom repo and want to make sure it does so.
[1] I did (while attempting to uploading to a local snow-fort instance
during testing). I guess `(chibi snow commands)` is forever mine
now.