...the first macro's window is not cancelled. The window sits there after all macros were cancelled. And then if I try to select an item in the window, the System Clipboard is not set to the value I selected. I'm puzzled why windows remain on the screen when the Engine isn't running any macros.
I started poking around with other input windows. The other common prompt window actions WILL close upon cancelling all macros, but the Prompt for Screen Rectangle actions does NOT terminate upon cancelling all macros, and even stranger, it DOES succeed in saving its data after its macro was terminated (!!), unlike the Prompt with List action.
In short, the Prompt with List action and the Prompt for Screen Rectangle actions do NOT cancel when their macro is cancelled, and one of them, only one, continues to function after the parent macro is cancelled. How can any action succeed if there are no macros running?
However if I cancel the KM Engine itself while either of those windows are open, even if the macros that created them have been cancelled, the actions will close. So they are still linked to the Engine, even though no macros are running. Strange.
I wonder how many other actions continue to run after the macro that created them has been cancelled.
Yes, all the windows are owned by the KM Engine process, so if the Engine stops, the the windows are killed also.
I mean, it's possible Peter kills them intentionally when the Engine stops, but even if he didn't, they would go away since the process that owns them ended.
The action is aborted at the end of the ten seconds and the prompt is canceled.
Note that Display Progress is different - there is no running macro/action behind the Display Progress window, the action sets the displayed window and the window continues regardless of what actions are run or canceled.
Yes, your way does not trigger the issue (that's interesting!) I just tried it your way, and that doesn't not replicate the issue. But I just tried it my way, again, and it does replicate the issue.
Create a macro that does a "Cancel All Macros" action (I use F19). Then, just "Try" this action:
Very interesting! And, playing around, you don't even need the "Try".
It appears that there's a difference in behaviour between
Run Macro A that pauses for 10 seconds then "Cancels All Macros", quickly run Macro B that shows a "Prompt With List" -- the prompt is dismissed
Run Macro B that shows a "Prompt With List", hotkey-run Macro C that "Cancels All Macros" -- the prompt persists
Run Macro D that pauses for 10 seconds then executes another macro that "Cancels All Macros", quickly run Macro B that shows a "Prompt With List" -- the prompt persists
Even more clearly demonstrated by this fun little Group, run "Main" and it will asynchronously run "Prompt", wait a beat, then run a "Canceler" that cancels all -- the prompt remains. Disable the "Execute Macro 'Canceler'" action, enable the "Cancel All Macros" action, run again -- this time the prompt is dismissed.