diff --git a/400_xowa/src/gplx/xowa/parsers/tmpls/Xot_invk_tkn.java b/400_xowa/src/gplx/xowa/parsers/tmpls/Xot_invk_tkn.java index 57e96abfe..ebcd2fc53 100644 --- a/400_xowa/src/gplx/xowa/parsers/tmpls/Xot_invk_tkn.java +++ b/400_xowa/src/gplx/xowa/parsers/tmpls/Xot_invk_tkn.java @@ -344,7 +344,7 @@ public class Xot_invk_tkn extends Xop_tkn_itm_base implements Xot_invk { } } if (transclude_src != null) { - Xot_defn_tmpl transclude_tmpl = ctx.Wiki().Parser_mgr().Main().Parse_text_to_defn_obj(ctx, ctx.Tkn_mkr(), page_ttl.Ns(), page_ttl.Page_db(), transclude_src); + Xot_defn_tmpl transclude_tmpl = ctx.Wiki().Parser_mgr().Main().Parse_text_to_defn_obj(Xop_ctx.New__sub(wiki, ctx, Xoae_page.New(wiki, page_ttl)), ctx.Tkn_mkr(), page_ttl.Ns(), page_ttl.Page_db(), transclude_src); return Eval_sub(ctx, transclude_tmpl, caller, src, bfr); } else { diff --git a/400_xowa/src/gplx/xowa/parsers/tmpls/Xot_invk_wkr__transclude__tst.java b/400_xowa/src/gplx/xowa/parsers/tmpls/Xot_invk_wkr__transclude__tst.java index 8e0cacfe5..ac57e04a5 100644 --- a/400_xowa/src/gplx/xowa/parsers/tmpls/Xot_invk_wkr__transclude__tst.java +++ b/400_xowa/src/gplx/xowa/parsers/tmpls/Xot_invk_wkr__transclude__tst.java @@ -48,4 +48,9 @@ public class Xot_invk_wkr__transclude__tst { fxt.Init_defn_add("Test_3", "{{:Template:{{{1}}}}}"); fxt.Test_parse_tmpl_str("{{Test 3|b}}", "[[:Template:b]]"); } + @Test public void Toc() { // PURPOSE: __TOC__ in transcluded page should be ignored; PAGE:de.w:Game_of_Thrones DATE:2016-11-21 + fxt.Init_page_create("TranscludedToc", "__TOC__\na"); + fxt.Parser().Expand_tmpl(Bry_.new_u8("{{:TranscludedToc}}")); + Tfds.Eq(false, fxt.Page().Wtxt().Toc().Flag__toc()); // transcluded page is true, but current page should still be false + } }