Apologies if you've already read this on Planet Lisp...
I've removed CL-Markdown's dependency on LML2 (though CL-Markdown- Test still uses it to generate the comparison reports). I've also fixed several small tickets. The most important one probably being the correct handling of line breaks with <pre>s sections. I also changed the signature of the markdown form. The new one looks like:
Convert source into a markdown document object and optionally render it to stream using format. Source can be either a string or a pathname or a stream. Stream is like the stream argument in format; it can be a pathname or t (short for *standard-output*) or nil (which will place the output into a string). Format can be :html or :none. In the latter case, no output will be generated.
The markdown command returns (as multiple values) the generated document object and any return value from the rendering (e.g., the string produced when the stream is nil).
I hope that's clear. It makes it easy to go from strings or files to strings or files in any supported format (i.e., in HTML <Smile>).
There is still some distance to go before the basics are complete but things are starting to look pretty good.