emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] 01/01: Update chess.info and fix a minor misunderstanding in ches


From: Mario Lang
Subject: [elpa] 01/01: Update chess.info and fix a minor misunderstanding in chess-display-update documentation.
Date: Thu, 19 Jun 2014 18:18:01 +0000

mlang pushed a commit to branch externals/chess
in repository elpa.

commit 754fd7de5b0041f1059a4bafe201e9e43c60e53d
Author: Mario Lang <address@hidden>
Date:   Thu Jun 19 20:15:19 2014 +0200

    Update chess.info and fix a minor misunderstanding in chess-display-update 
documentation.
---
 chess.info | 1041 ++++++++++++++++++++++++++++++++++--------------------------
 chess.texi |    2 +-
 2 files changed, 586 insertions(+), 457 deletions(-)

diff --git a/chess.info b/chess.info
index 9ee8d9b..3a34331 100644
--- a/chess.info
+++ b/chess.info
@@ -31,19 +31,19 @@ END-INFO-DIR-ENTRY
      modify this GNU manual.”
 
 
-File: chess.info,  Node: Top,  Next: The chess.el library,  Prev: (dir),  Up: 
(dir)
+File: chess.info,  Node: Top,  Next: The chess.el library
 
 Emacs Chess: chess.el
 *********************
 
-Chess.el is an Emacs chess client and library, designed to be used for
+‘Chess.el’ is an Emacs chess client and library, designed to be used for
 writing chess-related programs, or for playing games of chess against
 various chess engines, including Internet servers.  The library can be
 used for analyzing variations, browsing historical games, or a multitude
 of other purposes.
 
-   The purpose of this manual is to help you understand how Chess.el is
-structured for use as a library, and also how to use it as a client.
+   The purpose of this manual is to help you understand how ‘chess.el’
+is structured for use as a library, and also how to use it as a client.
 
 * Menu:
 
@@ -59,16 +59,16 @@ structured for use as a library, and also how to use it as 
a client.
 * Key Index::
 
 
-File: chess.info,  Node: The chess.el library,  Next: Modules,  Prev: Top,  
Up: Top
+File: chess.info,  Node: The chess.el library,  Next: Modules,  Up: Top
 
-1 The chess.el library
-**********************
+1 The ‘chess.el’ library
+************************
 
-This chapter documents the low-level aspects of chess.el, mostly
+This chapter documents the low-level aspects of ‘chess.el’, mostly
 targeting developers interested in understanding the underlying APIs.
 
-   *note Chessboard displays:: and following chapters if you are
-interested in the more user-visible aspects of chess.el.
+   *Note Chessboard displays::, and the chapters following it, if you
+are interested in the more user-visible aspects of ‘chess.el’.
 
 * Menu:
 
@@ -80,24 +80,24 @@ interested in the more user-visible aspects of chess.el.
 * Chess Opening Books::
 
 
-File: chess.info,  Node: Positions,  Next: Plies,  Prev: The chess.el library, 
 Up: The chess.el library
+File: chess.info,  Node: Positions,  Next: Plies,  Up: The chess.el library
 
 1.1 Positions
 =============
 
 A chess "position" is a given layout of pieces on a chess board, also
-reflecting which side is next to move, and what privileges are currently
-available to each side (castling short or long, en passant capture,
-etc).
+reflecting which "side" (i.e., player) is next to move, and what
+privileges are currently available to each side (castling short or long,
+en passant capture, etc).
 
    A position may be represented in ASCII using FEN (or EPD), or
 graphically by displaying a chess board.  It is rather inconvenient to
 render them verbally.
 
    The position can be represented on a remote terminal using X windows,
-or by transmitting the FEN string via a network connection, or
-clipboard, to another chess board rendering tool.  It may of course also
-be represented physically, by setting up the pieces to match the FEN
+or by transmitting the FEN string via a network connection or clipboard,
+to another chess board rendering tool.  It may of course also be
+represented physically, by setting up the pieces to match the FEN
 specification.
 
    Chess puzzles are most often provided as a set of positions.
@@ -112,14 +112,14 @@ specification.
 * EPD notation::
 
 
-File: chess.info,  Node: Creating positions,  Next: Position coordinates,  
Prev: Positions,  Up: Positions
+File: chess.info,  Node: Creating positions,  Next: Position coordinates,  Up: 
Positions
 
 1.1.1 Creating positions
 ------------------------
 
  -- Function: chess-pos-create &optional blank
      Create a new chess position, set at the starting position.  If
-     BLANK is non-nil, all of the squares will be empty.  The current
+     BLANK is non-‘nil’, all of the squares will be empty.  The current
      side-to-move is always white.
 
  -- Function: chess-pos-copy position
@@ -139,9 +139,10 @@ File: chess.info,  Node: Position coordinates,  Next: 
Position details,  Prev: C
 1.1.2 Position coordinates
 --------------------------
 
-First of all, a coordinate system of octal indices is used, where ?\044
-signifies rank 4 file 4 (i.e., "e4").  Rank is numbered 0 to 7, top to
-bottom, and file is 0 to 7, left to right.
+First of all, position coordinates use a coordinate system of octal
+indices, where the index ‘?\044’ signifies rank 4 file 4 (i.e., "e4").
+Rank is numbered 0 to 7, top to bottom, and file is 0 to 7, left to
+right.
 
  -- Function: chess-index-rank index
      Return the rank component of the given INDEX.
@@ -202,7 +203,7 @@ constants and functions are provided:
 
  -- Function: chess-next-index index direction
      Create a new INDEX from an old one, by advancing it into DIRECTION.
-     If the resulting index is not valid (outside the board), nil is
+     If the resulting index is not valid (outside the board), ‘nil’ is
      returned.
 
    Due to the underlying technique used to efficiently detect off-board
@@ -216,56 +217,57 @@ File: chess.info,  Node: Position details,  Next: 
Annotations,  Prev: Position c
 1.1.3 Position details
 ----------------------
 
-With an octal index value, you can look up what’s on a particular
+Given an octal index value, you can look up what’s on a particular
 square, or set that square’s value:
 
  -- Function: chess-pos-piece position index
      Return the piece on POSITION at INDEX.
 
  -- Function: chess-pos-piece-p position index piece-or-color
-     Return non-nil if at POSITION/INDEX there is the given
-     PIECE-OR-COLOR.  If PIECE-OR-COLOR is t for white or nil for black,
-     any piece of that color will do.
+     Return non-‘nil’ if the given PIECE-OR-COLOR is at POSITION/INDEX.
+     If PIECE-OR-COLOR is ‘t’ for white or ‘nil’ for black, any piece of
+     that color will do.
 
  -- Function: chess-pos-set-piece position index piece
      Set the piece on POSITION at INDEX to PIECE.  PIECE must be one of
-     ‘?K’ ‘?Q’ ‘?N’ ‘?B’ ‘?R’ or ‘?P’.  Use lowercase to set black
-     pieces.
+     ‘?K’, ‘?Q’, ‘?N’, ‘?B’, ‘?R’, or ‘?P’ for white pieces, or one of
+     the corresponding lowercase letters for black pieces.
 
  -- Function: chess-pos-search position piece-or-color
-     Look on POSITION anywhere for PIECE-OR-COLOR, returning all
-     coordinates.  If PIECE-OR-COLOR is t for white or nil for black,
-     any piece of that color will do.
+     Look anywhere on POSITION for PIECE-OR-COLOR, returning all
+     coordinates.  If PIECE-OR-COLOR is ‘t’ for white or ‘nil’ for
+     black, any piece of that color will do.
 
  -- Function: chess-pos-search* position &rest pieces
      Look on POSITION for any of PIECES.
 
-     The result is an alist where each element looks like (PIECE .
-     INDICES).  Pieces which did not appear in POSITION will be present
-     in the resulting alist, but the ‘cdr’ of their entries will be nil.
+     The result is an alist where each element looks like
+     ‘(PIECE . INDICES)’.  Pieces which did not appear in POSITION will
+     be present in the resulting alist, but the ‘cdr’ of their entries
+     will be ‘nil’.
 
  -- Function: chess-search-position position target piece &optional
           check-only no-castling
      Look on POSITION from TARGET for a PIECE that can move there.  This
-     routine looks along legal paths of movement for PIECE.  It differs
+     routine looks along valid paths of movement for PIECE.  It differs
      from ‘chess-pos-search’, which is a more basic function that
      doesn’t take piece movement into account.
 
-     If PIECE is t or nil, legal piece movements for any piece of that
-     color will be considered (t for white, nil for black).  Otherwise,
-     the case of the PIECE determines color.
+     If PIECE is ‘t’ or ‘nil’, valid piece movements for any piece of
+     that color will be considered (‘t’ for white, ‘nil’ for black).
+     Otherwise, the letter-case of the PIECE determines color.
 
      The return value is a list of candidates, which means a list of
-     indices which indicate where a piece may have moved from.
+     indices that indicate where a piece may have moved from.
 
-     If CHECK-ONLY is non-nil and PIECE is either t or nil, only
-     consider pieces which can give check (not the opponents king).  If
-     NO-CASTLING is non-nil, do not consider castling moves.
+     If CHECK-ONLY is non-‘nil’ and PIECE is either ‘t’ or ‘nil’, only
+     consider pieces which can give check (not the opponent’s king).  If
+     NO-CASTLING is non-‘nil’, do not consider castling moves.
 
  -- Function: chess-pos-can-castle position side
-     Return whether the king on POSITION can castle on SIDE.  SIDE must
-     be either ?K for the king side, or ?Q for the queen side (use
-     lowercase to query if black can castle).
+     Return whether the king on POSITION can castle on SIDE.  The SIDE
+     argument must be either ‘?K’ for the king side, or ‘?Q’ for the
+     queen side (use lowercase to query if black can castle).
 
  -- Function: chess-pos-set-can-castle position side value
      Set whether the king can castle on the given POSITION on SIDE.
@@ -279,7 +281,7 @@ square, or set that square’s value:
 
  -- Function: chess-pos-en-passant position
      Return the index of any pawn on POSITION that can be captured en
-     passant.  Returns nil if en passant is unavailable.
+     passant.  Returns ‘nil’ if en passant is unavailable.
 
  -- Function: chess-pos-set-en-passant position index
      Set the index of any pawn on POSITION that can be captured en
@@ -287,12 +289,12 @@ square, or set that square’s value:
 
  -- Function: chess-pos-status position
      Return whether the side to move in the POSITION is in a special
-     state.  nil is returned if not, otherwise one of the keywords:
+     state.  Return ‘nil’ if not, otherwise one of the keywords:
      ‘:check’, ‘:checkmate’ or ‘:stalemate’.
 
  -- Function: chess-pos-set-status position value
      Set whether the side to move in POSITION is in a special state.
-     VALUE should either be nil, to indicate that the POSITION is
+     The VALUE should either be ‘nil’, to indicate that the POSITION is
      normal, or one of the symbols: ‘check’, ‘checkmate’, ‘stalemate’.
 
  -- Function: chess-pos-side-to-move position
@@ -304,7 +306,7 @@ square, or set that square’s value:
  -- Function: chess-pos-passed-pawns position color &optional
           pawn-indices
      If COLOR has Passed Pawns in POSITION, return a list of their
-     indices.  Optionally, if INDICES is non-nil those indices are
+     indices.  Optionally, if INDICES is non-‘nil’, those indices are
      considered as candidates.
 
      A Pawn whose advance to the eighth rank is not blocked by an
@@ -339,49 +341,49 @@ File: chess.info,  Node: FEN notation,  Next: EPD 
notation,  Prev: Annotations,
 1.1.5 FEN notation
 ------------------
 
-"FEN (Forsyth-Edwards Notation)" encodes a chess position using a simple
+"FEN" (Forsyth-Edwards Notation) encodes a chess position using a simple
 string.  The format is:
 
-   ‘POSITION SIDE CASTLING EN-PASSANT’
+        POSITION SIDE CASTLING EN-PASSANT
 
    The POSITION gives all eight ranks, by specifying a letter for each
-piece on the position, and a number for any intervening spaces, ranks
-separated by slashes.  Trailing spaces need not be counted.  Uppercase
-letters signify white, and lowercase black.  For example, if your
-position only had a black king on d8, your POSITION string would be:
+piece in the position, and a number for any intervening spaces; ranks
+are separated by slashes.  Trailing spaces need not be counted.
+Uppercase letters signify white pieces, and lowercase black.  For
+example, if your position only had a black king on d8, your POSITION
+string would be:
 
      3k////////
 
-   For the three spaces (a, b and c file), the black king, and then all
-the remaining ranks (which are all empty, so their spaces can be
-ignored).
+for the three spaces (a, b and c file), the black king, and then all the
+remaining ranks (which are all empty, so their spaces can be ignored).
 
    The SIDE is ‘w’ or ‘b’, to indicate whose move it is.
 
-   CASTLING can contain ‘K’, ‘Q’, ‘k’ or ‘q’, to signify whether the
+   The CASTLING can contain ‘K’, ‘Q’, ‘k’ or ‘q’, to signify whether the
 white or black king can still castle on the king or queen side.  If
-neither colour can castle on any side, ‘-’ should be provided.
+neither color can castle on any side, ‘-’ should be provided.
 
-   EN-PASSANT signifies the target square of an en passant capture, such
-as ‘e3’ or ‘a6’.
+   The EN-PASSANT signifies the target square of an en passant capture,
+such as ‘e3’ or ‘a6’.
 
  -- Function: chess-fen-to-pos fen
-     Convert a FEN-like string to a chess position.
+     Convert the FEN string FEN to a chess position.
 
  -- Function: chess-pos-to-fen position &optional full
-     Convert a chess POSITION to a FEN string.  If FULL is non-nil,
+     Convert a chess POSITION to a FEN string.  If FULL is non-‘nil’,
      represent trailing spaces as well.
 
    This is how the starting position looks like:
 
-     (chess-pos-to-fen chess-starting-position)
-     ⇒ "rnbqkbnr/pppppppp/////PPPPPPPP/RNBQKBNR w KQkq -"
+      (chess-pos-to-fen chess-starting-position)
+      ⇒ "rnbqkbnr/pppppppp/////PPPPPPPP/RNBQKBNR w KQkq -"
 
    Some external programs might have problems parsing terse FEN strings.
 If you are unsure, use the more verbose form:
 
-     (chess-pos-to-fen chess-starting-position t)
-     ⇒ "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -"
+      (chess-pos-to-fen chess-starting-position t)
+      ⇒ "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -"
 
 
 File: chess.info,  Node: EPD notation,  Prev: FEN notation,  Up: Positions
@@ -389,23 +391,23 @@ File: chess.info,  Node: EPD notation,  Prev: FEN 
notation,  Up: Positions
 1.1.6 EPD notation
 ------------------
 
-"EPD (Extended Position Description)" is a standard for describing chess
+"EPD" (Extended Position Description) is a standard for describing chess
 positions along with an extended set of structured attribute values
 using the ASCII character set.  It is intended for data and command
 interchange among chess-playing programs.  It is also intended for the
 representation of portable opening library repositories.
 
    A single EPD uses one text line of variable length composed of four
-data field followed by zero or more operations.  The four fields of the
-EPD specification are the same as the first four fields of the FEN
-specification.
+data fields, followed by zero or more operations.  The four fields of
+the EPD specification are the same as the first four fields of the FEN
+specification (*note FEN notation::).
 
    A text file composed exclusively of EPD data records should have a
-file name with the suffix ‘.epd’.
+file name with the ‘.epd’ extension.
 
  -- Function: chess-epd-to-pos &optional string
      Convert extended position description STRING to a chess position.
-     If STRING is not specified, look for an epd string in the current
+     If STRING is not specified, look for an EPD string in the current
      buffer, and advance point after the correctly parsed position.
 
  -- Function: chess-pos-to-epd position
@@ -425,65 +427,66 @@ file name with the suffix ‘.epd’.
 * Opcode "bm" best move(s)::
 
 
-File: chess.info,  Node: Operations,  Next: Opcode "acd" analysis count depth, 
 Prev: EPD notation,  Up: EPD notation
+File: chess.info,  Node: Operations,  Next: Opcode "acd" analysis count depth, 
 Up: EPD notation
 
 1.1.6.1 Operations
 ..................
 
 An EPD operation is composed of an opcode followed by zero or more
-operands and is concluded by a semicolon.
+operands, and terminated by a semicolon.
 
    Multiple operations are separated by a single space character.  If
 there is at least one operation present in an EPD record, it is
 separated from the last (fourth) data field by a single space character.
 
    Some opcodes that allow for more than one operand may have special
-ordering requirements for the operands.  For example, the "pv"
+ordering requirements for the operands.  For example, the ‘pv’
 (predicted variation) opcode requires its operands (moves) to appear in
 the order in which they would be played.  All other opcodes that allow
 for more than one operand should have operands appearing in ASCII order.
-An example of the latter set is the "bm" (best move[s]) opcode; its
+An example of the latter set is the ‘bm’ (best move[s]) opcode; its
 operands are moves that are all immediately playable from the current
 position.
 
 
 File: chess.info,  Node: Opcode "acd" analysis count depth,  Next: Opcode 
"acn" analysis count nodes,  Prev: Operations,  Up: EPD notation
 
-1.1.6.2 Opcode "acd" analysis count depth
+1.1.6.2 Opcode ‘acd’ analysis count depth
 .........................................
 
-The opcode "acd" takes a single non-negative integer operand.  It is
-used to represent the ply depth examined in an analysis.
+The opcode ‘acd’ takes a single non-negative integer operand.  It is
+used to represent the depth of the ply (*note Plies::) examined in an
+analysis.
 
 
 File: chess.info,  Node: Opcode "acn" analysis count nodes,  Next: Opcode 
"acs" analysis count seconds,  Prev: Opcode "acd" analysis count depth,  Up: 
EPD notation
 
-1.1.6.3 Opcode "acn" analysis count nodes
+1.1.6.3 Opcode ‘acn’ analysis count nodes
 .........................................
 
-The opcode "acn" takes a single non-negative integer operand.  It is
+The opcode ‘acn’ takes a single non-negative integer operand.  It is
 used to represent the number of nodes examined in an analysis.  Note
-that the value may be quite large for some extended searches and so use
+that the value may be quite large for some extended searches, and so use
 of (at least) a long (four byte) representation is suggested.
 
 
 File: chess.info,  Node: Opcode "acs" analysis count seconds,  Next: Opcode 
"am" avoid move(s),  Prev: Opcode "acn" analysis count nodes,  Up: EPD notation
 
-1.1.6.4 Opcode "acs" analysis count seconds
+1.1.6.4 Opcode ‘acs’ analysis count seconds
 ...........................................
 
-The opcode "acs" takes a single non-negative integer operand.  It is
+The opcode ‘acs’ takes a single non-negative integer operand.  It is
 used to represent the number of seconds used for an analysis.  Note that
-the value may be quite large for some extended searches and so use of
+the value may be quite large for some extended searches, and so use of
 (at least) a long (four byte) representation is suggested.
 
 
 File: chess.info,  Node: Opcode "am" avoid move(s),  Next: Opcode "bm" best 
move(s),  Prev: Opcode "acs" analysis count seconds,  Up: EPD notation
 
-1.1.6.5 Opcode "am" avoid move(s)
+1.1.6.5 Opcode ‘am’ avoid move(s)
 .................................
 
-The opcode "am" indicates a set of zero or more moves, all immediately
+The opcode ‘am’ indicates a set of zero or more moves, all immediately
 playable from the current position, that are to be avoided in the
 opinion of the EPD writer.  Each operand is a SAN move; they appear in
 ASCII order.
@@ -491,10 +494,10 @@ ASCII order.
 
 File: chess.info,  Node: Opcode "bm" best move(s),  Prev: Opcode "am" avoid 
move(s),  Up: EPD notation
 
-1.1.6.6 Opcode "bm" best move(s)
+1.1.6.6 Opcode ‘bm’ best move(s)
 ................................
 
-The opcode "bm" indicates a set of zero or more moves, all immediately
+The opcode ‘bm’ indicates a set of zero or more moves, all immediately
 playable from the current position, that are judged to the best
 available by the EPD writer.  Each operand is a SAN move; they appear in
 ASCII order.
@@ -505,9 +508,10 @@ File: chess.info,  Node: Plies,  Next: Variations,  Prev: 
Positions,  Up: The ch
 1.2 Plies
 =========
 
-A "ply" is the differential between two positions.  Or, it is the
-coordinate transformations applied to one position in order to arrive at
-the following position.  It is also informally called "a move".
+A "ply" is the differential between two positions.  In other words, it
+is the coordinate transformations applied to one position in order to
+arrive at the following position.  It is also informally called "a
+move".
 
    A ply may be represented in ASCII by printing the FEN string of the
 base position, and then printing the positional transformation in
@@ -530,15 +534,15 @@ form of confirmation during the course of a game.
 * Algebraic notation::
 
 
-File: chess.info,  Node: Creating plies,  Next: Ply details,  Prev: Plies,  
Up: Plies
+File: chess.info,  Node: Creating plies,  Next: Ply details,  Up: Plies
 
 1.2.1 Creating plies
 --------------------
 
  -- Function: chess-ply-create position &optional valid-p &rest changes
      Create a ply from the given POSITION by applying the supplied
-     CHANGES.  This function will guarantee the resulting ply is legal,
-     and will also annotate the ply with :check or other modifiers as
+     CHANGES.  This function will guarantee the resulting ply is valid,
+     and will also annotate the ply with ‘:check’ or other modifiers as
      necessary.  It will also extend castling, and will prompt for a
      promotion piece.
 
@@ -546,7 +550,7 @@ File: chess.info,  Node: Creating plies,  Next: Ply 
details,  Prev: Plies,  Up:
      maneuver.
 
  -- Function: chess-legal-plies position &rest keywords
-     Return a list of all legal plies in POSITION.  KEYWORDS allowed
+     Return a list of all valid plies in POSITION.  The allowed KEYWORDS
      are:
 
      ‘:any’
@@ -557,20 +561,23 @@ File: chess.info,  Node: Creating plies,  Next: Ply 
details,  Prev: Plies,  Up:
           plies for black.
 
      ‘:piece CHARACTER’
-          Return plies for a specific piece (a character).
+          Return plies for a specific piece designated by CHARACTER.
 
      ‘:file FILE’
-          Given a file number (0-7), return plies for any piece or color
-          present on that file.  ‘:piece’ or ‘:color’ must be present.
+          Given a FILE, a number (0-7), return plies for any piece or
+          color present on that FILE.  ‘:piece’ or ‘:color’ must be
+          present.
 
      ‘:index INDEX’
           Return plies for the piece at INDEX.
 
      ‘:target INDEX’
-          Return plies that go to a specific coordinate.
+          Return plies that go to a specific coordinate specified by
+          INDEX.
 
      ‘:candidates INDEX...’
-          If provided, only consider these source coordinates.
+          If provided, only consider the source coordinates specified by
+          the indices.
 
      These will constrain the plies generated to those matching the
      above criteria.
@@ -594,8 +601,8 @@ File: chess.info,  Node: Ply details,  Next: The "next" 
position,  Prev: Creatin
      Return the coordinate transformations and keywords associated with
      this PLY.
 
-     A list of a pair of indices (or two, in case of castling) followed
-     by optional keywords.
+     Value is a list made of a pair of indices (or two pairs, in case of
+     castling) followed by optional keywords.
 
  -- Function: chess-ply-set-changes
      Set the coordinate transformations and keywords associated with
@@ -610,22 +617,22 @@ File: chess.info,  Node: Ply details,  Next: The "next" 
position,  Prev: Creatin
    For example, here is how to find the source square of a freshly
 created ply:
 
-     (chess-ply-source (chess-ply-create chess-starting-position nil
-                                         (chess-coord-to-index "e2")
-                                         (chess-coord-to-index "e4")))
-     ⇒ 52
+      (chess-ply-source (chess-ply-create chess-starting-position nil
+                                          (chess-coord-to-index "e2")
+                                          (chess-coord-to-index "e4")))
+      ⇒ 52
 
 
 File: chess.info,  Node: The "next" position,  Next: Algebraic notation,  
Prev: Ply details,  Up: Plies
 
-1.2.3 The "next" position
+1.2.3 The “next” position
 -------------------------
 
  -- Function: chess-ply-next-pos ply
      Return the position that results from executing PLY.
 
  -- Function: chess-ply-final-p ply
-     Return non-nil if this is the last ply of a game/variation.
+     Return non-‘nil’ if this is the last ply of a game/variation.
 
 
 File: chess.info,  Node: Algebraic notation,  Prev: The "next" position,  Up: 
Plies
@@ -644,10 +651,10 @@ function:
  -- Function: chess-algebraic-to-ply position move &optional trust
      Convert the algebraic notation MOVE for POSITION to a ply.
 
-     If optional argument TRUST is non-nil, accept check or checkmate
+     If optional argument TRUST is non-‘nil’, accept check or checkmate
      symbols (‘+’ and ‘#’) as given.
 
-   The function also checks if a move is legal, and will raise an error
+   The function also checks if a move is valid, and will raise an error
 if not.
 
    To convert from a ply to algebraic notation, use:
@@ -656,12 +663,22 @@ if not.
      Convert the given PLY to algebraic notation (a string).
 
      Optional argument TYPE specifies the kind of algebraic notation to
-     generate.  ‘:san’ (the default) generates short (or standard)
-     algebraic notation.  ‘:lan’ generates long algebraic notation (like
-     ‘Nb1-c3’).  ‘:fan’ generates figurine algebraic notation (uppercase
-     letters will be replaced by Unicode chess figures).  ‘:numeric’
-     generates ICCF numeric notation as used in corespondence chess
-     (like ‘2133’).
+     generate:
+
+     ‘:san’
+          Generate short (or standard) algebraic notation.  This is the
+          default.
+
+     ‘:lan’
+          Generate long algebraic notation (like ‘Nb1-c3’).
+
+     ‘:fan’
+          Generate figurine algebraic notation (uppercase letters will
+          be replaced by Unicode chess figures).
+
+     ‘:numeric’
+          Generate ICCF numeric notation as used in correspondence chess
+          (like ‘2133’).
 
    Lastly, there is a regexp for quickly checking if a string is in
 algebraic notation or not, or searching out algebraic strings in a
@@ -680,7 +697,7 @@ File: chess.info,  Node: Variations,  Next: Games,  Prev: 
Plies,  Up: The chess.
 A "variation" is a sequence of plies that occur after some starting
 position.  If the starting position represents the initial setup of a
 chess board, and if the final ply results in completion of the game, it
-is called the "main variation".  Otherwise, variations typically
+is called “the main variation”.  Otherwise, variations typically
 represented interesting tangents during a game—but not actually
 played—as envisioned by the player, an annotator, or someone studying
 the game.
@@ -701,13 +718,13 @@ mentioned above.
 * Making a move in a variation::
 
 
-File: chess.info,  Node: Creating variations,  Next: Variation positions,  
Prev: Variations,  Up: Variations
+File: chess.info,  Node: Creating variations,  Next: Variation positions,  Up: 
Variations
 
 1.3.1 Creating variations
 -------------------------
 
  -- Function: chess-var-create &optional position
-     Create a new chess variation object.  Optionally use the given
+     Create a new chess variation object.  Optionally, use the given
      starting POSITION.
 
 
@@ -716,18 +733,18 @@ File: chess.info,  Node: Variation positions,  Next: 
Variation plies,  Prev: Cre
 1.3.2 Variation positions
 -------------------------
 
- -- Function: chess-var-pos var &optional index
-     Return the position related to VAR’s INDEX ply.
+ -- Function: chess-var-pos variation &optional index
+     Return the position related to VARIATION’s INDEX ply.
 
- -- Function: chess-var-index var
-     Return the VAR’s current position index.
+ -- Function: chess-var-index variation
+     Return the VARIATION’s current position index.
 
- -- Function: chess-var-seq var
-     Return the current VAR sequence.
+ -- Function: chess-var-seq variation
+     Return the current VARIATION sequence.
 
- -- Function: chess-var-side-to-move var &optional index
-     Return the color whose move it is in VAR at INDEX (or at the last
-     position of the variation if INDEX is nil).
+ -- Function: chess-var-side-to-move variation &optional index
+     Return the color whose move it is in VARIATION at INDEX (or at the
+     last position of VARIATION if INDEX is ‘nil’).
 
 
 File: chess.info,  Node: Variation plies,  Next: Making a move in a variation, 
 Prev: Variation positions,  Up: Variations
@@ -735,14 +752,15 @@ File: chess.info,  Node: Variation plies,  Next: Making a 
move in a variation,
 1.3.3 Variation plies
 ---------------------
 
- -- Function: chess-var-ply var &optional index
-     Return VAR’s INDEXth ply.
+ -- Function: chess-var-ply variation &optional index
+     Return VARIATION’s INDEXth ply.
 
- -- Function: chess-var-plies var
-     Return the plies of VAR.
+ -- Function: chess-var-plies variation
+     Return the plies of VARIATION.
 
- -- Function: chess-var-to-algebraic var &optional long
-     Reveal the plies of VAR by converting them to algebraic notation.
+ -- Function: chess-var-to-algebraic variation &optional long
+     Reveal the plies of VARIATION by converting them to algebraic
+     notation.
 
 
 File: chess.info,  Node: Making a move in a variation,  Prev: Variation plies, 
 Up: Variations
@@ -750,14 +768,15 @@ File: chess.info,  Node: Making a move in a variation,  
Prev: Variation plies,
 1.3.4 Making a move in a variation
 ----------------------------------
 
- -- Function: chess-var-move var ply
-     Make a move in the current VAR by applying the changes of PLY.
-     This creates a new position and adds it to the main variation.  The
-     ’changes’ of the last ply reflect whether the var is currently in
-     progress (nil), if it is drawn, resigned, mate, etc.
+ -- Function: chess-var-move variation ply
+     Make a move in the current VARIATION by applying the changes of
+     PLY.  This creates a new position and adds it to the main
+     variation.  The ‘changes’ of the last ply reflect whether the var
+     is currently in progress (‘nil’), if it is drawn, resigned, mate,
+     etc.
 
- -- Function: chess-var-add-ply var ply
-     Add to VAR the given PLY.
+ -- Function: chess-var-add-ply variation ply
+     Add the given PLY to VARIATION.
 
 
 File: chess.info,  Node: Games,  Next: Collections,  Prev: Variations,  Up: 
The chess.el library
@@ -766,15 +785,15 @@ File: chess.info,  Node: Games,  Next: Collections,  
Prev: Variations,  Up: The
 =========
 
 A "game" includes its main variation, incidental information about the
-game (who played it, where, when, who won, etc), and any sub-variations
+game (who played it, where, when, who won, etc.), and any sub-variations
 of interest to those studying the game afterwards.
 
-   Where TAGS is an alist that associates arbitrary English tag names to
-their values.
+   "Game tags" is an alist that associates arbitrary English tag names
+to their values.
 
-   A game may be represented in ASCII using PGN (Portable Game
+   A game may be represented in ASCII using "PGN" (Portable Game
 Notation).  Representing them graphically or verbally is similar to what
-is done for variations.
+is done for variations (*note Variations::).
 
  -- Function: chess-game-add-hook game function &optional data prepend
      Add to GAME an event hook FUNCTION.
@@ -790,10 +809,10 @@ is done for variations.
 
  -- Function: chess-game-remove-hook game function &optional data
      Remove from GAME all event hooks that match FUNCTION.  If DATA is
-     specified, only remove those hooks whose associated data matches.
+     specified, only remove hooks with matching associated data.
 
  -- Function: chess-game-run-hooks game &rest args
-     Run the event hooks of GAME and pass ARGS.
+     Run the event hooks of GAME and pass it ARGS.
 
  -- Function: chess-game-set-hooks game hooks
      Set the event hooks associated with GAME.
@@ -811,16 +830,15 @@ is done for variations.
 * PGN notation::
 
 
-File: chess.info,  Node: Creating games,  Next: Game tags,  Prev: Games,  Up: 
Games
+File: chess.info,  Node: Creating games,  Next: Game tags,  Up: Games
 
 1.4.1 Creating games
 --------------------
 
  -- Function: chess-game-create &optional position tags
      Create a new chess game object.  Optionally use the given starting
-     POSITION (see also ‘chess-game-set-start-position’).  TAGS is the
-     starting set of game tags (which can always be changed later using
-     the various tag-related methods).
+     POSITION.  TAGS is the starting set of game tags (which can always
+     be changed later using the various tag-related methods).
 
 
 File: chess.info,  Node: Game tags,  Next: Game positions,  Prev: Creating 
games,  Up: Games
@@ -833,16 +851,16 @@ File: chess.info,  Node: Game tags,  Next: Game 
positions,  Prev: Creating games
 
  -- Function: chess-game-set-tags game tags
      Set the tags alist associated with GAME.  After the TAGS alist was
-     set the ’set-tags event is triggered.
+     set the ‘set-tags’ event is triggered.
 
  -- Function: chess-game-tag game tag
      Return the value for TAG in GAME.
 
  -- Function: chess-game-set-tag game tag value
-     Set a TAG for GAME to VALUE.
+     Set the TAG for GAME to VALUE.
 
  -- Function: chess-game-del-tag game tag
-     Delete a TAG from GAME.
+     Delete the specified TAG from GAME.
 
 
 File: chess.info,  Node: Game positions,  Next: Game plies,  Prev: Game tags,  
Up: Games
@@ -860,8 +878,9 @@ File: chess.info,  Node: Game positions,  Next: Game plies, 
 Prev: Game tags,  U
      Return the current GAME sequence number.
 
  -- Function: chess-game-side-to-move game &optional index
-     Return the color whose move it is in GAME at INDEX (or at the last
-     position if INDEX is nil).  ‘t’ for white and ‘nil’ for black.
+     Return the side, specified as color, whose move it is in GAME at
+     INDEX (or at the last position if INDEX is ‘nil’).  Value is ‘t’
+     for white and ‘nil’ for black.
 
 
 File: chess.info,  Node: Game plies,  Next: Making a move,  Prev: Game 
positions,  Up: Games
@@ -870,8 +889,8 @@ File: chess.info,  Node: Game plies,  Next: Making a move,  
Prev: Game positions
 ----------------
 
  -- Function: chess-game-ply game &optional index
-     Return a ply of GAME.  If INDEX is non-nil, the last played ply is
-     returned.
+     Return a ply of GAME.  If INDEX is non-‘nil’, the last played ply
+     is returned.
 
 
 File: chess.info,  Node: Making a move,  Next: PGN notation,  Prev: Game 
plies,  Up: Games
@@ -881,8 +900,8 @@ File: chess.info,  Node: Making a move,  Next: PGN 
notation,  Prev: Game plies,
 
  -- Function: chess-game-move game ply
      Make a move in the current GAME using PLY.  This creates a new
-     position and adds it to the main variation.  The ’changes’ of the
-     last ply reflect whether the game is currently in progress (nil),
+     position and adds it to the main variation.  The ‘changes’ of the
+     last ply reflect whether the game is currently in progress (‘nil’),
      if it is drawn, resigned, mate, etc.
 
 
@@ -892,24 +911,24 @@ File: chess.info,  Node: PGN notation,  Prev: Making a 
move,  Up: Games
 ------------------
 
  -- Function: chess-pgn-to-game &optional string
-     Convert "PGN notation" at point into a chess game.  Optionally use
-     the supplied STRING instead of the current buffer.
+     Convert the PGN notation at point into a chess game.  Optionally
+     use the supplied STRING instead of the current buffer.
 
  -- Function: chess-game-to-pgn game &optional indented to-string
-     Convert a chess GAME to "PGN notation".  If INDENTED is non-nil,
-     indent the move texts.  If TO-STRING is non-nil, return a string
+     Convert a chess GAME to PGN notation.  If INDENTED is non-‘nil’,
+     indent the move texts.  If TO-STRING is non-‘nil’, return a string
      instead of inserting the resulting PGN text.
 
  -- Function: chess-pgn-insert-plies game index plies &optional
           for-black indented no-annotations
-     NYI: Still have to implement INDENTED argument.
+     _NYI_: Still have to implement the INDENTED argument.
 
 * Menu:
 
 * PGN mode::
 
 
-File: chess.info,  Node: PGN mode,  Prev: PGN notation,  Up: PGN notation
+File: chess.info,  Node: PGN mode,  Up: PGN notation
 
 1.4.6.1 PGN mode
 ................
@@ -929,7 +948,7 @@ games conceptually represents a large tree of branching 
variations, and
 can be used for studying current theory, examining Master preferences,
 etc.
 
-   Chess.el itself does not attempt to provide library services, nor
+   ‘Chess.el’ itself does not attempt to provide library services, nor
 does it ever represent library collections in memory.  Instead, it
 interacts with a chess database engine for the purpose of storing and
 retrieving games from the library, or performing library-wide analyses
@@ -940,11 +959,11 @@ and searches.
 * Opening Databases::
 * Querying Databases::
 * Modifying Databases::
-* Finalising Databases::
+* Finalizing Databases::
 * Database Modules::
 
 
-File: chess.info,  Node: Opening Databases,  Next: Querying Databases,  Prev: 
Collections,  Up: Collections
+File: chess.info,  Node: Opening Databases,  Next: Querying Databases,  Up: 
Collections
 
 1.5.1 Opening Databases
 -----------------------
@@ -972,27 +991,28 @@ File: chess.info,  Node: Querying Databases,  Next: 
Modifying Databases,  Prev:
      Return from DATABASE the chess game object at INDEX.
 
  -- Function: chess-database-query database &rest terms
-     Run a query on DATABASE.  TERMS is partly dependent on the
-     chess-database module in use.  chess-scid: tree-search GAME:
-     Perform a tree search on the last position of GAME.
+     Run a query on DATABASE.  The TERMS are partly dependent on the
+     chess-database module in use.  For the ‘chess-scid’ module, using
+     ‘tree-search GAME’ means perform a tree search on the last position
+     of GAME.
 
 
-File: chess.info,  Node: Modifying Databases,  Next: Finalising Databases,  
Prev: Querying Databases,  Up: Collections
+File: chess.info,  Node: Modifying Databases,  Next: Finalizing Databases,  
Prev: Querying Databases,  Up: Collections
 
 1.5.3 Modifying Databases
 -------------------------
 
  -- Function: chess-database-read-only-p database
-     Return non-nil if DATABASE is read only.
+     Return non-‘nil’ if DATABASE is read only.
 
 
-File: chess.info,  Node: Finalising Databases,  Next: Database Modules,  Prev: 
Modifying Databases,  Up: Collections
+File: chess.info,  Node: Finalizing Databases,  Next: Database Modules,  Prev: 
Modifying Databases,  Up: Collections
 
-1.5.4 Finalising Databases
+1.5.4 Finalizing Databases
 --------------------------
 
 
-File: chess.info,  Node: Database Modules,  Prev: Finalising Databases,  Up: 
Collections
+File: chess.info,  Node: Database Modules,  Prev: Finalizing Databases,  Up: 
Collections
 
 1.5.5 Database Modules
 ----------------------
@@ -1006,14 +1026,14 @@ base-class:
 * chess-scid::
 
 
-File: chess.info,  Node: chess-file,  Next: chess-scid,  Prev: Database 
Modules,  Up: Database Modules
+File: chess.info,  Node: chess-file,  Next: chess-scid,  Up: Database Modules
 
 1.5.5.1 chess-file
 ..................
 
 This module does not use an external chess database program to store and
 retrieve games.  It uses the PGN of EPD format parsing routines provided
-in ‘chess-pgn.el’ and ‘chess-epd.el’ to implement Collections for
+in ‘chess-pgn.el’ and ‘chess-epd.el’ to implement collections for
 ordinary PGN and EPD files.
 
    EPD file collections are represented as a collection of games
@@ -1027,8 +1047,8 @@ File: chess.info,  Node: chess-scid,  Prev: chess-file,  
Up: Database Modules
 1.5.5.2 chess-scid
 ..................
 
-This modules implement basic reading and writing functionality for SCID
-(Shane’s Chess Information Database) files.
+This module implements basic reading and writing functionality for
+"SCID" (Shane’s Chess Information Database) files.
 
 
 File: chess.info,  Node: Chess Opening Books,  Prev: Collections,  Up: The 
chess.el library
@@ -1045,15 +1065,15 @@ positions in opening books.
 * Polyglot opening book format support::
 
 
-File: chess.info,  Node: ECO Classification,  Next: Polyglot opening book 
format support,  Prev: Chess Opening Books,  Up: Chess Opening Books
+File: chess.info,  Node: ECO Classification,  Next: Polyglot opening book 
format support,  Up: Chess Opening Books
 
 1.6.1 ECO Classification
 ------------------------
 
 Module ‘chess-eco’ provides a database of well known names for chess
 opening positions.  If this module is activated (see variable
-‘chess-default-modules’) known chess opening positions will be announced
-in the minibuffer during a game.
+‘chess-default-modules’), known chess opening positions will be
+announced in the minibuffer during a game.
 
 
 File: chess.info,  Node: Polyglot opening book format support,  Prev: ECO 
Classification,  Up: Chess Opening Books
@@ -1062,15 +1082,16 @@ File: chess.info,  Node: Polyglot opening book format 
support,  Prev: ECO Classi
 ------------------------------------------
 
 The popular and freely documented Polyglot opening book format is
-supported.  There is a default polyglot book file shipped with chess.el
-to support engines which do not have built-in support for looking up
-positions in opening books (such as some UCI protocol based engines).
+supported.  There is a default polyglot book file shipped with
+‘chess.el’ to support engines which do not have built-in support for
+looking up positions in opening books (such as some UCI protocol based
+engines).
 
  -- User Option: chess-polyglot-book-file
      Path to default polyglot book file.
 
  -- Variable: chess-polyglot-book
-     If non-nil, the buffer holding the currently loaded polyglot book
+     If non-‘nil’, the buffer holding the currently loaded polyglot book
      data.
 
      This is used by UCI based engine modules as well as the internal
@@ -1089,13 +1110,13 @@ positions in opening books (such as some UCI protocol 
based engines).
      list to retrieve them.
 
  -- Function: chess-polyglot-book-ply book position &optional strength
-     If non-nil a (randomly picked) ply from BOOK for POSITION.  Random
-     distribution is defined by the relative weights of the found plies.
-     If non-nil, STRENGTH defines the bias towards better moves.  A
-     value below 1.0 will penalize known good moves while a value above
-     1.0 will prefer known good moves.  The default is the value of
-     ‘chess-polyglot-book-strength’.  A strength value of 0.0 will
-     completely ignore move weights and evenly distribute the
+     If non-‘nil’, a (randomly picked) ply from BOOK for POSITION.
+     Random distribution is defined by the relative weights of the found
+     plies.  If non-‘nil’, STRENGTH defines the bias towards better
+     moves.  A value below 1.0 will penalize known good moves while a
+     value above 1.0 will prefer known good moves.  The default is the
+     value of ‘chess-polyglot-book-strength’.  A strength value of 0.0
+     will completely ignore move weights, and evenly distribute the
      probability that a move gets picked.
 
 
@@ -1121,21 +1142,21 @@ operate solely in terms of the game object.
    For example, although the plies of a game object contain all the
 information the computer needs to follow the game, a user needs much
 more.  He wants to see the pieces move.  To support this, a display
-module (see next chapter) can be created, and linked to the game.  The
-first effect of this association will be to create a chess board display
-and show the game’s final position on it.  Now whenever plies are added
-to the game, the chess board will be updated to show the effect of that
-move on the board.  The display module realizes that a move has been
-made by receiving the ‘move’ event which is passed to all modules
-associated with the game object.
+module (*note Chessboard displays::) can be created, and linked to the
+game.  The first effect of this association will be to create a chess
+board display and show the game’s final position on it.  Now whenever
+plies are added to the game, the chess board will be updated to show the
+effect of that move on the board.  The display module realizes that a
+move has been made by receiving the ‘move’ event which is passed to all
+modules associated with the game object.
 
    There may be any number of modules associated with a chess game, and
 they may do anything you like.  Basically, for a module called
-chess-sample, a function must exist called ‘chess-sample-handler’.  This
-takes two or more arguments: a game object, the event symbol, and
+‘chess-sample’, a function must exist called ‘chess-sample-handler’.
+This takes two or more arguments: a game object, the event symbol, and
 whatever other arguments were passed along with the event symbol.
 
-   When an event is triggered on a game object (and this may happen as a
+   When an event is triggered on a game object (this may happen as a
 byproduct of manipulating the game, or events may be manually
 generated), every associated module, in order, is called with that event
 and whatever arguments were passed along with the event.  The game
@@ -1153,7 +1174,7 @@ to event.  The game itself remains unaware of events, 
except for the
 fact that it will pass them along to every module associated with that
 game.
 
-   This is how displays get updated, for example, because once a ’move’
+   This is how displays get updated, for example, because once a ‘move’
 event is triggered, each display knows that it must now look at the new
 final position and update its display.  It may even trigger new events
 special to displays, to cause a refresh to happen after update
@@ -1169,11 +1190,11 @@ query the game to find out if something new has 
happened.  The game will
 notify every listening module by sending an event.
 
    The core library, which consists of code to manipulate games, does
-not define any modules.  The rest of the chess.el library is strictly a
-set of module implementations, of various types.  Display modules react
-to moves, and may modify the game based on user input; engine modules
-react to moves by notifying the engine of the move; network client
-modules react to moves by sending the move text over the network.
+not define any modules.  The rest of the ‘chess.el’ library is strictly
+a set of module implementations, of various types.  Display modules
+react to moves, and may modify the game based on user input; engine
+modules react to moves by notifying the engine of the move; network
+client modules react to moves by sending the move text over the network.
 Engine and network modules may also trigger new events when the engine
 or network player has decided on their move, and this move is then
 applied to the game object.
@@ -1183,7 +1204,7 @@ modify the game object.  All modules have equal 
privilege.  This means
 it is the programmer’s duty not to associate conflicting modules with a
 single game object.  If two artificial intelligence engines were linked,
 for example, they would quickly start stepping on each other’s toes.
-But it perfectly fine to have one artificial intelligence engine, and
+But it is perfectly fine to have one artificial intelligence engine, and
 another passive engine whose only purpose is to relay the moves to a
 networked observer on another computer.  The possibilities are endless.
 
@@ -1199,7 +1220,7 @@ object alone, it should be easy to locate the problem, 
since it will
 always be within the module itself.  But if your module also modifies
 the game object in response to certain events, you may induce a feedback
 loop that is much more difficult to sort out.  Test often and keep in
-mind that *many* events might end up coming through as a result of the
+mind that _many_ events might end up coming through as a result of the
 game changes your module makes!
 
    That, in essence, is how the module system works.  From the game
@@ -1239,31 +1260,32 @@ is necessary to create and use a display object.
 * Graphical displays::
 
 
-File: chess.info,  Node: Generic display manipulation functions,  Next: Chess 
display mode,  Prev: Chessboard displays,  Up: Chessboard displays
+File: chess.info,  Node: Generic display manipulation functions,  Next: Chess 
display mode,  Up: Chessboard displays
 
 3.1 Generic display manipulation functions
 ==========================================
 
  -- Function: chess-display-create game style perspective
-     Create a chess display, for displaying chess objects.  Where GAME
-     is the chess game object to use, STYLE should be the display type
-     to use (a symbol) and PERSPECTIVE determines the viewpoint of the
-     board, if non-nil, the board is viewed from White’s perspective.
+     Create a chess display, for displaying chess objects.  The GAME is
+     the chess game object to use, STYLE should be the display type to
+     use (a symbol), and PERSPECTIVE determines the viewpoint of the
+     board: if non-‘nil’, the board is viewed from White’s perspective.
 
  -- Function: chess-display-active-p
-     Return non-nil if the displayed chessboard reflects an active game.
-     Basically, it means we are playing, not editing or reviewing.
+     Return non-‘nil’ if the displayed chessboard reflects an active
+     game.  Basically, it means we are playing, not editing or
+     reviewing.
 
  -- Function: chess-display-clear-board
      Setup the current board for editing.
 
  -- Function: chess-display-highlight display &rest args
-     In DISPLAY highlight the squares given in ARGS on the current
+     Highlight in DISPLAY the squares given in ARGS on the current
      position.
 
-     ARGS is a list of highlighting modes and position coordinates.  The
-     default highlighting mode is ‘:selected’ which is supported by most
-     displays.
+     The ARGS is a list of highlighting modes and position coordinates.
+     The default highlighting mode is ‘:selected’ which is supported by
+     most displays.
 
  -- Function: chess-display-invert
      Invert the perspective of the current chess board.
@@ -1303,7 +1325,8 @@ File: chess.info,  Node: Generic display manipulation 
functions,  Next: Chess di
      passed in.
 
  -- Function: chess-display-update display &optional popup
-     Update the chessboard DISPLAY.  POPUP too, if that arg is non-nil.
+     Update the chessboard DISPLAY.  If POPUP is non-‘nil’, make sure it
+     is visible.
 
 
 File: chess.info,  Node: Chess display mode,  Next: Plain ASCII diagram 
displays,  Prev: Generic display manipulation functions,  Up: Chessboard 
displays
@@ -1316,12 +1339,12 @@ Modes::) that allows to select pieces to move with the 
mouse or by
 moving point to the desired square/piece.  Additionally, you can enter
 moves in a variant of algebraic notation via the keyboard.
 
-   All the chessboard displays described in following sections share the
-basic behaviour provided by chess display mode.  They basically only
+   All the chessboard displays described in following sub-sections share
+the basic behavior provided by chess display mode.  They basically only
 differ in appearance of the various chessboards.
 
  -- User Option: chess-display-highlight-legal
-     If non-nil, highlight legal target squares when a piece is
+     If non-nil, highlight valid target squares when a piece is
      selected.
 
 * Menu:
@@ -1332,28 +1355,31 @@ differ in appearance of the various chessboards.
 * Entering moves with algebraic notation::
 
 
-File: chess.info,  Node: Basic operations,  Next: Selecting pieces with the 
keyboard,  Prev: Chess display mode,  Up: Chess display mode
+File: chess.info,  Node: Basic operations,  Next: Selecting pieces with the 
keyboard,  Up: Chess display mode
 
 3.2.1 Basic operations
 ----------------------
 
 ‘C-i’
 ‘<TAB>’
-     Invert the perspective of the current chess board.
+     Invert the perspective of the current chess board
+     (‘chess-display-invert’).
 
 ‘,’
-     Show the previous move in the current game.
+     Show the previous move in the current game
+     (‘chess-display-move-backward’).
 
 ‘C-r’
      Find previous move which algebraic notation matches a regular
-     expression ‘chess-display-search-backward’.
+     expression (‘chess-display-search-backward’).
 
 ‘C-s’
      Find next move which algebraic notation matches a regular
-     expression ‘chess-display-search-forward’.
+     expression (‘chess-display-search-forward’).
 
 ‘.’
-     Show the next move in the current game.
+     Show the next move in the current game
+     (‘chess-display-move-forward’).
 
 ‘<’
      Move to the initial position of the current game
@@ -1398,7 +1424,7 @@ File: chess.info,  Node: Selecting pieces with the 
keyboard,  Next: Selecting pi
 ----------------------------------------
 
 In character based chessboard displays, point can be moved around in the
-buffer as uaual.  You can indicate the initial square/piece and the
+buffer as usual.  You can indicate the initial square/piece and the
 target square/piece by moving point to the desired position and pressing
 ‘<RET>’.
 
@@ -1412,7 +1438,7 @@ File: chess.info,  Node: Selecting pieces with the mouse, 
 Next: Entering moves
 3.2.3 Selecting pieces with the mouse
 -------------------------------------
 
-Similarily, you can also use the mouse (if available) to indicate the
+Similarly, you can also use the mouse (if available) to indicate the
 source and target square of your move.
 
 ‘down-mouse-1’
@@ -1450,7 +1476,7 @@ File: chess.info,  Node: Entering moves with algebraic 
notation,  Prev: Selectin
 
 <backspace>
      Delete the last entered chess move character
-     ‘chess-input-shortcut-delete’.
+     (‘chess-input-shortcut-delete’).
 
      This is useful if you have accidentally typed a wrong character,
      and the move was not unambiguous yet.
@@ -1462,7 +1488,7 @@ File: chess.info,  Node: Plain ASCII diagram displays,  
Next: ICS1 style ASCII d
 ================================
 
 The simplest display style available is ‘chess-plain’, a very
-customisable ASCII board diagram display.
+customizable ASCII board diagram display.
 
    This is how the starting position looks in its default configuration:
 
@@ -1479,10 +1505,10 @@ customisable ASCII board diagram display.
        a b c d e f g h
 
  -- User Option: chess-plain-separate-frame
-     If non-nil, display the chessboard in its own frame.
+     If non-‘nil’, display the chessboard in its own frame.
 
  -- User Option: chess-plain-border-style
-     If non-nil, a vector of Characters used to draw borders.
+     If non-‘nil’, a vector of Characters used to draw borders.
 
      Otherwise, omit to draw any border around the chessboard diagram.
 
@@ -1496,10 +1522,10 @@ customisable ASCII board diagram display.
      Alist of pieces and their corresponding characters.
 
  -- User Option: chess-plain-upcase-indicates
-     Defines what a upcase char should indicate.  The default is
+     Defines what an upcase char should indicate.  The default is
      ‘'color’, meaning a upcase char is a white piece, a lowercase char
      a black piece.  Possible values: ‘'color’ (default),
-     ‘'square-color’.  If set to ‘'square-color’, a uppercase character
+     ‘'square-color’.  If set to ‘'square-color’, an uppercase character
      indicates a piece on a black square.  (Note that you also need to
      modify ‘chess-plain-piece-chars’ to avoid real confusion.)
 
@@ -1515,7 +1541,7 @@ File: chess.info,  Node: ICS1 style ASCII displays,  
Next: Graphical displays,
 3.4 ICS1 style ASCII displays
 =============================
 
-‘chess-ics1’ is a more verbose ASCII chessboard display.
+The ‘chess-ics1’ module is a more verbose ASCII chessboard display.
 
    This is how the starting position looks with this chessboard display:
 
@@ -1539,7 +1565,7 @@ File: chess.info,  Node: ICS1 style ASCII displays,  
Next: Graphical displays,
              a   b   c   d   e   f   g   h
 
  -- User Option: chess-ics1-separate-frame
-     If non-nil, display the chessboard in its own frame.
+     If non-‘nil’, display the chessboard in its own frame.
 
    To customize options of ‘chess-ics1’, use ‘M-x customize-group <RET>
 chess-ics1 <RET>’.
@@ -1556,14 +1582,14 @@ create a visually appealing chessboard in a buffer.
  -- User Option: chess-images-directory
      A directory which contains images in XPM format.
 
-     If you want to draw your own images, each piece must be named
+     If you want to draw your own images, each image file must be named
      ‘COLOR-PIECE.xpm’, where COLOR is either black or white, and PIECE
      is one of rook, knight, bishop, queen, king or pawn.
 
      The only image format currently supported is XPM.
 
  -- User Option: chess-images-separate-frame
-     If non-nil, display the chessboard in its own frame.
+     If non-‘nil’, display the chessboard in its own frame.
 
    For all customization options of ‘chess-images’, use ‘M-x
 customize-group <RET> chess-images <RET>’.
@@ -1574,10 +1600,10 @@ File: chess.info,  Node: Engines,  Next: Chess Session, 
 Prev: Chessboard displa
 4 Engines
 *********
 
-Engines are the representation of an opponent in Chess.  The main type
-of engine interfaces with an external chess program.  However, there can
-be other uses for engine objects, such as providing networked engined
-for playing with opponent over different types of transports.
+"Engines" represent opponents in Chess.  The main type of engine
+interfaces with an external chess program.  However, there can be other
+uses for engine objects, such as providing networked engined for playing
+with opponent over different types of transports.
 
 * Menu:
 
@@ -1593,7 +1619,7 @@ for playing with opponent over different types of 
transports.
 * Stockfish::
 
 
-File: chess.info,  Node: Common functions,  Next: The Null Engine,  Prev: 
Engines,  Up: Engines
+File: chess.info,  Node: Common functions,  Next: The Null Engine,  Up: Engines
 
 4.1 Common functions
 ====================
@@ -1605,7 +1631,7 @@ File: chess.info,  Node: Common functions,  Next: The 
Null Engine,  Prev: Engine
 
  -- Function: chess-engine-set-option engine option value
      Set ENGINE OPTION to VALUE by invoking its handler with the
-     ’set-option event.
+     ‘set-option’ event.
 
  -- Function: chess-engine-position engine
      Return the current position of the game associated with ENGINE.
@@ -1616,7 +1642,7 @@ File: chess.info,  Node: Common functions,  Next: The 
Null Engine,  Prev: Engine
  -- Function: chess-engine-send engine string
      Send the given STRING to ENGINE.  If ‘chess-engine-process’ is a
      valid process object, use ‘process-send-string’ to submit the data.
-     Otherwise, the ’send event is triggered and the engine event
+     Otherwise, the ‘send’ event is triggered and the engine event
      handler can take care of the data.
 
 
@@ -1669,8 +1695,8 @@ File: chess.info,  Node: Crafty,  Next: Fruit,  Prev: AI, 
 Up: Engines
 4.4 Crafty
 ==========
 
-"Crafty" is a chess program written by Michael Byrne, UAB professor Dr.
-Robert Hyatt, Tracy Riegle, Peter Skinner and Ted Langreck.  It is
+"Crafty" is a chess program written by Michael Byrne, UAB professor
+Dr. Robert Hyatt, Tracy Riegle, Peter Skinner and Ted Langreck.  It is
 directly derived from Cray Blitz, winner of the 1983 and 1986 World
 Computer Chess Championships.
 
@@ -1679,7 +1705,7 @@ search path (‘exec-path’), the ‘chess-crafty’ engine 
module will
 automatically detect it.
 
    If ‘crafty’ is installed in a non-standard location, variable
-‘chess-crafty-path’ can be set to point to the executable.
+‘chess-crafty-path’ can be set to point to its executable file.
 
    If you have multiple engines installed you can explicitly select to
 play against Crafty by invoking ‘C-u M-x chess <RET> crafty <RET>’.
@@ -1703,7 +1729,7 @@ search path (‘exec-path’), the ‘chess-fruit’ engine 
module will
 automatically detect it.
 
    If Fruit is installed in a non-standard location, variable
-‘chess-fruit-path’ can be set to point to the executable.
+‘chess-fruit-path’ can be set to point to its executable file.
 
    If you have multiple engines installed you can explicitly select to
 play against Fruit by invoking ‘C-u M-x chess <RET> fruit <RET>’.
@@ -1721,7 +1747,7 @@ program search path (‘exec-path’), the ‘chess-glaurung’ 
engine module
 will automatically detect it.
 
    If Glaurung is installed in a non-standard location, variable
-‘chess-glaurung-path’ can be set to point to the executable.
+‘chess-glaurung-path’ can be set to point to its executable file.
 
    If you have multiple engines installed you can explicitly select to
 play against Glaurung by invoking ‘C-u M-x chess <RET> glaurung <RET>’.
@@ -1743,7 +1769,7 @@ program search path (‘exec-path’), the ‘chess-gnuchess’ 
engine module
 will automatically detect it.
 
    If GNU Chess is installed in a non-standard location, variable
-‘chess-gnuchess-path’ can be set to point to the executable.
+‘chess-gnuchess-path’ can be set to point to its executable file.
 
    If you have multiple engines installed you can explicitly select to
 play against GNU Chess by invoking ‘C-u M-x chess <RET> gnuchess <RET>’.
@@ -1761,7 +1787,7 @@ search path (‘exec-path’), the ‘chess-phalanx’ engine 
module will
 automatically detect it.
 
    If Phalanx is installed in a non-standard location, variable
-‘chess-phalanx-path’ can be set to point to the executable.
+‘chess-phalanx-path’ can be set to point to its executable file.
 
    If you have multiple engines installed you can explicitly select to
 play against Phalanx by invoking ‘C-u M-x chess <RET> phalanx <RET>’.
@@ -1781,7 +1807,7 @@ search path (‘exec-path’), the ‘chess-sjeng’ engine 
module will
 automatically detect it.
 
    If Sjeng is installed in a non-standard location, variable
-‘chess-sjeng-path’ can be set to point to the executable.
+‘chess-sjeng-path’ can be set to point to its executable file.
 
    If you have multiple engines installed you can explicitly select to
 play against Sjeng by invoking ‘C-u M-x chess <RET> sjeng <RET>’.
@@ -1802,7 +1828,7 @@ program search path (‘exec-path’), the ‘chess-stockfish’ 
engine module
 will automatically detect it.
 
    If Stockfish is installed in a non-standard location, variable
-‘chess-stockfish-path’ can be set to point to the executable.
+‘chess-stockfish-path’ can be set to point to its executable file.
 
    If you have multiple engines installed you can explicitly select to
 play against Stockfish by invoking ‘C-u M-x chess <RET> stockfish
@@ -1814,10 +1840,10 @@ File: chess.info,  Node: Chess Session,  Next: Internet 
Chess Servers,  Prev: En
 5 Chess Session
 ***************
 
-A chess session assembles all modules mentioned in previous chapters
+A "chess session" assembles all modules mentioned in previous chapters
 into a working system to interact with.  A session typically consists of
 at least one display module, one engine module, and possibly a number of
-optional modules.  All these mdoules share a common game object which is
+optional modules.  All these modules share a common game object which is
 used to keep track of the currently active game.
 
  -- Function: chess engine disable-popup engine-response-handler &rest
@@ -1836,7 +1862,7 @@ used to keep track of the currently active game.
      to use.
 
    You can have several active chess sessions.  In fact, some features
-later described in this manual make use of this, *Note Internet Chess
+later described in this manual make use of this, *note Internet Chess
 Servers::.
 
    To interactively start a chess session, invoke ‘M-x chess <RET>’.
@@ -1859,7 +1885,7 @@ Based on the services provided above, there is also a 
special mode for
 communication with Internet Chess Servers.
 
    On an Internet Chess Server you can seek to play against other human
-or computer players, observe other games being player or examined, play
+or computer players, observe other games being played or examined, play
 tournaments, chat with fellow chess players, participate in team games,
 or do various other interesting chess related things.
 
@@ -1886,7 +1912,7 @@ variable:
 * Watching other games::
 
 
-File: chess.info,  Node: Connecting to a server,  Next: Chess ICS Mode,  Prev: 
Internet Chess Servers,  Up: Internet Chess Servers
+File: chess.info,  Node: Connecting to a server,  Next: Chess ICS Mode,  Up: 
Internet Chess Servers
 
 6.1 Connecting to a server
 ==========================
@@ -1922,8 +1948,8 @@ commands:
      Either delete a character or send EOF (End Of File)
      (‘comint-delchar-or-maybe-eof’).  Typed at the end of the ICS
      buffer, this sends EOF to the server and terminates the connection.
-     Typed at any other position in the buffer, this deletes a character
-     as usual.
+     Typed at any other position in the buffer, this deletes the
+     character at point, as usual.
 
 ‘C-c C-a’
      Move to the beginning of the line, but after the prompt if any
@@ -2004,27 +2030,30 @@ copy them to the end.
 * ICS History Copying::
 
 
-File: chess.info,  Node: ICS Command Ring,  Next: ICS History Copying,  Prev: 
Command History,  Up: Command History
+File: chess.info,  Node: ICS Command Ring,  Next: ICS History Copying,  Up: 
Command History
 
 6.3.1 ICS Command History Ring
 ------------------------------
 
 ‘M-p’
 ‘C-<UP>’
-     Fetch the next earlier old ICS command.
+     Fetch the next earlier old ICS command (‘comint-previous-input’).
 
 ‘M-n’
 ‘C-<DOWN>’
-     Fetch the next later old ICS command.
+     Fetch the next later old ICS command (‘comint-next-input’).
 
 ‘M-r’
-     Begin an incremental regexp search of old ICS commands.
+     Begin an incremental regexp search of old ICS commands
+     (‘comint-history-isearch-backward-regexp’).
 
 ‘C-c C-x’
-     Fetch the next subsequent command from the history.
+     Fetch the next subsequent command from the history
+     (‘comint-get-next-from-history’).
 
 ‘C-c .’
-     Fetch one argument from an old ICS command.
+     Fetch one argument from an old ICS command
+     (‘comint-input-previous-argument’).
 
 ‘C-c C-l’
      Display the buffer’s history of ICS commands in another window
@@ -2115,8 +2144,8 @@ File: chess.info,  Node: Seeking an opponent for a new 
game,  Next: The sought g
 ======================================
 
 After you connected to a server, one of the first things you will want
-to do is find an oponent for a new game.  You can use the ICS command
-"seek" to announce your availability for a chess game to interested
+to do is find an opponent for a new game.  You can use the ICS command
+‘seek’ to announce your availability for a chess game to interested
 people.
 
    For example:
@@ -2134,14 +2163,14 @@ File: chess.info,  Node: The sought game display,  
Next: Watching other games,
 ===========================
 
 There is a special mode for displaying games sought by other users on an
-Internet Chess Server.  Provided you didn’t turn off seek advertisments
+Internet Chess Server.  Provided you didn’t turn off seek advertisements
 manually (for instance by setting the seek variable to 0 (off) on the
-ICS server by issueing "set seek 0"), the first seek advertisment
+ICS server by issuing "set seek 0"), the first seek advertisement
 automatically pops up a new window which is in ‘chess-ics-ads-mode’, a
 derivative of ‘tabulated-list-mode’.
 
  -- Function: chess-ics-ads-mode
-     A mode for displaying ICS game seek advertisments.
+     A mode for displaying ICS game seek advertisements.
 
      This mode runs the hook ‘chess-ics-ads-mode-hook’, as the final
      step during initialization.
@@ -2151,7 +2180,7 @@ derivative of ‘tabulated-list-mode’.
      ?         describe-mode RET       chess-ics-sought-accept <mouse-2>
      chess-ics-sought-accept
 
-   In this buffer, use mouse-2 or ‘<RET>’ on a line to accept that
+   In this buffer, use ‘mouse-2’ or ‘<RET>’ on a line to accept that
 particular game and play it.
 
 
@@ -2185,7 +2214,7 @@ navigate back and forth in the history of the game.
 
    If a new move is made by any party in the game and you are currently
 displaying the last position in the game, the chessboard display will
-automaticall update to reflect the new position and show the last move
+automatically update to reflect the new position and show the last move
 in the mode line.
 
 
@@ -2679,34 +2708,132 @@ Concept Index
 [index]
 * Menu:
 
+* ‘acd’ opcode:                          Opcode "acd" analysis count depth.
+                                                               (line  6)
+* ‘acn’ opcode:                          Opcode "acn" analysis count nodes.
+                                                               (line  6)
+* ‘acs’ opcode:                          Opcode "acs" analysis count seconds.
+                                                               (line  6)
+* AI engine:                             AI.                   (line  6)
+* algebraic notation:                    Algebraic notation.   (line  6)
 * algebraic notation, entering moves with: Entering moves with algebraic 
notation.
                                                                (line  6)
-* algebraic notation, searching moves:   Basic operations.     (line 13)
-* bishop:                                Position coordinates. (line 49)
+* algebraic notation, searching moves:   Basic operations.     (line 15)
+* ‘am’ opcode:                           Opcode "am" avoid move(s).
+                                                               (line  6)
+* annotations:                           Annotations.          (line  6)
+* ASCII diagram display:                 Plain ASCII diagram displays.
+                                                               (line  6)
+* bishop:                                Position coordinates. (line 50)
+* ‘bm’ opcode:                           Opcode "bm" best move(s).
+                                                               (line  6)
+* chess display mode:                    Chess display mode.   (line  6)
 * Chess ICS mode:                        Chess ICS Mode.       (line  6)
+* chess opening books modules:           Chess Opening Books.  (line  6)
+* chess session:                         Chess Session.        (line  6)
+* chess-eco module:                      ECO Classification.   (line  6)
+* chess-file module:                     chess-file.           (line  6)
+* chess-images module:                   Graphical displays.   (line  6)
+* chess-none:                            The Null Engine.      (line  6)
+* chess-scid module:                     chess-scid.           (line  6)
+* chessboard display:                    Chessboard displays.  (line  6)
+* collection:                            Collections.          (line  6)
+* collection database:                   Opening Databases.    (line  6)
 * Comint mode:                           Chess ICS Mode.       (line 79)
-* cooridnates:                           Position coordinates. (line  6)
-* east:                                  Position coordinates. (line 37)
-* fen:                                   FEN notation.         (line  6)
+* command history:                       Command History.      (line  6)
+* command history ring:                  ICS Command Ring.     (line  6)
+* connecting to internet chess server:   Connecting to a server.
+                                                               (line  6)
+* coordinates:                           Position coordinates. (line  6)
+* copying command history:               ICS History Copying.  (line  6)
+* crafty:                                Crafty.               (line  6)
+* creating games:                        Creating games.       (line  6)
+* creating plies:                        Creating plies.       (line  6)
+* creating positions:                    Creating positions.   (line  6)
+* creating variations:                   Creating variations.  (line  6)
+* customize chess-images display:        Graphical displays.   (line 21)
+* customize chess-plain display:         Plain ASCII diagram displays.
+                                                               (line 51)
+* customize ics1 display:                ICS1 style ASCII displays.
+                                                               (line 32)
+* database modules:                      Database Modules.     (line  6)
+* database, modifying:                   Modifying Databases.  (line  6)
+* database, opening:                     Opening Databases.    (line  6)
+* display:                               Chessboard displays.  (line  6)
+* display manipulation functions:        Generic display manipulation 
functions.
+                                                               (line  6)
+* east:                                  Position coordinates. (line 38)
+* ECO classification:                    ECO Classification.   (line  6)
+* engines:                               Engines.              (line  6)
+* engines, common functions:             Common functions.     (line  6)
+* EPD notation:                          EPD notation.         (line  6)
+* EPD operations:                        Operations.           (line  6)
+* FEN notation:                          FEN notation.         (line  6)
 * figurine algebraic notation:           Algebraic notation.   (line 25)
+* fruit:                                 Fruit.                (line  6)
+* game:                                  Games.                (line  6)
+* game plies:                            Game plies.           (line  6)
+* game positions:                        Game positions.       (line  6)
+* game tags:                             Game tags.            (line  6)
+* game, creating:                        Creating games.       (line  6)
+* glaurung:                              Glaurung.             (line  6)
+* gnuchess:                              GNU Chess.            (line  6)
+* graphical display:                     Graphical displays.   (line  6)
+* history copying:                       ICS History Copying.  (line  6)
+* ICS1 display:                          ICS1 style ASCII displays.
+                                                               (line  6)
+* internet chess servers:                Internet Chess Servers.
+                                                               (line  6)
 * library:                               The chess.el library. (line  6)
 * long algebraic notation:               Algebraic notation.   (line 25)
 * mode, Comint:                          Chess ICS Mode.       (line 79)
 * mode, ICS:                             Chess ICS Mode.       (line  6)
-* north:                                 Position coordinates. (line 33)
-* northeast:                             Position coordinates. (line 51)
-* northwest:                             Position coordinates. (line 63)
+* modifying databases:                   Modifying Databases.  (line  6)
+* modules:                               Modules.              (line  6)
+* north:                                 Position coordinates. (line 34)
+* northeast:                             Position coordinates. (line 52)
+* northwest:                             Position coordinates. (line 64)
+* null engine:                           The Null Engine.      (line  6)
 * numeric notation:                      Algebraic notation.   (line 25)
+* opcodes:                               Operations.           (line  6)
+* opening database:                      Opening Databases.    (line  6)
+* PGN mode:                              PGN mode.             (line  6)
+* PGN notation:                          PGN notation.         (line  6)
+* phalanx:                               Phalanx.              (line  6)
+* ply:                                   Plies.                (line  6)
+* ply details:                           Ply details.          (line  6)
+* ply, creating:                         Creating plies.       (line  6)
+* polyglot opening book format:          Polyglot opening book format support.
+                                                               (line  6)
 * position:                              Positions.            (line  6)
-* queen:                                 Position coordinates. (line 31)
-* queen <1>:                             Position coordinates. (line 49)
-* rook:                                  Position coordinates. (line 31)
+* position coordinates:                  Position coordinates. (line  6)
+* position, creating:                    Creating positions.   (line  6)
+* queen:                                 Position coordinates. (line 32)
+* queen <1>:                             Position coordinates. (line 50)
+* querying databases:                    Querying Databases.   (line  6)
+* rook:                                  Position coordinates. (line 32)
+* seek advertisements:                   The sought game display.
+                                                               (line  6)
+* seeking opponents:                     Seeking an opponent for a new game.
+                                                               (line  6)
 * short algebraic notation:              Algebraic notation.   (line 25)
-* south:                                 Position coordinates. (line 41)
-* southeast:                             Position coordinates. (line 55)
-* southwest:                             Position coordinates. (line 59)
+* sjeng:                                 Sjeng.                (line  6)
+* sought game display:                   The sought game display.
+                                                               (line  6)
+* south:                                 Position coordinates. (line 42)
+* southeast:                             Position coordinates. (line 56)
+* southwest:                             Position coordinates. (line 60)
 * standard algebraic notation:           Algebraic notation.   (line 25)
-* west:                                  Position coordinates. (line 45)
+* stockfish:                             Stockfish.            (line  6)
+* tags:                                  Game tags.            (line  6)
+* variation:                             Variations.           (line  6)
+* variation plies:                       Variation plies.      (line  6)
+* variation positions:                   Variation positions.  (line  6)
+* variation, creating:                   Creating variations.  (line  6)
+* variation, make a move:                Making a move in a variation.
+                                                               (line  6)
+* watching other games:                  Watching other games. (line  6)
+* west:                                  Position coordinates. (line 46)
 
 
 File: chess.info,  Node: Function and Variable Index,  Next: Key Index,  Prev: 
Concept Index,  Up: Top
@@ -2722,10 +2849,10 @@ Function and Variable Index
 * chess-ai-best-move:                    AI.                  (line  24)
 * chess-ai-depth:                        AI.                  (line  13)
 * chess-ai-quiescence-depth:             AI.                  (line  16)
-* chess-algebraic-regexp:                Algebraic notation.  (line  40)
+* chess-algebraic-regexp:                Algebraic notation.  (line  50)
 * chess-algebraic-to-ply:                Algebraic notation.  (line  14)
 * chess-coord-to-index:                  Position coordinates.
-                                                              (line  22)
+                                                              (line  23)
 * chess-crafty-path:                     Crafty.              (line  15)
 * chess-database-filename:               Querying Databases.  (line   6)
 * chess-database-modules:                Opening Databases.   (line   6)
@@ -2737,66 +2864,66 @@ Function and Variable Index
 * chess-default-engine:                  Chess Session.       (line  31)
 * chess-default-modules:                 ECO Classification.  (line   6)
 * chess-direction-east:                  Position coordinates.
-                                                              (line  37)
+                                                              (line  38)
 * chess-direction-north:                 Position coordinates.
-                                                              (line  33)
+                                                              (line  34)
 * chess-direction-northeast:             Position coordinates.
-                                                              (line  51)
+                                                              (line  52)
 * chess-direction-northwest:             Position coordinates.
-                                                              (line  63)
+                                                              (line  64)
 * chess-direction-south:                 Position coordinates.
-                                                              (line  41)
+                                                              (line  42)
 * chess-direction-southeast:             Position coordinates.
-                                                              (line  55)
+                                                              (line  56)
 * chess-direction-southwest:             Position coordinates.
-                                                              (line  59)
+                                                              (line  60)
 * chess-direction-west:                  Position coordinates.
-                                                              (line  45)
+                                                              (line  46)
 * chess-display-active-p:                Generic display manipulation 
functions.
                                                               (line  12)
 * chess-display-clear-board:             Generic display manipulation 
functions.
-                                                              (line  16)
+                                                              (line  17)
 * chess-display-create:                  Generic display manipulation 
functions.
                                                               (line   6)
-* chess-display-draw:                    Basic operations.    (line  33)
+* chess-display-draw:                    Basic operations.    (line  36)
 * chess-display-highlight:               Generic display manipulation 
functions.
-                                                              (line  19)
+                                                              (line  20)
 * chess-display-highlight-legal:         Chess display mode.  (line  15)
 * chess-display-invert:                  Generic display manipulation 
functions.
-                                                              (line  27)
+                                                              (line  28)
 * chess-display-invert <1>:              Basic operations.    (line   8)
-* chess-display-kill-board:              Basic operations.    (line  40)
+* chess-display-kill-board:              Basic operations.    (line  43)
 * chess-display-move:                    Generic display manipulation 
functions.
-                                                              (line  30)
-* chess-display-move-backward:           Basic operations.    (line  11)
-* chess-display-move-first:              Basic operations.    (line  25)
-* chess-display-move-forward:            Basic operations.    (line  22)
-* chess-display-move-last:               Basic operations.    (line  29)
+                                                              (line  31)
+* chess-display-move-backward:           Basic operations.    (line  12)
+* chess-display-move-first:              Basic operations.    (line  28)
+* chess-display-move-forward:            Basic operations.    (line  24)
+* chess-display-move-last:               Basic operations.    (line  32)
 * chess-display-perspective:             Generic display manipulation 
functions.
-                                                              (line  34)
+                                                              (line  35)
 * chess-display-position:                Generic display manipulation 
functions.
-                                                              (line  37)
+                                                              (line  38)
 * chess-display-quit:                    Generic display manipulation 
functions.
-                                                              (line  40)
-* chess-display-quit <1>:                Basic operations.    (line  55)
-* chess-display-resign:                  Basic operations.    (line  36)
-* chess-display-search-backward:         Basic operations.    (line  14)
-* chess-display-search-forward:          Basic operations.    (line  18)
+                                                              (line  41)
+* chess-display-quit <1>:                Basic operations.    (line  58)
+* chess-display-resign:                  Basic operations.    (line  39)
+* chess-display-search-backward:         Basic operations.    (line  16)
+* chess-display-search-forward:          Basic operations.    (line  20)
 * chess-display-select-piece:            Selecting pieces with the keyboard.
                                                               (line  12)
 * chess-display-select-piece <1>:        Selecting pieces with the mouse.
                                                               (line  13)
 * chess-display-set-game:                Generic display manipulation 
functions.
-                                                              (line  43)
+                                                              (line  44)
 * chess-display-set-perspective:         Generic display manipulation 
functions.
-                                                              (line  49)
+                                                              (line  50)
 * chess-display-set-position:            Generic display manipulation 
functions.
-                                                              (line  52)
+                                                              (line  53)
 * chess-display-set-variation:           Generic display manipulation 
functions.
-                                                              (line  56)
+                                                              (line  57)
 * chess-display-update:                  Generic display manipulation 
functions.
-                                                              (line  64)
-* chess-display-yank-board:              Basic operations.    (line  47)
+                                                              (line  65)
+* chess-display-yank-board:              Basic operations.    (line  50)
 * chess-engine-command:                  Common functions.    (line  18)
 * chess-engine-create:                   Common functions.    (line   6)
 * chess-engine-position:                 Common functions.    (line  15)
@@ -2841,18 +2968,18 @@ Function and Variable Index
 * chess-images-directory:                Graphical displays.  (line   9)
 * chess-images-separate-frame:           Graphical displays.  (line  18)
 * chess-index-file:                      Position coordinates.
-                                                              (line  13)
+                                                              (line  14)
 * chess-index-rank:                      Position coordinates.
-                                                              (line  10)
+                                                              (line  11)
 * chess-index-to-coord:                  Position coordinates.
-                                                              (line  25)
+                                                              (line  26)
 * chess-input-shortcut:                  Entering moves with algebraic 
notation.
                                                               (line  15)
 * chess-input-shortcut-delete:           Entering moves with algebraic 
notation.
                                                               (line  27)
 * chess-legal-plies:                     Creating plies.      (line  16)
 * chess-next-index:                      Position coordinates.
-                                                              (line  67)
+                                                              (line  68)
 * chess-pgn-insert-plies:                PGN notation.        (line  15)
 * chess-pgn-to-game:                     PGN notation.        (line   6)
 * chess-pgn-visualize:                   PGN mode.            (line   6)
@@ -2875,7 +3002,7 @@ Function and Variable Index
 * chess-ply-create:                      Creating plies.      (line   6)
 * chess-ply-final-p:                     The "next" position. (line   9)
 * chess-ply-keyword:                     Polyglot opening book format support.
-                                                              (line  26)
+                                                              (line  27)
 * chess-ply-next-pos:                    The "next" position. (line   6)
 * chess-ply-pos:                         Ply details.         (line   6)
 * chess-ply-set-changes:                 Ply details.         (line  19)
@@ -2884,46 +3011,48 @@ Function and Variable Index
 * chess-ply-target:                      Ply details.         (line  26)
 * chess-ply-to-algebraic:                Algebraic notation.  (line  25)
 * chess-polyglot-book:                   Polyglot opening book format support.
-                                                              (line  14)
+                                                              (line  15)
 * chess-polyglot-book-file:              Polyglot opening book format support.
-                                                              (line  11)
+                                                              (line  12)
 * chess-polyglot-book-open:              Polyglot opening book format support.
-                                                              (line  21)
+                                                              (line  22)
 * chess-polyglot-book-plies:             Polyglot opening book format support.
-                                                              (line  26)
+                                                              (line  27)
 * chess-polyglot-book-ply:               Polyglot opening book format support.
-                                                              (line  33)
+                                                              (line  34)
+* chess-polyglot-book-strength:          Polyglot opening book format support.
+                                                              (line  34)
 * chess-pos-add-annotation:              Annotations.         (line   9)
-* chess-pos-always-white:                Position details.    (line 101)
+* chess-pos-always-white:                Position details.    (line 102)
 * chess-pos-annotations:                 Annotations.         (line   6)
-* chess-pos-can-castle:                  Position details.    (line  52)
+* chess-pos-can-castle:                  Position details.    (line  53)
 * chess-pos-copy:                        Creating positions.  (line  11)
 * chess-pos-create:                      Creating positions.  (line   6)
-* chess-pos-en-passant:                  Position details.    (line  67)
-* chess-pos-move:                        Position details.    (line 106)
-* chess-pos-passed-pawns:                Position details.    (line  91)
+* chess-pos-en-passant:                  Position details.    (line  68)
+* chess-pos-move:                        Position details.    (line 107)
+* chess-pos-passed-pawns:                Position details.    (line  92)
 * chess-pos-piece:                       Position details.    (line   9)
 * chess-pos-piece-p:                     Position details.    (line  12)
 * chess-pos-search:                      Position details.    (line  22)
 * chess-pos-search*:                     Position details.    (line  27)
-* chess-pos-set-can-castle:              Position details.    (line  57)
-* chess-pos-set-en-passant:              Position details.    (line  71)
+* chess-pos-set-can-castle:              Position details.    (line  58)
+* chess-pos-set-en-passant:              Position details.    (line  72)
 * chess-pos-set-piece:                   Position details.    (line  17)
-* chess-pos-set-side-to-move:            Position details.    (line  88)
-* chess-pos-set-status:                  Position details.    (line  80)
-* chess-pos-side-to-move:                Position details.    (line  85)
-* chess-pos-status:                      Position details.    (line  75)
+* chess-pos-set-side-to-move:            Position details.    (line  89)
+* chess-pos-set-status:                  Position details.    (line  81)
+* chess-pos-side-to-move:                Position details.    (line  86)
+* chess-pos-status:                      Position details.    (line  76)
 * chess-pos-to-epd:                      EPD notation.        (line  25)
 * chess-pos-to-fen:                      FEN notation.        (line  35)
 * chess-rf-to-index:                     Position coordinates.
-                                                              (line  16)
-* chess-search-position:                 Position details.    (line  34)
+                                                              (line  17)
+* chess-search-position:                 Position details.    (line  35)
 * chess-sjeng-path:                      Sjeng.               (line  14)
 * chess-starting-position:               Creating positions.  (line  16)
 * chess-starting-position <1>:           FEN notation.        (line  41)
 * chess-stockfish-path:                  Stockfish.           (line  15)
 * chess-var-add-ply:                     Making a move in a variation.
-                                                              (line  12)
+                                                              (line  13)
 * chess-var-create:                      Creating variations. (line   6)
 * chess-var-index:                       Variation positions. (line   9)
 * chess-var-move:                        Making a move in a variation.
@@ -2940,10 +3069,10 @@ Function and Variable Index
 * comint-copy-old-input:                 ICS History Copying. (line  12)
 * comint-delchar-or-maybe-eof:           Chess ICS Mode.      (line  18)
 * comint-delete-output:                  Chess ICS Mode.      (line  50)
-* comint-dynamic-list-input-ring:        ICS Command Ring.    (line  24)
-* comint-get-next-from-history:          ICS Command Ring.    (line  18)
+* comint-dynamic-list-input-ring:        ICS Command Ring.    (line  27)
+* comint-get-next-from-history:          ICS Command Ring.    (line  19)
 * comint-history-isearch-backward-regexp: ICS Command Ring.   (line  14)
-* comint-input-previous-argument:        ICS Command Ring.    (line  21)
+* comint-input-previous-argument:        ICS Command Ring.    (line  23)
 * comint-kill-input:                     Chess ICS Mode.      (line  42)
 * comint-next-input:                     ICS Command Ring.    (line  10)
 * comint-next-prompt:                    ICS History Copying. (line   9)
@@ -2964,8 +3093,8 @@ Key Index
 [index]
 * Menu:
 
-* ,:                                     Basic operations.     (line 10)
-* .:                                     Basic operations.     (line 21)
+* ,:                                     Basic operations.     (line 11)
+* .:                                     Basic operations.     (line 23)
 * 1:                                     Entering moves with algebraic 
notation.
                                                                (line  6)
 * 2:                                     Entering moves with algebraic 
notation.
@@ -2982,10 +3111,10 @@ Key Index
                                                                (line  6)
 * 8:                                     Entering moves with algebraic 
notation.
                                                                (line  6)
-* <:                                     Basic operations.     (line 24)
+* <:                                     Basic operations.     (line 27)
 * =:                                     Entering moves with algebraic 
notation.
                                                                (line  6)
-* >:                                     Basic operations.     (line 28)
+* >:                                     Basic operations.     (line 31)
 * a:                                     Entering moves with algebraic 
notation.
                                                                (line  6)
 * b:                                     Entering moves with algebraic 
notation.
@@ -2996,28 +3125,28 @@ Key Index
                                                                (line 26)
 * c:                                     Entering moves with algebraic 
notation.
                                                                (line  6)
-* C-c .:                                 ICS Command Ring.     (line 21)
+* C-c .:                                 ICS Command Ring.     (line 23)
 * C-c C-a:                               Chess ICS Mode.       (line 25)
-* C-c C-d:                               Basic operations.     (line 32)
+* C-c C-d:                               Basic operations.     (line 35)
 * C-c C-e:                               Chess ICS Mode.       (line 67)
-* C-c C-l:                               ICS Command Ring.     (line 24)
+* C-c C-l:                               ICS Command Ring.     (line 27)
 * C-c C-n:                               ICS History Copying.  (line  9)
 * C-c C-o:                               Chess ICS Mode.       (line 50)
 * C-c C-p:                               ICS History Copying.  (line  6)
-* C-c C-r:                               Basic operations.     (line 35)
+* C-c C-r:                               Basic operations.     (line 38)
 * C-c C-r <1>:                           Chess ICS Mode.       (line 62)
 * C-c C-s:                               Chess ICS Mode.       (line 55)
 * C-c C-u:                               Chess ICS Mode.       (line 42)
 * C-c C-w:                               Chess ICS Mode.       (line 47)
-* C-c C-x:                               ICS Command Ring.     (line 18)
+* C-c C-x:                               ICS Command Ring.     (line 19)
 * C-c RET:                               ICS History Copying.  (line 12)
 * C-c SPC:                               Chess ICS Mode.       (line 34)
 * C-d:                                   Chess ICS Mode.       (line 18)
 * C-i:                                   Basic operations.     (line  6)
 * C-M-l:                                 Chess ICS Mode.       (line 62)
-* C-r:                                   Basic operations.     (line 13)
-* C-s:                                   Basic operations.     (line 17)
-* C-u M-w:                               Basic operations.     (line 38)
+* C-r:                                   Basic operations.     (line 15)
+* C-s:                                   Basic operations.     (line 19)
+* C-u M-w:                               Basic operations.     (line 41)
 * C-u M-x chess RET:                     Chess Session.        (line 35)
 * C-u M-x chess RET ai RET:              AI.                   (line 10)
 * C-u M-x chess RET crafty RET:          Crafty.               (line 18)
@@ -3028,7 +3157,7 @@ Key Index
 * C-u M-x chess RET phalanx RET:         Phalanx.              (line 15)
 * C-u M-x chess RET sjeng RET:           Sjeng.                (line 17)
 * C-u M-x chess RET stockfish RET:       Stockfish.            (line 18)
-* C-y:                                   Basic operations.     (line 46)
+* C-y:                                   Basic operations.     (line 49)
 * d:                                     Entering moves with algebraic 
notation.
                                                                (line  6)
 * down-mouse-1:                          Selecting pieces with the mouse.
@@ -3052,7 +3181,7 @@ Key Index
 * M-n:                                   ICS Command Ring.     (line 10)
 * M-p:                                   ICS Command Ring.     (line  6)
 * M-r:                                   ICS Command Ring.     (line 14)
-* M-w:                                   Basic operations.     (line 38)
+* M-w:                                   Basic operations.     (line 41)
 * M-x chess RET:                         Chess Session.        (line 31)
 * M-x customize-group RET chess-ics1 RET: ICS1 style ASCII displays.
                                                                (line 32)
@@ -3072,7 +3201,7 @@ Key Index
 * RET <2>:                               The sought game display.
                                                                (line 24)
 * TAB:                                   Basic operations.     (line  6)
-* X:                                     Basic operations.     (line 54)
+* X:                                     Basic operations.     (line 57)
 * x:                                     Entering moves with algebraic 
notation.
                                                                (line  6)
 
@@ -3080,85 +3209,85 @@ Key Index
 
 Tag Table:
 Node: Top1474
-Node: The chess.el library2565
-Node: Positions3057
-Node: Creating positions4059
-Node: Position coordinates4830
-Node: Position details7387
-Node: Annotations12253
-Node: FEN notation12595
-Node: EPD notation14419
-Node: Operations15903
-Node: Opcode "acd" analysis count depth16879
-Node: Opcode "acn" analysis count nodes17233
-Node: Opcode "acs" analysis count seconds17758
-Node: Opcode "am" avoid move(s)18278
-Node: Opcode "bm" best move(s)18719
-Node: Plies19114
-Node: Creating plies20257
-Node: Ply details21901
-Node: The "next" position23022
-Node: Algebraic notation23380
-Node: Variations25162
-Node: Creating variations26261
-Node: Variation positions26569
-Node: Variation plies27175
-Node: Making a move in a variation27621
-Node: Games28174
-Node: Creating games29756
-Node: Game tags30201
-Node: Game positions30810
-Node: Game plies31444
-Node: Making a move31713
-Node: PGN notation32144
-Node: PGN mode32878
-Node: Collections33139
-Node: Opening Databases33918
-Node: Querying Databases34413
-Node: Modifying Databases35039
-Node: Finalising Databases35311
-Node: Database Modules35486
-Node: chess-file35744
-Node: chess-scid36394
-Node: Chess Opening Books36633
-Node: ECO Classification36952
-Node: Polyglot opening book format support37395
-Node: Modules39263
-Node: Chessboard displays46039
-Node: Generic display manipulation functions46673
-Node: Chess display mode49471
-Node: Basic operations50406
-Node: Selecting pieces with the keyboard52116
-Node: Selecting pieces with the mouse52708
-Node: Entering moves with algebraic notation53274
-Node: Plain ASCII diagram displays54292
-Node: ICS1 style ASCII displays56177
-Node: Graphical displays57529
-Node: Engines58380
-Node: Common functions58916
-Node: The Null Engine59977
-Node: AI60520
-Node: Crafty61498
-Node: Fruit62285
-Node: Glaurung63181
-Node: GNU Chess63821
-Node: Phalanx64746
-Node: Sjeng65378
-Node: Stockfish66117
-Node: Chess Session66934
-Node: Internet Chess Servers68701
-Node: Connecting to a server69875
-Node: Chess ICS Mode70431
-Node: Command History73944
-Node: ICS Command Ring74565
-Node: ICS History Copying77778
-Node: Seeking an opponent for a new game79296
-Node: The sought game display79945
-Node: Watching other games80973
-Node: GNU Free Documentation License82455
-Node: Concept Index107818
-Node: Function and Variable Index110050
-Node: Key Index127519
+Node: The chess.el library2551
+Node: Positions3060
+Node: Creating positions4049
+Node: Position coordinates4808
+Node: Position details7403
+Node: Annotations12465
+Node: FEN notation12807
+Node: EPD notation14655
+Node: Operations16167
+Node: Opcode "acd" analysis count depth17129
+Node: Opcode "acn" analysis count nodes17514
+Node: Opcode "acs" analysis count seconds18048
+Node: Opcode "am" avoid move(s)18577
+Node: Opcode "bm" best move(s)19026
+Node: Plies19429
+Node: Creating plies20584
+Node: Ply details22309
+Node: The "next" position23454
+Node: Algebraic notation23822
+Node: Variations25680
+Node: Creating variations26783
+Node: Variation positions27073
+Node: Variation plies27729
+Node: Making a move in a variation28216
+Node: Games28805
+Node: Creating games30409
+Node: Game tags30788
+Node: Game positions31414
+Node: Game plies32088
+Node: Making a move32363
+Node: PGN notation32800
+Node: PGN mode33552
+Node: Collections33792
+Node: Opening Databases34577
+Node: Querying Databases35052
+Node: Modifying Databases35726
+Node: Finalizing Databases36004
+Node: Database Modules36179
+Node: chess-file36437
+Node: chess-scid37062
+Node: Chess Opening Books37303
+Node: ECO Classification37622
+Node: Polyglot opening book format support38038
+Node: Modules39932
+Node: Chessboard displays46729
+Node: Generic display manipulation functions47363
+Node: Chess display mode50175
+Node: Basic operations51113
+Node: Selecting pieces with the keyboard52915
+Node: Selecting pieces with the mouse53507
+Node: Entering moves with algebraic notation54072
+Node: Plain ASCII diagram displays55092
+Node: ICS1 style ASCII displays56991
+Node: Graphical displays58360
+Node: Engines59222
+Node: Common functions59742
+Node: The Null Engine60793
+Node: AI61336
+Node: Crafty62314
+Node: Fruit63106
+Node: Glaurung64007
+Node: GNU Chess64652
+Node: Phalanx65582
+Node: Sjeng66219
+Node: Stockfish66963
+Node: Chess Session67785
+Node: Internet Chess Servers69554
+Node: Connecting to a server70728
+Node: Chess ICS Mode71253
+Node: Command History74778
+Node: ICS Command Ring75399
+Node: ICS History Copying78782
+Node: Seeking an opponent for a new game80300
+Node: The sought game display80954
+Node: Watching other games81990
+Node: GNU Free Documentation License83473
+Node: Concept Index108836
+Node: Function and Variable Index118214
+Node: Key Index135835
 
 End Tag Table
 
diff --git a/chess.texi b/chess.texi
index 29019ad..6149fa9 100644
--- a/chess.texi
+++ b/chess.texi
@@ -1428,7 +1428,7 @@ variation that was passed in.
 
 @defun chess-display-update display &optional popup
 Update the chessboard @var{display}.  If @var{popup} is address@hidden,
-update it as well.
+make sure it is visible.
 @end defun
 
 @c lispfun chess-display-variation



reply via email to

[Prev in Thread] Current Thread [Next in Thread]