No problem! I really appreciate your constructive and detailed feedback.
Agreed. Rewritten removing "primary purpose".
Well, this is a complex sentence, and another user remarked about confusion of the name. To me, having the "(using the same Semaphore Name)" immediately following " Place a Semaphore Lock Action" removes all ambiguity.
So, I'll have to disagree on this one, and keep it as is.
Agreed. Change to use your text.
Seems like this is made clear by:
The lock will remain in place, preventing the other macros from executing, until the first macro completes or until the semaphore is unlocked with a Semaphore Unlock action.
So I don't see the need for any change there.
OK, is this clearer?
You can also cause all additional macro instances to be immediately cancelled by setting a very short timeout (1 hundredth of a second) for the Semaphore Lock Action. When the Semaphore Local Action times out, it cancels the pending execution of that macro instance.
"Macro instances" can be confusing. Basically, every time a Macro executes, it is an "instance".
So in this context, "macro instances" refers to both additional instances of the same macro and instances of other macros that use the same named Semaphore Lock Action.
I will add a footnote defining "macro instance"
Actually that statement needs to be above the bullet list, which is where I have put it.
Thanks again for your helpful feedback.
Based on and inspired by the feedback from @Shoshanna, I have made another major revision.
Rather than posting a quote of it here, please read the entire article so that this section is understood in context.
All constructive comments welcome!