d8542ef96c5fc7454b1830a28c2fcf8c6a4fda27
tdreszer
  Thu Dec 22 11:27:36 2011 -0800
Removing old ifdefs.  No functional changes here.
diff --git src/hg/lib/cart.c src/hg/lib/cart.c
index 4944d1f..d487051 100644
--- src/hg/lib/cart.c
+++ src/hg/lib/cart.c
@@ -11,34 +11,30 @@
 #include "cart.h"
 #include "net.h"
 #include "web.h"
 #include "hdb.h"
 #include "jksql.h"
 #include "jsHelper.h"
 #include "trashDir.h"
 #ifndef GBROWSE
 #include "customFactory.h"
 #include "googleAnalytics.h"
 #include "wikiLink.h"
 #endif /* GBROWSE */
 #include "hgMaf.h"
 #include "hui.h"
 
-// NOTE: using '.' as delimiter in trackName.var cart vars is too pervasive to
-//       to support '_' so don't bother!
-//////// #define SUPPORT_UNDERBAR_DELIMIT
-
 static char *sessionVar = "hgsid";	/* Name of cgi variable session is stored in. */
 static char *positionCgiName = "position";
 
 DbConnector cartDefaultConnector = hConnectCart;
 DbDisconnect cartDefaultDisconnector = hDisconnectCart;
 
 static void hashUpdateDynamicVal(struct hash *hash, char *name, void *val)
 /* Val is a dynamically allocated (freeMem-able) entity to put
  * in hash.  Override existing hash item with that name if any.
  * Otherwise make new hash item. */
 {
 struct hashEl *hel = hashLookup(hash, name);
 if (hel == NULL)
     hashAdd(hash, name, val);
 else
@@ -278,37 +274,34 @@
 	    cartSetString(cart, ctFileVar, ctFileName);
 	    customTracksSaveFile(db, ctList, ctFileName);
 	    }
 	}
     }
 }
 #endif /* GBROWSE */
 
 static void storeInOldVars(struct cart *cart, struct hash *oldVars, char *var)
 /* Store all cart hash elements for var into oldVars (if it exists). */
 {
 if (oldVars == NULL)
     return;
 struct hashEl *hel = hashLookup(cart->hash, var);
 
-#define CART_DIFFS_INCLUDE_EMPTIES
-#ifdef CART_DIFFS_INCLUDE_EMPTIES
 // NOTE: New cgi vars not in old cart cannot be distinguished from vars not newly set by cgi.
 //       Solution: Add 'empty' var to old vars for cgi vars not already in cart
 if (hel == NULL)
     hashAdd(oldVars, var, cloneString(CART_VAR_EMPTY));
-#endif///def CART_DIFFS_INCLUDE_EMPTIES
 
 while (hel != NULL)
     {
     hashAdd(oldVars, var, cloneString(hel->val));
     hel = hashLookupNext(hel);
     }
 }
 
 static void cartJustify(struct cart *cart, struct hash *oldVars)
 /* Handles rules for allowing some cart settings to override others. */
 {
 // New priority (position) settings should erase imgOrd settings
 if(oldVars == NULL)
     return;
 #define POSITION_SUFFIX ".priority"
@@ -1969,49 +1962,43 @@
 //#define DEBUG_WITH_WARN
 #ifdef DEBUG_WITH_WARN
                                 #define WARN warn
                                 #define ASSERT assert
 #else///ifndef DEBUG_WITH_WARN
                                 #define WARN(...)
                                 #define ASSERT(...)
 #endif///ndef DEBUG_WITH_WARN
 
 
 boolean cartValueHasChanged(struct cart *newCart,struct hash *oldVars,char *setting,boolean ignoreRemoved,boolean ignoreCreated)
 /* Returns TRUE if new cart setting has changed from old cart setting */
 {
 char *oldValue = hashFindVal(oldVars,setting);
 if (oldValue == NULL)
-#ifdef CART_DIFFS_INCLUDE_EMPTIES
     return FALSE;  // All vars changed by cgi will be found in old vars
-#else///ifndef CART_DIFFS_INCLUDE_EMPTIES
-    return (!ignoreCreated);
-#endif///ndef CART_DIFFS_INCLUDE_EMPTIES
 
 char *newValue = cartOptionalString(newCart,setting);
 if (newValue == NULL)
     return (!ignoreRemoved);
 
-#ifdef CART_DIFFS_INCLUDE_EMPTIES
 if (sameString(oldValue,CART_VAR_EMPTY))
     {
     if (sameString(newValue,"hide")
     ||  sameString(newValue,"off")
     ||  sameString(newValue,"0"))   // Special cases DANGER!
         return FALSE;
     }
-#endif///def CART_DIFFS_INCLUDE_EMPTIES
 
 return (differentString(newValue,oldValue));
 }
 
 static int cartNamesPruneChanged(struct cart *newCart,struct hash *oldVars,
                           struct slPair **cartNames,boolean ignoreRemoved,boolean unChanged)
 /* Prunes a list of cartNames if the settings have changed between new and old cart.
    Returns pruned count */
 {
 int pruned = 0;
 struct slPair *oldList = *cartNames;
 struct slPair *newList = NULL;
 struct slPair *oneName = NULL;
 while ((oneName = slPopHead(&oldList)) != NULL)
     {
@@ -2031,67 +2018,51 @@
 int cartRemoveFromTdbTree(struct cart *cart,struct trackDb *tdb,char *suffix,boolean skipParent)
 /* Removes a 'trackName.suffix' from all tdb descendents (but not parent).
    If suffix NULL then removes 'trackName' which holds visibility */
 {
 int removed = 0;
 boolean vis = (suffix == NULL || *suffix == '\0');
 struct slRef *tdbRef, *tdbRefList = trackDbListGetRefsToDescendants(skipParent?tdb->subtracks:tdb);
 for (tdbRef = tdbRefList; tdbRef != NULL; tdbRef = tdbRef->next)
     {
     struct trackDb *descendentTdb = tdbRef->val;
     char setting[512];
     if (vis)
         safef(setting,sizeof(setting),"%s",descendentTdb->track);
     else
         safef(setting,sizeof(setting),"%s.%s",descendentTdb->track,suffix);
-#ifdef SUPPORT_UNDERBAR_DELIMIT
-    int count = cartRemoveAndCount(cart,setting);
-    if (count > 0 || vis)
-        {
-        removed += count;
-        continue;
-        }
-    *(setting + strlen(descendentTdb->track)) = '_'; // Try '_'
-#endif///def SUPPORT_UNDERBAR_DELIMIT
     removed += cartRemoveAndCount(cart,setting);
     }
 return removed;
 }
 
 static int cartRemoveOldFromTdbTree(struct cart *newCart,struct hash *oldVars,struct trackDb *tdb,char *suffix,char *parentVal,boolean skipParent)
 /* Removes a 'trackName.suffix' from all tdb descendents (but not parent), BUT ONLY IF OLD or same as parentVal.
    If suffix NULL then removes 'trackName' which holds visibility */
 {
 int removed = 0;
 boolean vis = (suffix == NULL || *suffix == '\0');
 struct slRef *tdbRef, *tdbRefList = trackDbListGetRefsToDescendants(skipParent?tdb->subtracks:tdb);
 for (tdbRef = tdbRefList; tdbRef != NULL; tdbRef = tdbRef->next)
     {
     struct trackDb *descendentTdb = tdbRef->val;
     char setting[512];
     if (vis)
         safef(setting,sizeof(setting),"%s",descendentTdb->track);
     else
         safef(setting,sizeof(setting),"%s.%s",descendentTdb->track,suffix);
     char *newVal = cartOptionalString(newCart,setting);
-#ifdef SUPPORT_UNDERBAR_DELIMIT
-    if (newVal == NULL && !vis)                          // NOTE: assumed '.' not '_'
-        {
-        *(setting + strlen(descendentTdb->track)) = '_'; // Try '_'
-        newVal = cartOptionalString(newCart,setting);
-        }
-#endif///def SUPPORT_UNDERBAR_DELIMIT
     if (    newVal    != NULL
     && (   (parentVal != NULL && sameString(newVal,parentVal))
         || (FALSE == cartValueHasChanged(newCart,oldVars,setting,TRUE,FALSE))))
         removed += cartRemoveAndCount(newCart,setting);
     }
 return removed;
 }
 
 static boolean cartTdbOverrideSuperTracks(struct cart *cart,struct trackDb *tdb,boolean ifJustSelected)
 /* When when the child of a hidden supertrack is foudn and selected, then shape the supertrack accordingly
    Returns TRUE if any cart changes are made */
 {
 // This is only pertinent to supertrack children just turned on
 if (!tdbIsSuperTrackChild(tdb))
     return FALSE;
@@ -2377,35 +2348,30 @@
 #ifdef SUBTRACK_CFG
     char *cartVis = cartOptionalString(newCart,tdbView->track);
     if (cartVis != NULL)  // special to get viewVis in the list
         {
         lmAllocVar(lm, oneName);
         oneName->name = lmCloneString(lm, tdbView->track);
         oneName->val = lmCloneString(lm, cartVis);
         slAddHead(&changedSettings,oneName);
         }
 #endif///ndef SUBTRACK_CFG
 
     // Now the non-vis settings
     safef(setting,sizeof(setting),"%s.",tdbView->track);
     struct slPair *changeViewSettings = cartVarsWithPrefixLm(newCart, setting, lm);
     changedSettings = slCat(changedSettings, changeViewSettings);
-#ifdef SUPPORT_UNDERBAR_DELIMIT
-    safef(setting,sizeof(setting),"%s_",tdbView->track);
-    changeViewSettings = cartVarsWithPrefixLm(newCart, setting, lm);
-    changedSettings = slCat(changedSettings, changeViewSettings);
-#endif///ndef SUPPORT_UNDERBAR_DELIMIT
     }
 if (changedSettings == NULL && !containerVisChanged)
     return anythingChanged;
 
 // Prune list to only those which have changed
 if(changedSettings != NULL)
     {
     (void)cartNamesPruneChanged(newCart,oldVars,&changedSettings,TRUE,FALSE);
     if (changedSettings == NULL && !containerVisChanged)
         return anythingChanged;
     }
 
 // Walk through views
 if (hasViews)
     {
@@ -2415,35 +2381,31 @@
         boolean viewVisChanged = FALSE;
         if (!tdbIsView(tdbView,&view))
             break;
 
     #ifndef SUBTRACK_CFG
         safef(setting,   sizeof(setting),"%s.%s.",tdb->track,view); // unfortunatly setting name could be containerName.View.???
     #endif///ndef SUBTRACK_CFG
         struct slPair *leftOvers = NULL;
         // Walk through settings that match this view
         while ((oneName = slPopHead(&changedSettings)) != NULL)
             {
             suffix = NULL;
             if(startsWith(tdbView->track,oneName->name))
                 {
                 suffix = oneName->name + strlen(tdbView->track);
-            #ifdef SUPPORT_UNDERBAR_DELIMIT
-                if (*suffix == '.' || *suffix == '_')
-            #else///ifndef SUPPORT_UNDERBAR_DELIMIT
                 if (*suffix == '.') // NOTE: standardize on '.' since its is so pervasive
-            #endif///ndef SUPPORT_UNDERBAR_DELIMIT
                     suffix++;
                 else if (isalnum(*suffix)) // viewTrackName is subset of another track!
                     suffix = NULL;         // add back to list for next round
                 }
         #ifndef SUBTRACK_CFG
             else if(startsWith(setting,oneName->name))
                 suffix = oneName->name + strlen(setting);
         #endif///ndef SUBTRACK_CFG
 
             if (suffix == NULL)
                 {
                 slAddHead(&leftOvers,oneName);
                 continue;
                 }