5ee674363623678393bb186b1f5fdfd981ee743f
braney
  Mon Aug 17 10:35:26 2026 -0700
hgTracks: default multiRegionButtonTop TRUE in config.c too, refs #37977

Two places read multiRegionButtonTop through MULTI_REGION_CFG_BUTTON_TOP: the
top-bar Multi-region button in hgTracks.c and the "Show all" checkbox in the
multi-region dialog in config.c.  Kate put the checkbox under this flag on
purpose in 8ae222adb54.  Then e1f7896a08f turned the flag on by default in
2022 and changed only the hgTracks.c read, so on a machine that does not set
the flag the button moved to the top bar while the checkbox stayed hidden.
It has been hidden for four years, although the cart variable it sets is read
unconditionally at hgTracks.c:11115, so the feature works for anyone who can
reach the variable another way.

The hg.conf catalog row carried this as an open defect, so its note is
rewritten and its recorded default now matches the tree.

diff --git src/hg/utils/hgConfCatalog/hgConfCatalog.py src/hg/utils/hgConfCatalog/hgConfCatalog.py
index a9ac72befe1..cb504eb3159 100755
--- src/hg/utils/hgConfCatalog/hgConfCatalog.py
+++ src/hg/utils/hgConfCatalog/hgConfCatalog.py
@@ -581,41 +581,41 @@
           note="Report link clicks to analytics.  A mirror with its own "
                "privacy policy turns this off."),
         h("analytics.trackButtons", "flag", "hg/lib/googleAnalytics.c:64",
           default="TRUE", role="knob", verified=True,
           note="Report button presses to analytics."),
         h("wikiTrack.readOnly", "flag", "hg/lib/wikiTrack.c:292",
           default="FALSE", role="knob", verified=True, deprecated=True,
           note="Make the wiki annotation track read-only.  The wiki track "
                "itself is effectively retired."),
         h("cdw.siteIsPublic", "flag",
           "hg/cirm/cdw/cdwGetFile/cdwGetFile.c:62", default="FALSE",
           role="knob", verified=True, deprecated=True,
           note="CIRM data warehouse is public.  Belongs to the cirm CGIs, "
                "which are not part of the browser release."),
         h("multiRegionButtonTop", "flag", "hg/hgTracks/config.c:1024",
-          default="FALSE", role="knob", public=True, verified=True,
+          default="TRUE", role="knob", public=True, verified=True,
           note="Where the multi-region button lives, which is a layout "
-               "preference a mirror is entitled to keep, so a knob.  But the "
-               "two reads disagree about the compiled-in default: "
-               "hgTracks.c:9126 uses TRUE and config.c:990 uses FALSE, both "
-               "through MULTI_REGION_CFG_BUTTON_TOP.  So on a machine that "
-               "does not set it the button is in the top bar while the \"Show "
-               "all\" checkbox the same flag guards in the multi-region "
-               "dialog is hidden, which cannot be what either read intended.  "
-               "Needs whoever owns that dialog to say which default is right; "
-               "the classification does not depend on the answer."),
+               "preference a mirror is entitled to keep, so a knob.  Two "
+               "reads use it through MULTI_REGION_CFG_BUTTON_TOP: the top-bar "
+               "button at hgTracks.c:9166 and the \"Show all\" checkbox in the "
+               "multi-region dialog at config.c:1024.  They disagreed about "
+               "the compiled-in default for four years, because e1f7896a08f "
+               "turned the flag on by default in 2022 and changed only the "
+               "hgTracks.c read, so on a machine that did not set the flag the "
+               "button was in the top bar while the checkbox was hidden.  "
+               "config.c now defaults TRUE as well."),
         h("ignoreDefaultKnown", "flag", "hg/lib/hdb.c:6146", default="FALSE",
           role="knob", verified=True,
           note="In hdbDefaultKnownDb, ignore the defaultKnown table and treat "
                "the requested db as its own known-genes db.  A property of a "
                "machine whose gene tables are not laid out the way the RR's "
                "are, so a knob; it gates no feature and there is nothing to "
                "flip."),
         h("blatOldTracks", "internal", "hg/hgc/hgc.c:27564", default="keep",
           verified=True,
           note="What happens to the custom tracks left behind by a user's "
                "earlier BLAT searches when a new search makes another one.  "
                "Three values: keep (the default) leaves every one of them "
                "alone, hide leaves them in the session but sets them to hide, "
                "delete drops them from the session and lets their trash files "
                "age out.  Only tracks tagged blatResult=on are touched, and "