i realize the issue of freezing has probably come up a lot in the history of mIRC scripting,
and at this point you are probably just done with changing anything about it, because of how
finicky of an issue it is.
However, i still believe we could address the issue in another way... I mean, the core reason for
why we get "Not responding" issues at all, (if i understand it correctly), is that we're not giving a
chance for the Windows API to "breathe", which is why someone had come up with a DLL several
years ago, that would make a periodic call back to Windows API and it seemed to fix the freezing issue.
I think the best solution though, would be to have an internal counter for each `While` function, and after
every 10 or 50 calls, just do a callback to the Windows API, and in this way, i think it would throttle the
scripting environment.
and if you don't have to worry about the scripting environment crashing mIRC, then you can go back to your
original method of locally checking for Ctrl+Break (instead of globally)
an alternative might be, you could set something up in "Options", to let users decide how mIRC
will handle the ctrl+break, whether they want to sacrifice scripting speed, for scripting stability.
i understand though, if you don't consider this issue a priority.