1
0
Fork 0

Clarify SAN disambiguation in case of a pinned piece

In SAN notation when two pieces of the same type can
move to a given destination square, a disambiguation
additional info (like starting file) shall be added
to the SAN move.

If one of the two pieces is pinned, the corresponding
move _could_ be illegal and in this case disambiguation
is not needed. But to be pinned alone it is not enough
to deduce that the move is illegal, for instance in this
position:

R3rk2/2r6/8/8/8/8/8/K7 b - - 0 1

The move Rc8 is ambiguous although the rook in e8 is pinned
and the correct SAN notation should be Rcc8.

No functional change.
sf_3_base
Marco Costalba 2013-01-12 13:19:06 +01:00
parent e1191b35e8
commit 3a836dab59
1 changed files with 1 additions and 1 deletions

View File

@ -137,7 +137,7 @@ const string move_to_san(Position& pos, Move m) {
{
Square sq = pop_lsb(&attackers);
// Pinned pieces are not included in the possible sub-set
// If the move is illegal, the piece is not included in the sub-set
if (!pos.pl_move_is_legal(make_move(sq, to), pos.pinned_pieces()))
continue;