07d9e9ec22f32d628d1298245cf7852b2015a5e6
angie
  Tue Oct 2 11:42:23 2018 -0700
Multi-region config also needs to watch out for :start-end suffixes in {alt,fix}Locations.name.  refs #22144

diff --git src/hg/hgTracks/config.c src/hg/hgTracks/config.c
index 50bb83c..70b7ecb 100644
--- src/hg/hgTracks/config.c
+++ src/hg/hgTracks/config.c
@@ -693,45 +693,48 @@
     if (altLocExists || fixLocExists)
         {
         hPrintf("<TR><TD>");
         cgiMakeRadioButton("virtModeType", "singleAltHaplo",
                            sameWord("singleAltHaplo", virtModeType));
         hPrintf("</TD><TD>");
         hPrintf("Show one alternate haplotype");
         if (fixLocExists)
             hPrintf(" or fix patch");
         hPrintf(", placed on its chromosome, using ID: ");
         char *haplo = cartUsualString(cart, "singleAltHaploId", singleAltHaploId);
         char *foundHaplo = NULL;
         char sql[1024];
         if (altLocExists)
             {
-            sqlSafef(sql, sizeof sql, "select name from altLocations where name='%s'", haplo);
+            sqlSafef(sql, sizeof sql,
+                     "select name from altLocations where name rlike '^%s(:[0-9-]+)?'", haplo);
             foundHaplo = sqlQuickString(conn, sql);
             }
         if (!foundHaplo && fixLocExists)
             {
-            sqlSafef(sql, sizeof sql, "select name from fixLocations where name='%s'", haplo);
+            sqlSafef(sql, sizeof sql,
+                     "select name from fixLocations where name rlike '^%s(:[0-9-]+)?'", haplo);
             foundHaplo = sqlQuickString(conn, sql);
             }
         if (!foundHaplo)
             {
             if (altLocExists)
                 sqlSafef(sql, sizeof sql, "select name from altLocations limit 1");
             else
                 sqlSafef(sql, sizeof sql, "select name from fixLocations limit 1");
             haplo = sqlQuickString(conn, sql);
+            chopSuffixAt(haplo, ':');
             }
         hTextVar("singleAltHaploId", haplo, 60);
         hPrintf("</TD></TR>\n");
         }
     }
 
 /* disable demo for now
 if (sameString(database,"hg19") || sameString(database, "hg38"))
     {
     hPrintf("<TR><TD>");
     cgiMakeRadioButton("virtModeType", "demo1", sameWord("demo1", virtModeType));
     hPrintf("</TD><TD>");
     hPrintf("demo1 two windows on two chroms (default pos on chr21, and same loc on chr22)");
     hPrintf("</TD></TR>\n");
     }