Subj : js_GetArgument To : netscape.public.mozilla.jseng From : "itaj sherman" Date : Mon Jun 02 2003 07:35 pm js_GetArgument used to be JSBool js_GetArgument(JSContext *cx, JSObject *obj, jsval id, jsval *vp) { JSFunction *fun; JSStackFrame *fp; fun = (JSFunction *)JS_GetInstancePrivate(cx, obj, &js_FunctionClass, NULL); if (!fun) return JS_TRUE; for (fp = cx->fp; fp; fp = fp->down) { /* Find most recent non-native function frame. */ if (fp->fun && !fp->fun->native) { if (fp->fun == fun) { JS_ASSERT((uintN)JSVAL_TO_INT(id) < fp->fun->nargs); *vp = fp->argv[JSVAL_TO_INT(id)]; } return JS_TRUE; } } return JS_TRUE; } but now it's JSBool js_GetArgument(JSContext *cx, JSObject *obj, jsval id, jsval *vp) { return JS_TRUE; } and it changes the behaviour of function paremeters inside with statements as follows. it will not find the actual passed value anymore. function MyFunc( par ) { with( MyFunc ) { y = par; } } why is it so? .