An EditGameEvent can interrupt tinking of an engine, and the engine
might or might not send back a move as a result of that thinking.
To solve this, a "force" command sent to an engine playing white or
black will now be followed by a "ping". (If supported, of course.)
       case MachinePlaysBlack:
       case BeginningOfGame:
        SendToProgram("force\n", &first);
+       if (first.usePing) { // [HGM] always send ping when we might interrupt machine thinking
+         char buf[MSG_SIZ];
+         snprintf(buf, MSG_SIZ, "ping %d\n", initPing = ++first.lastPing);
+         SendToProgram(buf, &first);
+       }
        SetUserThinkingEnables();
        break;
       case PlayFromGameFile: