diff --git a/.travis/pin-arvo-commit.txt b/.travis/pin-arvo-commit.txt index 4e689c4c5d..92c82b8d06 100644 --- a/.travis/pin-arvo-commit.txt +++ b/.travis/pin-arvo-commit.txt @@ -1 +1 @@ -806c604c2f0f9ee7eea2999e6bb15ed5a8abaa99 +e71c57b4455c84062230b4277f95eb7047a26146 diff --git a/jets/f/ut_find.c b/jets/f/ut_find.c index 610e4a46f8..7de284836b 100644 --- a/jets/f/ut_find.c +++ b/jets/f/ut_find.c @@ -190,15 +190,8 @@ u3_noun pu_zem = u3h(u_zem); u3_noun qu_zem = u3t(u_zem); u3_noun zut; - u3_noun mut; u3_noun pro; - mut = u3nt(c3__core, - u3k(p_sut), - u3nt(u3nt(u3k(ppq_sut), u3k(qpq_sut), c3__gold), - u3k(qq_sut), - u3k(rq_sut))); - #if 1 if ( qpq_sut == c3__wet ) { zut = u3nc(c3__wet, u3k(qu_zem)); @@ -214,7 +207,7 @@ u3nc(u3nc(u3_nul, u3k(axe)), u3k(lon)), u3nt(c3n, u3qc_peg(2, pu_zem), - u3nt(u3nc(mut, zut), u3_nul, u3_nul))); + u3nt(u3nc(u3k(sut), zut), u3_nul, u3_nul))); u3z(zem); return pro; diff --git a/jets/f/ut_fire.c b/jets/f/ut_fire.c index 7ca02bccbc..873d4524be 100644 --- a/jets/f/ut_fire.c +++ b/jets/f/ut_fire.c @@ -62,6 +62,7 @@ u3_noun gat) { u3_noun p_typ, q_typ, pq_typ, qq_typ, rq_typ; + u3_noun ppq_typ, qpq_typ, rpq_typ; u3_noun h_gat, t_gat; if ( (c3n == u3du(typ)) || (c3__core != u3h(typ)) ) { @@ -69,12 +70,16 @@ } else if ( (c3n == u3r_cell(u3t(typ), &p_typ, &q_typ)) || (c3n == u3r_trel(q_typ, &pq_typ, &qq_typ, &rq_typ)) || + (c3n == u3r_trel(pq_typ, &ppq_typ, &qpq_typ, &rpq_typ)) || (c3n == u3r_cell(gat, &h_gat, &t_gat)) ) { return u3m_bail(c3__fail); } else { - u3_noun dox = u3nt - (c3__core, u3k(qq_typ), u3k(q_typ)); + u3_noun dox = u3nt(c3__core, + u3k(qq_typ), + u3nt(u3nt(u3k(ppq_typ), u3k(qpq_typ), c3__gold), + u3k(qq_typ), + u3k(rq_typ))); if ( (c3__ash == u3h(gat)) || (c3__dry == u3h(gat)) ) { if ( (c3y == vet) && diff --git a/jets/f/ut_peek.c b/jets/f/ut_peek.c index 96c99414c6..dc9a5887c9 100644 --- a/jets/f/ut_peek.c +++ b/jets/f/ut_peek.c @@ -88,11 +88,26 @@ u3_noun pec = u3qfu_peel(van, sut, way, rpq_sut); u3_noun sam = u3h(pec); u3_noun con = u3t(pec); + u3_atom tow; - if ( c3y == c3a(sam, con) ) { + if ( 1 == lat ) { + tow = 1; + } else { + tow = u3qc_cap(lat); + } + + if ( (c3y == c3a(sam, con)) || + ((c3y == sam) && (tow == 2)) || + ((c3y == con) && (tow == 3)) ) + { pro = _cqfu_peek(van, p_sut, way, lat); } else { + + if ( way != c3__read ) { + return u3m_error("payload-block"); + } + u3_noun typ; { @@ -120,6 +135,7 @@ } u3z(pec); + u3z(tow); } else { pro = c3__noun; diff --git a/jets/tree.c b/jets/tree.c index 4facf4fa09..a96baadedc 100644 --- a/jets/tree.c +++ b/jets/tree.c @@ -233,11 +233,8 @@ static c3_c* _141_pen_loot_ha[] = {0}; static u3j_harm _141_pen__ut_crop_a[] = {{".2", u3wfu_crop}, {}}; static c3_c* _141_pen__ut_crop_ha[] = {0}; - - // XX figure out why this is disabled - // static u3j_harm _141_pen__ut_fire_a[] = {{".2", u3wfu_fire}, {}}; - // static c3_c* _141_pen__ut_fire_ha[] = {0}; - + static u3j_harm _141_pen__ut_fire_a[] = {{".2", u3wfu_fire}, {}}; + static c3_c* _141_pen__ut_fire_ha[] = {0}; static u3j_harm _141_pen__ut_fond_a[] = {{".2", u3wfu_fond}, {}}; static c3_c* _141_pen__ut_fond_ha[] = {0}; static u3j_harm _141_pen__ut_fish_a[] = {{".2", u3wfu_fish}, {}}; @@ -265,7 +262,7 @@ static u3j_core _141_pen__ut_d[] = { { "crop", 7, _141_pen__ut_crop_a, 0, _141_pen__ut_crop_ha }, { "fond", 7, _141_pen__ut_fond_a, 0, _141_pen__ut_fond_ha }, - // { "fire", 7, _141_pen__ut_fire_a, 0, _141_pen__ut_fire_ha }, + { "fire", 7, _141_pen__ut_fire_a, 0, _141_pen__ut_fire_ha }, { "fish", 7, _141_pen__ut_fish_a, 0, _141_pen__ut_fish_ha }, { "fuse", 7, _141_pen__ut_fuse_a, 0, _141_pen__ut_fuse_ha }, { "mint", 7, _141_pen__ut_mint_a, 0, _141_pen__ut_mint_ha },