
Hi, On Thu, 8 Mar 2007 23:32:10 +0200, Giorgos Pontikakis <gnp@freemail.gr> wrote:
I think I found a bug in cl-who. The following sample code:
(defun script-bug () (with-html-output-to-string (*standard-output* nil :indent t) (:html (:head (:script :src "/myscript.js" :type "text/javascript")) (:body (:p "Some text") (:script :type "text/javascript" "alert(5);")))))
gives:
" <html> <head> <script src='/myscript.js' type='text/javascript' /> </head> <body> <p> Some text </p> <script type='text/javascript'> alert(5); </script> </body> </html>"
The first script tag is not closed properly. It should be: <script src='/myscript.js' type='text/javascript'></script>
If I get this right, this happens because there are no <script> contents. But the ending </script> must not be omitted even in this case. This seems to prevent correct parsing of the document.
The tag /is/ closed correctly. Note that there's a difference between <script src='/myscript.js' type='text/javascript' /> and <script src='/myscript.js' type='text/javascript'>. Do you have a concrete application that can't parse this? Cheers, Edi.