http://www6.chessclub.com/help/PGN-spec >>>>>>>> 8.2.3.3: Basic SAN move construction A basic SAN move is given by listing the moving piece letter (omitted for pawns) followed by the destination square. Capture moves are denoted by the lower case letter "x" immediately prior to the destination square; pawn captures include the file letter of the originating square of the capturing pawn immediately prior to the "x" character. <<<<<<<< When a capture move is made, say d4 capturing e5, knights wrongly outputs the move as "e5" when the correct form is "dxe5". This breaks import on other chess clients which are compliant (sicd).
I also noticed that the display of the short algebraic notation is wrong, as it omits the x in the capture.
I have a potential fix for this problem. Does knights only have this problem with capturing or also with check and checkmate?
Knights also has the same problem with the check and with the checkmate. The handling of the different notations is a mess in knights and I don't see any easy way to quickly address this problem without going for a refactoring of the problematic code...
Can confirm for 2.6.20121 from Debian GNU/Linux 11 (bullseye).