id == ATOM_KEY(cx->runtime->atomState.callerAtom) ||
fun_enumProperty(JSContext *cx, JSObject *obj){    JSScope *scope;    JSScopeProperty *sprop;    /* Because properties of function objects such as "length" are     * not defined in function_props to avoid interfering with     * unqualified lookups in local scopes (which pass through the     * function object as a stand-in for the call object), we     * must twiddle any of the special properties not to be enumer-     * ated in this callback, rather than simply predefining the     * properties without JSPROP_ENUMERATE.     */    JS_LOCK_OBJ(cx, obj);    scope = (JSScope *) obj->map;    for (sprop = scope->props; sprop; sprop = sprop->next) {	jsval id = sprop->id;	if (!JSVAL_IS_INT(id)) {	    if (id == ATOM_KEY(cx->runtime->atomState.arityAtom) ||		id == ATOM_KEY(cx->runtime->atomState.lengthAtom) ||		id == ATOM_KEY(cx->runtime->atomState.callerAtom) ||		id == ATOM_KEY(cx->runtime->atomState.nameAtom))	    {		sprop->attrs &= ~JSPROP_ENUMERATE;	    }	}    }    return JS_TRUE;}