diff --git a/package/lua/5.2.3/0012-fix-ephemeron-table.patch b/package/lua/5.2.3/0012-fix-ephemeron-table.patch new file mode 100644 index 0000000000..f231016922 --- /dev/null +++ b/package/lua/5.2.3/0012-fix-ephemeron-table.patch @@ -0,0 +1,19 @@ +Ephemeron table can wrongly collect entry with strong key. + +Fetch from: http://www.lua.org/bugs.html#5.2.3-2 + +Signed-off-by: Francois Perrad + +Index: b/src/lgc.c +=================================================================== +--- a/src/lgc.c ++++ b/src/lgc.c +@@ -403,7 +403,7 @@ + reallymarkobject(g, gcvalue(gval(n))); /* mark it now */ + } + } +- if (prop) ++ if (g->gcstate != GCSatomic || prop) + linktable(h, &g->ephemeron); /* have to propagate again */ + else if (hasclears) /* does table have white keys? */ + linktable(h, &g->allweak); /* may have to clean white keys */