diff options
author | Matěj Cepl <mcepl@cepl.eu> | 2024-05-19 00:36:53 +0200 |
---|---|---|
committer | Matěj Cepl <mcepl@cepl.eu> | 2024-05-19 00:36:53 +0200 |
commit | 71d625f730d872791eef74d7999e1be28d5e5c7e (patch) | |
tree | e15070e9b9c169165b8d0410bc81851f68addb0f /z22.c | |
parent | adfba3772459ce4261cfd17922271fee3443a7dc (diff) | |
download | lout-71d625f730d872791eef74d7999e1be28d5e5c7e.tar.gz |
Lout 3.40.
http://jeffreykingston.id.au/lout/lout-3.40.tar.gz
Diffstat (limited to 'z22.c')
-rw-r--r-- | z22.c | 12 |
1 files changed, 11 insertions, 1 deletions
@@ -88,6 +88,7 @@ void Interpose(OBJECT z, int typ, OBJECT x, OBJECT y) void FlushInners(OBJECT inners, OBJECT hd) { OBJECT y, z, tmp, dest_index; + debug1(DGA, D, "[ FlushInners(%s, -)", DebugInnersNames(inners)); ifdebug(DGF, D, OBJECT link; fprintf(stderr, "dgf: [ FlushInners("); @@ -139,6 +140,7 @@ void FlushInners(OBJECT inners, OBJECT hd) Parent(dest_index, Up(hd)); if( actual(actual(dest_index)) == PrintSym ) { DisposeObject(inners); + debug0(DGA, D, "] FlushInners returning (PrintSym)"); debug0(DGF, D, "] FlushInners returning (PrintSym)"); return; } @@ -147,6 +149,8 @@ void FlushInners(OBJECT inners, OBJECT hd) while( Down(inners) != inners ) { Child(y, Down(inners)); DeleteLink(Down(inners)); + debug2(DGA, D, "FlushInners at %s (remainder %s)", Image(type(y)), + DebugInnersNames(inners)); switch( type(y) ) { @@ -161,8 +165,11 @@ void FlushInners(OBJECT inners, OBJECT hd) if( Down(y) != y ) /* bug fix (was assert before) */ { assert( Down(y) != y, "FlushInners: UNATTACHED!"); Child(z, Down(y)); - debug1(DGF,D," possibly calling FlushGalley %s from FlushInners (a)", + debug1(DGA,D," possibly calling FlushGalley %s from FlushInners (a)", SymName(actual(z))); + if( whereto(z) != nilobj ) + debug2(DGA,D," (whereto(z) = %s, uses_extern_target = %s)", + SymName(whereto(z)), bool(uses_extern_target(whereto(z)))); if( whereto(z)==nilobj || !uses_extern_target(whereto(z)) ) /* &&& */ FlushGalley(z); } @@ -199,6 +206,7 @@ void FlushInners(OBJECT inners, OBJECT hd) } } Dispose(inners); + debug0(DGA, D, "] FlushInners returning"); debug0(DGF, D, "] FlushInners returning"); } /* end FlushInners */ @@ -235,11 +243,13 @@ void ExpandRecursives(OBJECT recs) whereto(hd) = ready_galls(hd) = nilobj; foll_or_prec(hd) = GALL_FOLL; sized(hd) = FALSE; + seen_nojoin(hd) = FALSE; tmp = CopyObject(target, &fpos(target)); env = DetachEnv(tmp); Link(hd, tmp); Link(target_index, hd); SizeGalley(hd, env, external_ver(target), gall_dir(hd) == ROWM ? threaded(target) : FALSE, FALSE, FALSE, &save_style(target), &non_c, nilobj, &n1, &newrecs, &inners, nilobj); + debug1(DGA, D, " ExpandRecursives inners: %s", DebugInnersNames(inners)); debug0(DCR, DDD, " as galley:"); ifdebug(DCR, DDD, DebugObject(hd)); debug1(DGS, DD, "[ ExpandRecursives calling Constrained(%s, COLM)", |