<div dir="ltr">Hi,<div><br></div><div>First, I understand that the new <font face="monospace, monospace">configitems.loadconfigtable</font> is called for each activated extension and expects to find a <font face="monospace, monospace">configtable</font> object within the extension module to inject the extension's configs into the <font face="monospace, monospace">ui</font>'s known configs. I had to step into the code to find out about it and it is not documented in <a href="https://www.mercurial-scm.org/wiki/WritingExtensions">https://www.mercurial-scm.org/wiki/WritingExtensions</a></div><div><br></div><div>What would be the proper way to register a config used in a hook?</div><div><br></div><div>There is no call to <font face="monospace, monospace">configitems.loadconfigtable</font> when a hook module is loaded. If I manually register a config on the <font face="monospace, monospace">ui</font> object passed to the hook, this config will be registered as many times as the hook is called. I could check if the config has already been registered before registering it, but this is more a workaround than a clean solution.</div><div><br></div><div>Is this something that is not properly handled yet? Should <font face="monospace, monospace">configitems.loadconfigtable</font> be called right after <font face="monospace, monospace"><span style="color:rgb(0,0,0);font-size:9pt">obj = </span><span style="font-size:9pt;color:rgb(0,0,128)">__import__</span><span style="color:rgb(0,0,0);font-size:9pt">(modname) </span></font>in <font face="monospace, monospace">hook.py</font>?</div><div><br></div><div>Thanks</div><div><br></div><div>Olivier Trempe</div></div>