6412b58f4efb9beba7d01f8cf50f6026d0188436
braney
  Thu Apr 27 13:31:02 2023 -0700
fix a couple of bugs in squishyPack mode

diff --git src/hg/lib/cart.c src/hg/lib/cart.c
index 0e8fb83..7e664d2 100644
--- src/hg/lib/cart.c
+++ src/hg/lib/cart.c
@@ -2798,34 +2798,37 @@
     dyStringPrintf(orderDY, "%s ",words[0]);
 
 return dyStringCannibalize(&orderDY);
 }
 
 char *cartLookUpVariableClosestToHome(struct cart *cart, struct trackDb *tdb,
                                       boolean parentLevel, char *suffix,char **pVariable)
 /* Returns value or NULL for a cart variable from lowest level on up. Optionally
  * fills the non NULL pVariable with the actual name of the variable in the cart */
 {
 if (parentLevel)
     tdb = tdb->parent;
 for ( ; tdb != NULL; tdb = tdb->parent)
     {
     char buf[512];
+    char *trackName = tdb->track;
+    if (tdb->originalTrack)
+        trackName = tdb->originalTrack;
     if (suffix[0] == '.' || suffix[0] == '_')
-        safef(buf, sizeof buf, "%s%s", tdb->track,suffix);
+        safef(buf, sizeof buf, "%s%s", trackName,suffix);
     else
-        safef(buf, sizeof buf, "%s.%s", tdb->track,suffix);
+        safef(buf, sizeof buf, "%s.%s", trackName,suffix);
     char *cartSetting = hashFindVal(cart->hash, buf);
     if (cartSetting != NULL)
         {
 	if(pVariable != NULL)
 	    *pVariable = cloneString(buf);
 	return cartSetting;
         }
     }
 if (pVariable != NULL)
     *pVariable = NULL;
 return NULL;
 }
 
 void cartRemoveVariableClosestToHome(struct cart *cart, struct trackDb *tdb,
                                      boolean parentLevel, char *suffix)