As you probably know, there are certain html tags that will break the browser's rendering if they are not paired up properly with a close tag </tag> even if it's content is empty.
For example, <textarea> and <script> (ie)
Well today I'm bitten by this, where <div id='header' /> messes up firefox's rendering coupled with some css rules.
Even though I'm awared of how to get around it, sometimes it's rather hard to spot that with a sea of nested (:div (:div ...)).
This is also a recurring problem for newbie and there were a few threads regarding this.
Attach is a patch to fix this.
[Special variable] *html-empty-tag-aware*
Set to NIL to if you want to use cl-who as a strict XML generator. Otherwise, CL-WHO will only close empty tag defined in *html-empty-tags* with <tag/> (XHTML mode) or <tag> (SGML mode). For all other tags, it will always generate <tag></tag>. The default is T.
[Special variable] *html-empty-tags*
List of html tags that should close by itself. The default values are '(:base :basefont :br :frame :hr :img :input :isindex :link :meta :nextid :range :spacer :wbr :audioscope :area :param :keygen :col :limittext :spot :tab :over :right :left :choose :atop :of)
I'm not sure if anyone is using cl-who to generate XML. If it is, then you need to set *html-empty-tag-aware* to NIL, because this patch will change the default behavior (to do the right thing).
Regards, -- Mac