Thanks for catching that. That bastard child indeed doesn't seem
to like text. Since innerHTML works
properly in Safari 2, we should do a feature test for
script/innerHTML compatibility (which, btw, I already have in CFT)
and use result of that test to switch from innerHTML
to text (i.e. text, most likely, will
only be used in IE)

I remember that article. Actually Safari 2 doesn't execute
scripts when they are being inserted into the document. Neither
innerHTML nor standard DOM methods
(appendChild, insertBefore, etc.) work.
The only way is document.write which, of course,
doesn't work in (proper) XHTML documents.

It seems silly being able to create scripts and not being able
to execute them (without resorting to strange workarounds). Oh
well.

The fact that update is trying to use
innerHTML in IE for script elements is obviously a
bug. I'll make a patch that feature tests this quirk and falls back
to text.

I thought we support Safari >= 2.0 (which is what our
download page says). IIRC, this is exactly why scriptaculous falls
back to document.write[1]

Scriptaculous doesn't feature test anything and instead goes
brute-force with document.write in all
clients. When documents are served as XHTML,
document.write throws error, exception is caught and
plain DOM methods are being tried. It looks like the DOM insertion
would still fail if document was served as XHTML in Safari 2.0.