6c9a90b6f01e54fd17eb775814c12b82664a9709
braney
  Thu Nov 15 10:42:12 2018 -0800
use escaped comma parsing for filterBy settings

diff --git src/hg/lib/hui.c src/hg/lib/hui.c
index 5a950ec..4b2e8e9 100644
--- src/hg/lib/hui.c
+++ src/hg/lib/hui.c
@@ -3623,31 +3623,31 @@
 char *setting = trackDbSetting(tdb, filterName);
 char *value = cartUsualStringClosestToHome(cart, tdb, FALSE, filterName, setting);
 char *field = cloneString(filterName);
 int ix = strlen(field) - strlen(FILTER_VALUES_NAME);
 assert(ix > 0);
 field[ix] = '\0';
 
 filterBy_t *filterBy;
 AllocVar(filterBy);
 filterBy->column = field;
 filterBy->title = field; ///  title should come from AS file, or trackDb variable
 struct asColumn *asCol = asColumnFind(as, field);
 if (asCol != NULL)
     filterBy->title = asCol->comment;
 filterBy->useIndex = FALSE;
-filterBy->slValues = slNameListFromComma(value);
+filterBy->slValues = slNameListFromCommaEscaped(value);
 chopUpValues(filterBy);
 if (cart != NULL)
     {
     char suffix[256];
     safef(suffix, sizeof(suffix), "%s.%s", "filterBy", filterBy->column);
     boolean parentLevel = isNameAtParentLevel(tdb,tdb->track);
     if (cartLookUpVariableClosestToHome(cart,tdb,parentLevel,suffix,&(filterBy->htmlName)))
         {
         filterBy->slChoices = cartOptionalSlNameList(cart,filterBy->htmlName);
         freeMem(filterBy->htmlName);
         }
     }
 
 struct dyString *dy = newDyString(128);
 dyStringPrintf(dy, "%s.%s.%s", name, "filterBy", filterBy->column);