DisposaBoy: Checking a scope shouldn’t trigger the timeout: the HTML completion plugins, which are shipped with the editor, do this from their on_modified event handler, and I haven’t yet seen reports of this resulting in warnings. Plugins are allow to exceed the limit once before a warning is issued, to account for any initialisation issues. That being said, it’s certainly plausible that there will be times, such as when the entire application has been swapped out to disk, that plugins will unfairly receive warnings.
set_timeout callbacks are run in the main thread, and warnings currently aren’t issued if any of these callbacks take too long, although this will change in the future if required. There is unfortunately no way to have set_timeout both run its callbacks in the main thread, and not have them potentially cause the UI to be unresponsive.
There are certainly times when Sublime Text itself will block the UI thread, such as when saving, but in general there aren’t many of these situations, and none in response to the critical on_modified and on_selection_modified events.
As a general rule, no warnings are issued if a command takes too long in it’s run() method, and none will be in the future. Any commands explicitly issued by the user are allowed to take a long time, as this is often intrinsically unavoidable (e.g., sorting the lines in a 1GB file).