fd380f3ae9c678f8e92b4728d5f614a71764fecd braney Tue Sep 1 12:56:18 2026 -0700 trackDbConditions: four fixes found by walking the results against the code, refs #37908 Walking the worklist row by row is what found these; none of them was visible from the summary counts. A read wrapped in another call was invisible to the value map, because it stopped at the first call name. cloneString(trackDbSetting(...)) and atoi(cartOrTdbString(...)) are both common. This is why hideEmptySubtracksSourcesUrl came back as merely composite-only when it in fact also needs hideEmptySubtracks and hideEmptySubtracksMultiBedUrl. A macro in a condition was read as an unknown word, so cartVarExistsAnyLevel(cart, tdb, FALSE, MAF_CHAIN_VAR) did not resolve. That hid the fact that irows is consulted only when mafChain is absent from the cart. Same indirection trap as the chained defines, in a different place. The variable-to-setting map kept only the last assignment. wigFetchMinMaxYWithCart assigns defaultViewLimits from defaultViewLimits and then, if that came back NULL, from viewLimits, so the test in between looked like viewLimits testing itself. It is now resolved at the position of the test, which turns an artifact into the real finding: viewLimits is read only when defaultViewLimits is absent. Two classes of noise removed. "Read the trackDb value when the cart has none" is how every setting with a default resolves, and it was a third of the worklist. A guard on the trackDb type line having words is a sanity check that is true of every track, and it was the whole of what the scan had to say about chainNormScoreAvailable, lollyMaxSize and lollyNoStems. diff --git src/hg/utils/trackDbConditions/conditionBaseline.txt src/hg/utils/trackDbConditions/conditionBaseline.txt index 750d400c0f5..b6ec112ec29 100644 --- src/hg/utils/trackDbConditions/conditionBaseline.txt +++ src/hg/utils/trackDbConditions/conditionBaseline.txt @@ -1,57 +1,54 @@ # Documented settings whose reads all sit behind a condition. # Accepted state for trackDbConditions.py --check. One scope:name per line. render:bamColorTag render:barChartColors +render:barChartFacets render:barChartMerge render:baseColorTickColor render:baseColorUseCds render:bigDataIndex render:centerLabelsDense -render:chainNormScoreAvailable render:colorFields render:compositeTrack render:configurable render:configureByPopup render:dataVersion render:detailsBoxesEnabled -render:drawMode render:exonNumbers render:filterBy render:frames render:genome render:hapClusterHeight render:hapClusterTreeAngle render:hicArcLimit render:hideEmptySubtracks render:hideEmptySubtracksMultiBedUrl render:hideEmptySubtracksSourcesUrl render:highlightColor +render:intronGap render:irows render:itemRgb render:labelOnFeature +render:labelSeparator render:linkDataUrl render:logoMaf render:lollyMaxSize render:lollyNoStems render:maxLimit render:metadata render:minGrayLevel render:minQual render:negateValues render:noInherit -render:normalization render:otherTwoBitUrl render:pairSearchRange render:pennantIcon -render:resolution render:saturationScore render:searchIndex render:showCdsMaxZoom -render:smoothingWindow render:sortOrder render:speciesCodonDefault render:subGroups render:superTrack render:thickDrawItem render:viewLimits -render:windowingFunction