From: Fabrice Bellard Date: Tue, 22 Apr 2025 16:56:59 +0000 (+0200) Subject: fix property ordering in the object returned by RegExp.prototype.exec() X-Git-Url: http://git.kaiwu.me/sitemap.xml?a=commitdiff_plain;h=5afd0eb37b270bedbef2a66efd5d3925d6b820bb;p=quickjs.git fix property ordering in the object returned by RegExp.prototype.exec() --- diff --git a/quickjs.c b/quickjs.c index e3e3074..89e8501 100644 --- a/quickjs.c +++ b/quickjs.c @@ -44108,12 +44108,6 @@ static JSValue js_regexp_exec(JSContext *ctx, JSValueConst this_val, goto fail; } - t = groups, groups = JS_UNDEFINED; - if (JS_DefinePropertyValue(ctx, obj, JS_ATOM_groups, - t, prop_flags) < 0) { - goto fail; - } - t = JS_NewInt32(ctx, (capture[0] - str_buf) >> shift); if (JS_DefinePropertyValue(ctx, obj, JS_ATOM_index, t, prop_flags) < 0) goto fail; @@ -44122,6 +44116,12 @@ static JSValue js_regexp_exec(JSContext *ctx, JSValueConst this_val, if (JS_DefinePropertyValue(ctx, obj, JS_ATOM_input, t, prop_flags) < 0) goto fail; + t = groups, groups = JS_UNDEFINED; + if (JS_DefinePropertyValue(ctx, obj, JS_ATOM_groups, + t, prop_flags) < 0) { + goto fail; + } + if (!JS_IsUndefined(indices)) { t = indices_groups, indices_groups = JS_UNDEFINED; if (JS_DefinePropertyValue(ctx, indices, JS_ATOM_groups,