Named Arguments

posted December 30th, 2004, no comments, tagged ,

For now, please see the explanation for sIFR users.

Version Update – Konqueror Crazyness

As of today (Jan. 4, 2005) Named Arguments is at version 1.0.1. A bug was discovered where browsers based on an old Apple WebKit / Konqueror version (WebKit v85) would throw a JavaScript error:

Anonymous function hack: eating identifier named_Arguments

Anonymous function hack: eating identifier named_extract

This was caused by naming an anonymous function:

named.Arguments = function named_Arguments(oArgs){

Removing the name and the script worked again:

named.Arguments = function(oArgs){

I searched for the error message in Google and found what looks like the source code for the Konqueror JavaScript engine… and I quote:

00524       // Lookup for keyword failed, means this is an identifier
00525       // Apply anonymous-function hack below (eat the identifier)
00526       if (eatNextIdentifier) {
00527         eatNextIdentifier = false;
00528 #ifdef KJS_VERBOSE
00529         UString debugstr(buffer16, pos16); fprintf(stderr,"Anonymous function hack: eating identifier %s\n",debugstr.ascii());
00530 #endif

Also note that I had to apply a workaround earlier because the Konqueror JavaScript engine doesn’t deal very well with constructors for classes:

named.Arguments.prototype.constructor = named.Arguments;

Things like this make we want to throw the computer out of the window – luckily Mike found the bug, so I had no reason to throw my computer out of the window ;-)