I'm developing a chess engine and I'm using SAN notation.
I have the following issue,when playing my engine against itself at some point I send the move "Ngxe3" because I have two knights who can reach e3 so I have to perform disambiguation.
The problem is that the command received by the other engine is "Nxe3". The second engine can't tell which piece to move, so it updates its internal board by moving the wrong knight.
Why does winboard alter my command,is it a bug? I don't know if its relevant but my engine at this stage moves randomly so it sends commands very quickly.
I keep a log in which I write all the commands that I send/receive to/from Winboard so I know for sure that these are the commands sent/received.