On Fri, Sep 9, 2011 at 7:49 PM, Sebastian Tennant sebyte@smolny.plus.com wrote:
Incidentally, the library I'd actually like to see updated soonest is cl-who as the version in Quicklisp doesn't include support for HTML5.
Perhaps I could assist with 'releasing' an updated version of cl-who as a warm-up to assisting you with a hunchentoot release?
It's been a while (maybe two years ago), so I'm not totally sure, but I /think/ the unreleased version of CL-WHO contains architectural changes of mine which so far haven't been sufficiently documented and/or tested. You might want to take a look at this before you make a release.
Just a recommendation. Of course, you can proceed as you like... :)
Cheers, Edi.
PS: cl-who-devel on Cc.
Quoth Edi Weitz edi@weitz.de:
[...] I /think/ the unreleased version of CL-WHO contains architectural changes of mine which so far haven't been sufficiently documented and/or tested.
Not surprisingly, the bulk of the changes are in who.lisp and a lot of these arise from fifteen function definitions having been moved to the newly introduced file; util.lisp. Disregarding these, along with changes reuslting from the introduction of HTML5 support and the introduction of the test suite, and the only 'architectural' changes we need to consider (vis-a-vis testing and documentation) can be summarised thus:
Multiple changes to function CONVERT-ATTRIBUTES.
Function REPLACE-HTM & TREE-TO-COMMANDS-AUX removed, affecting functions TREE-TO-TEMPLATE & TREE-TO-COMMANDS.
util.lisp introduces two new (unexported) macros; WITH-UNIQUE-NAMES (used in WITH-HTML-OUTPUT) & WITH-REBINDING (currently unused).
Further changes (unrelated to WITH-UNIQUE-NAMES) to macro WITH-HTML-OUTPUT.
Functions ESCAPE-STRING-ISO-8859 & SHOW-HTML-EXPANSION removed, not affecting any other functions.
As far as documentation goes (inline and in index.html), there's not that much that still needs doing, except perhaps:
1. TREE-TO-COMMANDS lacks a documentation string. Not part of the API.
2. The lambda list of WITH-HTML-OUTPUT includes a new REST parameter which is not documented in the docstring. Very much part of the API so needs documenting in index.html too.
3. If WITH-REBINDING is not going to be used, should it not be removed, or a note added explaining why it may be used in the future. Not part of the API.
4. Canonical home of CL-WHO moved from BKNR to github - needs updating in index.html.
It'd be great if you could find time to look at 1, 2 & 3 Edi, (assuming these are the architectural changes you're referring to). I'm simply not qualified (yet).
I can start testing however, and that is something I hope to get around to soon.
Sebastian
P.S. Tarball (attached) may come in handy - it contains old and new versions of the some of the functions in question which I used to produce simplified diffs.
-- Emacs' AlsaPlayer - Music Without Jolts Lightweight, full-featured and mindful of your idyllic happiness. http://home.gna.org/eap
Sebastian, thanks for taking the time to go through this. Details below.
I /think/ the main thing I wanted was an easier way for users of CL-WHO to extend it (without having to deal with undocumented and/or unexported internal stuff). Judging from your description of the changes, it seems that I stopped somewhere in the middle. Maybe I even have uncommitted changes somewhere at home. (But then they must be on an older laptop that I currently don't have access to.)
Some comments inline:
On Fri, Sep 23, 2011 at 10:42 AM, Sebastian Tennant sebyte@smolny.plus.com wrote:
1. TREE-TO-COMMANDS lacks a documentation string. Not part of the API.
Did it have a documentation string once? (I guess so.) If it had, then I probably removed it because its behaviour changed. I probably (?) also wanted to export it...
3. If WITH-REBINDING is not going to be used, should it not be removed, or a note added explaining why it may be used in the future. Not part of the API.
Should certainly be removed. I'm sure I just copied it from some of my other libs.
Thanks again, Edi.