| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
|
|
|
|
| |
The out of range exception could never occur, since I aleready limited
the interval to (n % 7) + 1.
|
| |
|
|
|
|
|
| |
Depending an the exact text of an translatable string seems like a bad
idea.
|
| |
|
| |
|
|
|
|
| |
Old sandbox approach always felt like bit of a hack.
|
| |
|
|
|
|
|
| |
Name conflicts are apparently not good. Manual fixup since it's too much
a hassle to undo the merge.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This new setup stores all configurations are parameters. This forces
everything into modules, and ensures that we can't have a module use an
unloaded config. It (unfortunatelly) also causes users to have to
specify namespaces when defining values, but ini-files (and the like)
already does that. Also, there is nothing stopping a new `set-config!'
from being defined which allows un-namespaced operation.
The commit also removes the introspection procedures. They where a bit
weird to begin with, since they only showed loaded fields. And since the
program had no way of properly serializing or deserializing them we
remove them for the time being. They would however be good to
reintroduce together with a proper menu for editing simple
configuration (see Emacs' `custom-set-variables').
|
| |
|
| |
|
|\ |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
(text module) now dispatch its functions to the correct (text module
lang) module.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This frees it, currently only for calling it from our import entry
point, but this will also allow us to much easier write tests for it
(which we need since adding recurring events doesn't work).
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Barely used, and almost always was better server by a propper error
call.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Along with an initial example of their use.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Also noted that r:port was bound twice.
The earlier binding (which is now removed) was a Guile IO-port for
writing the response, while the later was the target port number of the
request.
|
| |
| |
| |
| |
| | |
Previously, the user of the macro needed a correct environment. This
should not be needed any more.
|
| |
| |
| |
| |
| | |
Also introduces the configuration setting `static-dir', which is where
the static file for the web server are located.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Now blocks link to their entry in the sidebar, and the sidebar entries
link to (one of) their blocks.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
While not necessary, since we barely use UUID:s, it's still WAY faster,
and nice to not depend on the system providing `uuidgen'.
For comparison, number of UUID:s generated by different settups in 1
second:
65.000 :: guile native
700 :: guile shell-out
3.500.000 :: c native
100.000 :: libuuid - guile bindings
650.000 :: libuuid
Tests where run with either
(call-with-time-limit
1
(lambda ()
(let loop ()
(uuid)
(set! count (1+ count))
(loop)))
(lambda _ (display count)))
or
volatile unsigned long long count = 0;
sigaction(SIGALARM, ...);
alarm(1);
for (;;) {
uuid();
count++;
}
(let ((count 0))
(call-with-time-limit
1
(lambda ()
(let loop ()
((@ (hnh util) uuidgen))
(set! count (1+ count))
(loop)))
(lambda _ (format #t "exec count = ~:d~%" count))))
|
| | |
|