updates u3m_soft to skip tank printing if we have no kernel
@@ -1180,10 +1180,20 @@ u3m_soft(c3_w sec_w,
if ( 0 == u3h(why) ) {
return why;
- } else {
- u3_noun tax, cod, pro, mok;
+ }
+ else {
+ // don't use .^ at the top level!
+ //
+ c3_assert(1 != u3h(why));
- c3_assert(1 != u3h(why)); // don't use .^ at the top level!
+ // don't call +mook if we have no kernel
+ //
+ if ( 0 == u3A->roc ) {
+ u3z(why);
+ return u3nc(2, u3_nul);
+ }
+ else {
+ u3_noun tax, cod, pro, mok;
if ( 2 == u3h(why) ) {
cod = c3__exit;
@@ -1195,6 +1205,7 @@ u3m_soft(c3_w sec_w,
cod = u3k(u3h(u3t(why)));
tax = u3k(u3t(u3t(why)));
}
+
mok = u3dc("mook", 2, tax);
pro = u3nc(cod, u3k(u3t(mok)));
@@ -1204,6 +1215,7 @@ u3m_soft(c3_w sec_w,
return pro;
}
}
+}
/* _cm_is_tas(): yes iff som (RETAIN) is @tas.
*/
