diff --git a/src/core/stuff.c b/src/core/stuff.c index 6f1249c3..faec7d25 100644 --- a/src/core/stuff.c +++ b/src/core/stuff.c @@ -422,7 +422,7 @@ B bqn_merge(B x) { // consumes ur xr = rnk(x); if (xia==0) { B xf = getFillE(x); - if (isAtm(xf)) { dec(xf); return x; } + if (isAtm(xf)) { dec(x); dec(xf); return x; } i32 xfr = rnk(xf); B xff = getFillQ(xf); Arr* r = m_fillarrp(0); @@ -433,6 +433,7 @@ B bqn_merge(B x) { // consumes memcpy (rsh , a(x)->sh, xr *sizeof(usz)); if(xfr)memcpy(rsh+xr, a(xf)->sh, xfr*sizeof(usz)); } + dec(x); dec(xf); return taga(r); }