Hi.
> Update meta: wiki-syntax
>
> svnwiki-post-commit-hook appears to run indefinitely.
Is there any way
> for me to find out what's going on? Thanks,
Although I think it appears to run indefinitely, it will
eventually
terminate. And I think I know what causes the problem. And
I think I
fixed it two days ago (but I haven't released it).
To see what it consumes successfully and where it hangs, you
could do
this in CSI:
(use stream-wiki)
(write-stream (wiki->html (port->stream
(open-input-file "wiki-syntax"))))
The problem, if I'm correct, was that two rules in the
text-transform
function in stream-wiki where not exclusive. For instance,
try this:
(write-stream (wiki->html (string->stream
"''"""""""&q
uot;""")))
It will terminate but it will take a long time (adding or
removing
double quotes increases/decreases the amount of time it
takes by two).
What's happening here is that it has two rules that can
consume a
double quote, rule 1 and rule 2. So it consumes the '' and
then
begins to consume parse the rest looking for the closing ''.
To
consume the """", it will first use rule
1 all times, as in 1111.
When that fails, it will try 1112. Then 1121. And so on
until 2222
fails, in which case it will realize that '' should not be
treated as
an opening italics sequence. That's why each double quote
added
increases the amount of time by two.
The fix was making sure the intersection of the rules is
empty, so now
the amount of time to parse ''"""""
is N, where N is the number of
quotes, not 2 to the power of N.
I will now produce a new version of stream-wiki and mail
you. We can
then try to see if it makes your problem go away. I had
noticed that
stream-wiki would sometimes take unearthly amounts of time
to parse
but hadn't got to isolating and fixing the cause.
Alejo.
http://azul.freaks-uni
dos.net/
_______________________________________________
Svnwiki mailing list
Svnwiki listas.el-directorio.org
http://listas.el-directorio.org/cgi-bin/mailman/
listinfo/svnwiki
* We prefer english for this list / it's ok to write in
Spanish.
* El idioma preferido en la lista es el Inglés
/ Está bien escribir en español.
Let the repository be with you.
|