BTW, would we like the effect of declare-function to be local to its lexical scope? Would this be feasible? I guess we'd need a new var to keep track of unresolved fns per scope, and merge its remaining contents with the global unresolved and noruntime lists when popping scope, or something like that? My motivating example is, had I declared tab-bar-height within frame-notice-user-settings for --without-x builds, then that would have shadowed its later unqualified use in frame-inner-height, leaving bug#47234 unnoticed. (Of course the same would be true if the declaration were at top-level.) Remembering to support a variety of build configurations is already tricky enough, so maybe this will help prevent some subset of bugs. Or would it not be worth the effort? Thanks, -- Basil