Merge commit 'v4.3.16'
[xboard.git] / ChangeLog
index ae14d79..7338258 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-ChangeLog for XBoard/WinBoard
-* 2009-03-17 APersaud: added initial german language support (130 of 301 strings translated).
-
-* 2009-02-28 APersaud: fixed bug #22853: changed all .Xdefaults to .Xresources in xboard.texi 
-       
-* 2009-02-28 anonymous <grainman.timp@gmail.com> (tiny change)
-       added DESTDIR support to Makefile.in; similar patch also provided by Ali Polatel <kawdjer>
-       patch #6182; bug #25672
-       
-* 2009-02-28 APersaud: fixed missing datarootdir in Makefile.in -> autoconf -> new configure script
-       
-* 2009-02-28 APersaud: fixed an error in the parser. This should fix bug #22812.
-       
-* 06/12/2005: bugfix some more possible buffer overflows.
-
-* 06/27/2004: added simple icsEngineAnalyze for xboard
-
-* 06/26/2004: added icsEngineAnalyze for winboard: Analyze observe games 
-with a chessprogram on a Internet Chess Server (ICS) 
-
-* 02/12/2004: Bugfix ICS interaction console crashed while chess
-engine starting and user type in some stuff. We are wait now to finish
-the engine boot.
-
-* 02/11/2004: Winboard: Added color lines for the ics interaction
-console if zippy used
-
-* 02/09/2004: Added mousewheel support for winboard. Play moves
-backward and forward with the mousewheel.
-
-xboard/WinBoard 4.2.7 -- Fri Nov 28 13:36:00 PST 2003 -- Tim Mann
-
-* 11/26/2003: In WinBoard, setting the -debug flag now logs ICS output
-to WinBoard.debug too.  (This isn't needed in xboard because ICS
-output already goes to stdout, so it's easy to capture along with the
-debug output on stderr.)  This was issue #280 in the ToDo file.
-
-* 11/23/2003: Cleaned up some minor problems in cygwin.mak.  Thanks to
-Hans Werner Strube for the problem report.
-
-* 11/23/2003: Updated the default list of chess servers in
-winboard/defaults.h.  Deleted two that appear to be dead and added a
-new one that is active.
-
-* 11/19/2003: Swapped icon_white.bm and icon_black.bm in XBoard.
-Hopefully this will get them the right way around by default on more X
-window managers.  I wish I understood this better.
-
-* 11/18/2003: Implemented a simple 32-bit random number generator for
-WinBoard, replacing the Windows rand(), which ranges only up to
-0x7fff.  Formerly on Windows, only zippy.lines sayings that started in
-the first 32767 bytes of the file could ever be used.  This was issue
-#505 from the ToDo file.
-
-* 11/16/2003: The xboard man page and info files are now built from a
-common set of texinfo source files, and the xboard man page now covers
-cmail as well.  Formerly, ever since the texinfo file was first
-contributed to the project, it was separate from the man page and the
-two files had to be updated in parallel, making for a maintenance
-nightmare.  To make combining the files possible, I took the Perl
-script "texi2man" from the GNU Units project and added support for a
-larger subset of the texinfo markup language.  I then carefully
-compared the old man page and old texinfo file to make sure the latest
-and clearest words survived into the new combined texinfo file.  It
-would be great to merge in WinBoard's help file too, but that's a
-larger project.  It would have to be heavily conditionalized to
-deal with differences in features between XBoard and WinBoard.
-
-* 11/15/2003: Cleaned up and applied a small patch from Daniel
-Mehrmann, to stop overly long PVs in thinking output from causing a
-buffer overflow crash in backend.c.
-       
-* 11/5/2003: When a chess engine sends a "telluser" command (including
-the cases where "tellall" or "tellopponent" acts like telluser), the
-information now goes into a nonmodel popup that is automatically
-dismissed when the user clicks anywhere on the board.  This fix is
-more significant on WinBoard, where formerly you got a fully modal
-dialog that had to be dismissed by clicking on OK before anything else
-could happen.  The bug was issue #406 in the ToDo file.
-
-* 11/1/2003: Removed email addresses from this file to reduce spam
-load, as it gets linked to from the Web.
-
-* 11/1/2003: Updated READ_ME and winboard/READ_ME.txt.
-
-* Modified xboard and winboard makefiles to be able to build the
-project in the new combined directory structure.
-
-* Applied a small security fix to pxboard, from Martin Maeok.
-
-* Fixed a bug in the game list dialog.  The change in 4.2.6 to opening
-games in text mode (meant to avoid getting extra \r's into comments)
-caused a new bug in determining seek offsets when parsing a game file
-to form the game list.  Also, the change was incomplete; on some code
-paths games were still being opened in binary mode.  Thanks to Lenik
-Terenin for reporting the offset bug.  I've now gone back to always
-using binary mode when reading game files, and I've fixed the comment
-bug by adding code to remove \r's from parsed comments explicitly.  I
-still use text mode for writing game files so that games written by
-WinBoard will have Windows-style line endings.
-
-* Fix for minor bug in WinBoard installer.  If you chose a non-default
-destination directory, the default directory was still used for a
-couple of unimportant things, namely setting the App Paths registry
-keys (unused by WinBoard) and trying to copy the existing WinBoard.ini
-file to WinBoard.old.  I inherited this bug from the InstallShield 5
-sample template.  Thanks to "l.d." for noticing the incorrect keys.
-
-* Patch from Chris Priest: when two engines are being run through rsh,
-avoid reusing the same stderr port for both.  I'm not sure why this
-should be needed, but it's harmless, at least.
-
-* Bugfix: The kludge to deal with old engines that give an error
-message because they don't know the "st" command was too sloppy; it
-could hit on an "st" substring anywhere in an error message.  GNU
-Chess 4 is the only engine I know of where the kludge was needed, so I
-changed the kludge to match a longer, more GNU-specific string.
-
-* Changed the WinBoard self-extracting installer to choose a unique
-temporary subdirectory name within the Windows temp directory instead
-of always putting wb-setup directly in temp.  Besides being better
-practice, this avoids the need to deltree wb-setup first, which
-occasionally alarms someone who thinks that deltree is only used by
-trojans to delete all your files.  (Yes, I'm serious.)
-
-* Fixed a bug where FICS-style "wild/0" strings were not parsed as the
-proper wild type.  The "/" was not being skipped.
-
-* Fixed a WinBoard bug where temporary files created by game
-copy/paste were being created in the root directory of the current
-drive instead of the TMP directory and were not always deleted on exit.
-
-* Fixed a small bug in winboard.c's ErrorDialog() function.  Thanks to
-"Ron" (no last name given).  The bug might have caused a problem when
-pressing OK or Cancel in an error dialog when more than one error
-dialog was being displayed, but I'm not really sure.
-
-* Removed a hack that worked around a bug in very old versions of
-Crafty, where it would sometimes reply "illegal move" to a "."
-command.  The hack kept us from recognizing real illegal move messages
-in analyze mode from engines that don't respond to the "." command.
-Thanks to Fabien Letouzey for the report.
-
-* Fixed a bug in the xboard version of GetDelayedEvent.  It would
-return the most recently scheduled event even if it had already fired.
-This caused at least one visible error: in -ics -xreuse mode, starting
-the engine again and seeing another "feature done=1" would re-run the
-initialization code in InitBackEnd3, including the code that opens the
-connection to ICS.  The WinBoard version didn't have this bug.  Thanks
-to Bob Hyatt for the bug report.
-
-* The promotion popup for ICC wild 26 (giveaway) now includes King.
-Thanks to Fredrik Josefsson for the bug report.
-
-* The first game in a file (or being pasted from the clipboard) can
-now start with a bare move -- no PGN tags, no move number "1", etc.
-Suggested by Shane Harrelson.  One could imagine taking this farther
-and accepting something like "e4 e5 1/2-1/2 d4 d5" as two games, but
-I haven't done that.
-
-* Bug fix: xboard didn't really accept a paste of multiple games,
-contrary to what I wrote when adding the feature to WinBoard in
-4.2.4.  Now it works in both.
-
-* Fixed generic start/end of game messages to work on chess.net, where
-they put ratings in parens after the player names.
-
-* Updated config.sub and config.guess to newer versions from
-automake-1.4p5-2.  This makes configure work with MacOS X + X11.
-
-* Bugfix: when examining a game fragment on FICS where black plays
-first, don't show two "(0:00.000)" times on the initial "none" move.
-
-* If TestLegality is on and one of the engines makes an illegal move
-in TwoMachines mode, it forfeits immediately.  Formerly the game would
-get stuck at that point and the engine that made the illegal move
-would eventually lose on time.
-
-xboard/WinBoard 4.2.6 -- Fri Feb  1 22:26:31 PST 2002
-Tim Mann
-
-Another small bugfix release.
-
-* Put in a small change from Alexander Mai to allow xboard to build in
-an OS/2 EMX environment.
-
-* Fix WinBoard-only bug where editing a PGN file with comments would
-insert more \r characters before the \n after every Load/Save cycle.
-For some unknown reason we were reading the files in "rb" mode but
-writing them in "a" mode, so we kept the \r characters on reading and
-added an extra one on writing.  Fix: change the "rb" to "r".  Thanks
-to Joel (last name not given) for the bug report.
-
-* Put the arguments to rsh/remsh in the right order for better
-portability.  Thanks to Michael Kalisz.
-
-* FreezeUI is now implemented in WinBoard; it was previously only
-implemented in xboard.  This function prevents the user from entering
-moves or other commands while we are waiting for an engine to
-initialize itself.  Implementing it fixes a bug where the user could
-start a game (etc.) during feature negotiation.  One of the symptoms
-of this bug was that we could send "new" one or move moves *after* the
-first game started!
-
-* Fixed some handle leaks (WinBoard only), including a nasty one that
-leaked one handle per command sent to ICS.  Thanks to several folks
-who helped characterize the bug and tried to look for leaks.
-
-* We now install and look for the info file in ${prefix}/share/info
-instead of ${prefix}/info.  The latter is still the default in
-autoconf, but the former is currently used in Red Hat Linux and
-probably elsewhere.
-
-xboard/WinBoard 4.2.5 -- Sat Dec 15 11:42:51 PST 2001
-Tim Mann
-
-* Changed the bundled GNU Chess 5.02 in the WinBoard package to
-include a much smaller book and to use much less hash table space by
-default (8 MB transposition table, 0.5 MB pawn evaluation table).  The
-large book included with 4.2.4 made the WinBoard download too big for
-some people, and the default hash tables were larger than the
-available physical memory on some people's computers. I built the
-small book by running Crafty's "small.zip" book line collection
-through a Perl script that makes it look enough like real PGN games
-that the GNU Chess book builder will accept it.  The script and some
-minor patches to GNU Chess 5 are available in the WinBoard source
-distribution and at http://www.tim-mann.org/gnuchess.html.
-
-* Fixed a bug in the code that deals with engines that complain that
-"time" and "otim" are illegal moves.  This was a new bug in 4.2.4.
-
-* Revamped the implementation of ToStart in analysis mode.  Formerly
-there was some ill-conceived code that would try to get back to the
-start of the game by doing a "new" command (and all the followup
-commands that requires) while remaining in analysis mode.  This is
-problematic for engine authors to support, though it works with
-Crafty.  This code was trying to solve the problem of ToStart being
-slow because the engine would try to start an analysis after every
-"undo" command all the way back to the start.  But ToEnd already had a
-much better solution to this problem, and now ToStart does the same
-thing: we exit from analysis mode and enter force mode instead,
-make/unmake moves to get to the end/start of the game, and then
-reenter analysis mode.
-
-* Formerly, Zippy could try to start playing a game before the engine
-was initialized; that is, during the initial timeout for protover 1
-engines, or before "feature done=1" for protover 2 engines.  We now
-wait until the engine is initialized before connecting to ICS, which
-fixes this in the common case.  If you turn off engine reuse for
-multiple games (that is, if you give the -xreuse option), there could
-still be problems; see item 503 in the ToDo file.  Thanks to Dieter
-Buerssner for the bug report.
-
-* Bugfix: All WinBoard versions since the merge with WinBoard Plus
-(but not xboard) have had a bug in changing the PeriodicUpdates,
-PonderNextMove, and ShowThinking options from the menu.  The bug
-mostly just caused changing these options during a game to not take
-effect until after the next reset.  For TwoMachines games, though,
-changing PonderNextMove just before the game would take effect
-immediately for the second engine but not until the next game for the
-first engine.  Thanks to Koundinya Veluri for the bug report.
-
-* Bugfix: In 4.2.4, we sometimes got confused when trying to leave and
-reenter analyze mode.  One symptom was that Analyze File did not work.
-Thanks to Igor Syry for the bug report.
-
-xboard/WinBoard 4.2.4 -- Sun Dec  9 14:56:30 PST 2001
-Tim Mann
-       
-* WinBoard now includes GNU Chess 5.02 in place of GNU Chess 5.00.
-
-* WinBoard's PasteGameFromClipboard will now handle a paste with
-multiple games in it, popping up the game list dialog.  xboard
-already did this.  Suggested by Robert Gerstman.
-
-* We now use the "clearboard" command on ICC where appropriate.
-
-* Bugfix: don't generate a bogus "variant normal" command to an engine
-for the loadable ICC wild types that we internally flag as
-VariantLoadable.  Also clarified the message that Zippy sends when
-declining such wild games -- it can't deal with the possibility of
-loading an arbitrary position into the game.  Thanks to Dieter
-Buerssner for reporting the problem.  It would be nice to be able to
-actually play these wild types some day; presumably there would have
-to be an option to either send "loadgame" with a specified position,
-or to deal with an opponent sending it.
-
-* If we get a holdings message from ICS when we thought we were
-playing normal chess, we now try asking for a move list so that we can
-find out from the header what's really happening.  Formerly we guessed
-bughouse in this case.  Response to a comment from Gian-Carlo
-Pascutto.
-
-* Fixed two longstanding bugs in the clock code.  These affected only
-play between a user and a local engine, or between two local engines,
-not ICS play.  (1) The last fractional second used by a player before
-moving and virtually pushing his clock was being charged to his
-opponent instead of to him.  (2) The time and otim commands were being
-sent to an engine before the (buggy) fractional second update was
-done.  The second bug was pretty harmless in itself, but the first one
-was serious.  Many thanks to Peter Rosendahl for carefully diagnosing
-and reporting these bugs!
-
-* Changed WinBoard timestamp key.  Nothing is changed other than the
-key and a recompilation.  ICC may phase out the old key soon; if they
-do, you'll need to use the timestamp.exe from WinBoard 4.2.4 or later
-to connect to chessclub.com.
-
-* Fixed an xboard-only bug where most dialogs would not take keyboard
-input unless the mouse was actually over the dialog, even if the
-dialog window had focus.  Thanks to Jason Varsoke for the bug report.
-
-* Bugfix; Remember to send time and otim commands to engine before
-sending playother.  Thanks to Bob Hyatt for the bug report.  Also
-fixed a bug where time and otim were sometimes sent even with feature
-time=0.
-
-* Added small patches from Wilkin Ng that are meant to fix a crash in
-CopyGameToClipboard and a "can't unlock clipboard memory" error in
-PasteTextFromClipboard, under Windows 2000.
-
-* Changed cygwin.mak to not use -mno-cygwin.  In other words, it now
-uses cygwin1.dll instead of the mingw libraries.  This works around
-bugs in fileno() and stat() that I encountered in mingw.  (fileno
-seems to always return 0.  stat fails because the library routine uses
-a different definition of struct stat than the header files provide.)
-Thanks to Robert Gerstman for reporting the symptoms these bugs caused
-when WinBoard was compiled with Cygwin.
-
-* Added -showButtonBar option.  This lets you delete the << < P > >>
-buttons and thus widen the message widget a bit.
-
-* Added code to address a very obscure bug.  If an engine dies and
-needs to be restarted while in one of the analyze modes, it was not
-getting put back into analyze mode.  This bug should not really ever
-have gotten tickled unless reuse was turned off and the engine sends
-game end commands (such as 1-0) when a game ends by rule while in
-analyze mode.  The next version of the protocol spec will say that
-engines should not do that, but version 2 and earlier didn't address
-the issue.
-
-* We now use the FICS "iset ms 1" feature to get times in ms instead
-of seconds.  Thanks to DAV for email telling me about this feature.
-
-* Changed clock display to show tenths of seconds for 9.9 seconds and
-less, instead of 0.9 seconds and less as before.
-
-* It has been discovered that Zippy can play simuls on ICC (but not on
-FICS).  If you arrange for Zippy to send the ICC command "simulize" in
-the -zippyGameStart string, it will accept additional games while
-playing.  Zippy will use the same engine for every game, so whenever
-it switches opponents, the engine's state will be reset with the "new"
-command.  This will of course weaken its play, so don't enable simuls
-if you want your engine to have the highest possible rating.  Zippy
-was never designed to work with simuls; it just works by accident, and
-it hasn't been tested much.  So please report any bugs you notice, but
-don't expect them to be fixed rapidly.  Thanks to Paul McGuire for
-noticing that this works.
-       
-* Bugfix: Suppress the direct command to engine popup if there is no
-engine.  In WinBoard this case used to cause a crash.  Thanks to
-"Dargon" for the bug report.
-
-* Bugfix: formerly we did part of the engine initialization for the
-very first game too soon, before feature negotiation.  One result of
-this is that engines would never get the "ics" command for the first
-game.
-
-* Lengthened timeout to detect protocol version 1 chess engines to 10
-seconds.  This should reduce problems with protocol version 2 engines
-that are slow to initialize missing the timeout and not getting a
-chance to send their feature commands before the first game starts.
-
-* Klaus Friedel says that adding a short sleep to WinBoard after
-starting a new chess engine solves a problem that occurs under Windows
-2000, in which engines sometimes don't see the initial command(s) from
-WinBoard and hang.  I don't understand how that can happen, but the
-sleep is harmless, so I've put it in.  Others have also reported what
-may be the same problem, so hopefully this will fix it for them too.
-
-* Bugfix: editing the Result field in EditTags will no longer cause a
-later crash.  Thanks to DAV for a clear bug report that let me
-reproduce the problem.
-
-* ICC wild 28 is now recognized as shatranj, but it is not supported.
-You might be able to play it by turning off Test Legality.
-
-* Formerly we would always turn off "feature time" if the engine
-printed an error message with the string "time" or "otim" in it; now
-we do that only if the message comes before the engine makes its first
-move.  This change is useful because some engines spew a lot of bogus
-error messages about commands they don't fully parse, so something
-like "result 0-1 {White lost on time}" could generate such a message.
-Engines shouldn't do that, but if they do, mysteriously turning off
-"feature time" is not a good way to react.
-
-* Fixed an infrequently occurring Zippy bug: formerly, resuming from
-adjournment by position (that is, with GetMoveList turned off) or
-starting/resuming a wild game (nonstandard starting position) would
-try to set up the position without putting the engine into force mode
-first.  That was probably tolerated by most engines, but if the
-position was black-to-play and the engine hadn't set feature
-setboard=1, then the fake "a2a3" move (which we use as a kludge to get
-black to be on move before sending the edit command) would appear to
-be a real move, and the engine might reply to it!  This bug could also
-be seen when trying to use Zippy to play a simul -- something that
-Zippy was never designed to support, but which seems to mostly work
-anyway.  Thanks to Paul McGuire for sending a WinBoard.debug file that
-showed the bug occurring.  Some other cases of resuming adjournments
-or starting games from nonstandard positions may have been broken too;
-I think I've straightened out the problems.
-
-* Agreeing to a draw in the human vs. local engine case formerly did
-not work if the human offered first; now it does.  A human's
-unsolicited offer is considered valid until he makes another move.
-Thanks to Bruce Moreland for the bug report.
-
-* Bugfix: We used to look for just "fr" in Event tags or strings from
-ICSes to recognize Fischer Random games.  This caused a lot of false
-matches.  Now we look for "wild/fr" instead, which is what FICS uses.
-
-* Bugfix: Clicking on a move in the MoveList window only updated the
-displayed position; if a chess engine was active, its state was not
-updated.  Thanks to Alejandro Dubrovsky for the bug report.
-       
-* Bugfix: The "resign" command from engine to xboard formerly did not
-work in ICS (Zippy) mode.
-
-* Bugfix: Formerly we would register a garbage premove if the user
-clicked on a piece, then clicked on an edge or outside the board.  Now
-such an errant click is ignored.
-
-* Bugfix: GameEnds would send "exit" to an engine in analyze mode even
-if we did not actually want to leave analyze mode.
-
-* Bugfix: "feature pause" was being rejected.  We don't currently use
-it, but that is no reason to reject it.  Thanks to Gian-Carlo Pascutto
-for the bug report.
-
-* Bugfix: when "partner" needed to be sent both to ICS and the engine,
-Zippy was erroneously sending the ICS prefix character to the engine
-too.  Thanks to Gian-Carlo Pascutto for the bug report.
-
-* Zippy now declines challenges when the engine is not yet ready to
-play again, instead of ignoring them.  This is needed so that the
-server will let the opponent repeat the challenge.  It might be better
-to remember such challenges and accept them when the engine is ready,
-but that would be a bit more complicated to implement.
-
-* Bugfix: Zippy's emotes didn't work on FICS because there, "i" is a
-built-in alias for "it", not a real command.  So sending "$i foo" gave
-an error message instead of doing "it foo".  We now leave out the
-alias-suppressing prefix for emotes.
-
-xboard/WinBoard 4.2.3 -- Mon Feb 19 19:55:05 PST 2001
-Tim Mann
-
-* Bugfix: The error message "Variant X not supported by gnuchessx"
-formerly could pop up even in -ncp mode.
-
-* Fixed an xboard bug in premove highlighting.  If you had
-HighlightLastMove turned on, premoves got highlighted in
-highlightSquareColor (yellow) instead of premoveHighlightColor (red).
-
-* Modified premove again.  Now we are back to displaying the move
-locally immediately after sending it to the server, as in versions
-prior to 4.2.1.  This is good because it lets you register your next
-premove sooner.  As a better fix to the problem that the change in
-4.2.1 had been trying to address, we now suppress animating the
-opponent's move if you have a premove reply pending.  However, it's
-probably still a good idea for you to turn off AnimateMoves entirely
-if you are trying to play extremely fast games.
-       
-* Removed an erroneous patch that left zombie chess engines around
-when both sigterm and reuse were turned off.  (Bug was in xboard only,
-not winboard.)
-
-* Bugfix: loading a game with autostepping did not work for games with
-PGN result "*" (unfinished).  This bug was introduced in 4.1.0, caused
-by some outdated code that was supposed to leave you in EditGame mode
-after loading an unfinished game.  I fixed this, and also changed it
-to leave you in EditGame mode after loading *any* game, but without
-changing the tags to say it's an edited game.  It's not really clear
-whether that is the best thing is to do here -- ideally, perhaps, the
-tags should change to say "edited game" if you actually make any
-changes, but that is harder to make work.
-
-xboard/WinBoard 4.2.2 -- Tue Feb  6 20:00:00 PST 2001
-Tim Mann
-
-* Fixed a problem introduced in 4.2.1.  In -zippyPlay mode, 4.2.1
-started sending the initString immediately after the old game ended,
-but then when the next game started, it would still send "force" and
-another initString.  Another problem was that the first initString put
-the engine out of sync with the displayed board position, though that
-might not usually have been noticeable.  This is now changed to do a
-full Reset at the end of the previous game, and avoid doing a Reset at
-the start of a new game if we are still in BeginningOfGame mode.
-
-* Fixed some limitations in -zippyPlay mode.  The engine was not being
-fed the moves or history of games that were displayed but not being
-played, so it would get confused if you tried to do something like
-examine a game, then enter EditGame mode from somewhere in the middle
-of the game.
-
-* Made a small change so that cygwin can compile xboard for Windows
-(an X server is required to run it).  Thanks to Volker Zell.  Most
-people would probably prefer to run WinBoard on Windows, however; note
-that cygwin could already compile WinBoard.
-
-* Added some missing documentation to engine-intf.html: It is okay to
-send "feature done=0" even before you receive the xboard and protover
-commands, if this is needed to give your engine enough time to
-initialize.  See engine-intf.html for more discussion.
-
-* Bugfix: "feature done=0" did not work for the second engine; now it does.
-
-xboard/WinBoard 4.2.1 -- Sat Feb  3 19:52:26 PST 2001
-Tim Mann
-
-* Bugfix: in Zippy mode with feature san=1, the elapsed time was being
-sent to the engine after the SAN move; for example, "e4 (0:01)" was
-sent instead of just "e4".
-
-* It seems that scroll wheel mice with incompletely installed software
-(under Windows 95, at least) can send repeated middle button up events
-when the wheel is turned.  Moved QuickPaste from middle button up to
-middle button down to avoid problems with this.
-
-* A premove is now sent *before* the opponent's move that it replies
-to is animated.  The premove itself is no longer displayed (or
-animated) when sent; instead, it is displayed when the chess server
-echoes it back as a board update.
-
-* Bug fix: in -xreuse mode, xboard was only sending command line
-arguments to the engine the first time it was started.  (WinBoard
-didn't have this bug.)
-
-* In -zippyPlay mode, we now initialize the chess engine for a new
-game immediately after the old game ends.  (In -xreuse mode, this
-means starting a new engine process; in the default -reuse mode, it
-just means sending "new".)  If the engine supports ping, we don't
-accept challenges until the "new" has finished.  This should help
-avoid losing time (re)initializing the engine after the game starts.
-
-* We now handle the new FICS field in style 12 that says whether the
-clocks are ticking.
-
-* whiteFlag and blackFlag are now reset whenever an ICS board image
-arrives, giving autoflag a fresh chance to work.
-
-* Suppressed "geometry error" debug messages unless -debug flag is given.
-
-* Bugfix: avoid core dump on Solaris with -debug flag, caused by
-passing NULL to a %s format in GameEnds.
-
-* Added -firstProtocolVersion and -secondProtocolVersion.  This will
-allow use of extremely broken engines that hang or die when given the
-"protover 2" command.  It should be rarely if ever needed.
-
-* Zippy now strips highlights from player names in the Creating
-message; previously the ratings would not be extracted from this
-message properly if you had set the highlight variable.
-
-* Bug fix: Zippy with -zp but not -zt used to be fooled by false
-partner tells inside channel tells; e.g.: 
-Garf(24): Garf (your partner) tells you: sit
-
-* Bug fix: when an engine reported its name with the new "feature
-myname=" command, we had been putting just that name into the window
-title even when in TwoMachines mode.
-
-* By default, WinBoard no longer uses the new feature introduced in
-4.2.0beta of keeping the ICS menu, ICS server list, and lists of chess
-engine command lines in separate files; instead, the lists are back in
-the winboard.ini file.  This gets rid of some problems where the
-separate files could not be opened because the working directory was
-not set to WinBoard's installation directory.
-
-* WinBoard command lines and ini files now have another optional
-syntax for quoting an option value.  All characters within { } curly
-braces are interpreted literally except for '}' itself.  SaveSettings
-now uses this syntax for string values that contain a backslash or
-newline and do not contain a '}'.  This should address the problem
-that the separate .ini files had been meant to fix; engine command
-line lists can now be written without \-escapes.
-       
-* Fixed three bugs in relaying moves between engines in TwoMachines
-mode: an engine would be sent SAN if the *other* engine had set
-feature san=1, a relayed SAN move did not end with a newline, and
-feature usermove was not implemented for relayed moves.
-
-* Fixed several bugs in exiting: File/Exit would sometimes hang;
-timestamp/timeseal would not get killed off; an engine crash would
-cause error messages to be printed recursively until stack overflow.
-
-* Fixed a bug in the code to detect which ICS is in use and adapt to
-it; the chess.net case was broken.
-
-* Removed the leading alias-suppression character when sending a move
-to ICS, because it seemed to break accuclock on chess.net.
-
-* Fixed a bug where a FICS prompt like "10:01_fics%" would be matched
-as finger note number 10, causing a problem detecting when the user is
-logged in.
-
-* Added tellicsnoalias command to protocol.
-
-* Changed st command in protocol back to old behavior.
-
-* Added done=0 feature to protocol, to lengthen initial timeout.
-
-* Added missing -colorSeek command line option to xboard.  (Was
-present in WinBoard.)
-
-* Bug fix: setting feature reuse=0 was not working.
-
-xboard/WinBoard 4.2.0beta -- Sat Dec 16 16:34:56 PST 2000
-Tim Mann
-
-* Setting -searchTime no longer turns off -clockMode.  Note that when
--searchTime is set, some engines may search for the lesser of
-searchTime and the amount of time their normal clock management would
-dictate, while others will disable their normal clock management and
-always search for exactly searchTime.
-
-* Fixed WinBoard bug where on Windows 2000 (and maybe Windows 98) the
-ICS Interaction window would scroll back to the top whenever it filled
-to capacity and WinBoard trimmed some text off the top.
-
-* Changed xboard dragging so that the center of the dragged piece is
-forced to be over the mouse cursor.  (WinBoard dragging already worked
-that way.)  This should avoid confusing cases when you start a drag
-with the mouse near the edge of a square -- formerly most or all of
-the piece could be over one square but the mouse cursor over another.
-Suggested by DAV.
-
-* Added move list window for xboard.  Code contributed by Manuel
-Hoelss and re-hacked a bit by me.  Performance of this window is poor,
-because the implementation regenerates the entire window contents
-whenever anything changes.  It's hard to avoid this when using the
-Athena List widget, though we could be a little smarter and notice
-when the current move number has changed but the move list has not.
-There are also several drawing problems caused by bugs in the Athena
-Form and List widgets.  The window should not really allow a
-horizontal scroll bar, but the bugs are much worse if I turn it off.
-In both Xaw and Xaw3d, the List widget tries to resize itself when
-XawListChange is called, even if you tell it not to; and what's worse,
-if the widget cannot resize itself to be large enough to avoid
-clipping any of the list item, it does not change the list!  Arrgh.
-On top of that, the Xaw Form widget is very buggy in XFree86 4.0.1
-(X11R6.4.3).
-
-* The OK button in the WinBoard startup dialog is now simply disabled
-if none of the radio buttons is selected, instead of bringing up an
-error dialog.  Suggested by Ted Milbaugh.
-       
-* Used ping to address the worst of the race conditions in the
-protocol.  Now if an engine supports ping, we ping it after sending
-the "new" command and after trying to place it in force mode at the
-end of a game.  When a ping has been sent and the corresponding pong
-has not yet come back, we (1) ignore or undo any moves the engine
-sends, (2) ignore game end messages (such as "offer draw", etc.) from
-the engine, (3) ignore thinking output from the engine, (4) delay
-starting the next game if in -matchGames mode, (5) in -zippyPlay mode,
-respond to challenges with a polite message to try again soon instead
-of accepting them.  There are a few more things that should be done
-(and item 5 might not be quite what we want), but it's hard to fit
-them all into the existing code.
-       
-* Patched the version of GNU Chess 5.00 included with WinBoard to
-support protover, feature, setboard, and ping, and to fix some minor
-bugs.  See gnu500+.patch.
-
-* Changed the GNU Chess 4 kludges for missing "st" and "sd" commands
-to be invoked only if the engine gives an error message for "st" or
-"sd", and to always use protocol commands instead of engine
-command-line options.  See "Idioms" in engine-intf.html.
-
-* Added new protocol command "protover 2" to tell the engine what
-version of the protocol is in use.  Version 2 is still compatible with
-old engines; see engine-intf.html.
-
-* Add new protocol command "feature ..."  The engine can send this in
-response to the protover command command, to say what extended
-protocol features it would like to enable, etc.  xboard responds
-"accepted F" or "rejected F" for each feature F that is set.  See
-engine-intf.html.
-
-* Added new protocol command "setboard <fen>".  This is an alternative
-to "edit", used only if the engine says "feature setboard=1".
-
-* Added new protocol command "ping <msg>".  The engine is supposed to
-respond "pong <msg>".  This gives us a tool to fix some race
-conditions in the protocol, but it is not used to the fullest yet.
-
-* Added new protocol command "tellopponent".  This will do a "say" if
-you're on a chess server in Zippy mode, or pop up an information
-dialog otherwise.
-
-* Added new protocol command "tellall".  This will do a "kibitz" if
-you're on a chess server in Zippy mode, or pop up an information
-dialog otherwise.
-
-* Added new protocol command "tellothers".  This will do a "whisper" if
-you're on a chess server in Zippy mode, or do nothing otherwise.
-
-* Changed the WinBoard /icsNames, /icsMenu, /firstChessProgramNames,
-and /secondChessProgramNames options to accept a filename preceded by
-"@", meaning to find the value in the file.  Changed the defaults to
-use this feature, with filenames icsnames.ini, icsmenu.ini, fcp.ini,
-and scp.ini.  This should make it easier for users to edit the values,
-since one less level of quoting is needed, and each value is in its
-own file, not mixed into winboard.ini.  Those who upgrade from an
-older winboard version and already have a winboard.ini file will not
-automatically have these values moved to a file; that has to be done
-by hand if desired.
-
-* We now strip .exe from engine names for "name" command, tags, etc.
-
-* Allowed WinBoard input widget to hold more than one line.  You can get
-a newline into the widget with copy/paste or with Ctrl+Enter.
-
-* Fixed an xboard bug where the [P] button would appear in the
-opposite highlight state from what it should be after being pressed.
-
-* We now use the "/" or "$" alias suppression feature on the chess
-servers, to avoid problems if the user inadvertently aliases a
-needed command to something else.
-
-* Changed the method used to deiconize xboard in AutoRaise and cmail.
-This may fix bugs under some window managers where after
-deiconization, the board window was mapped but nothing was drawn
-inside.
-
-* Preliminary, partial support for playing several chess variants
-against a local engine or editing variant games.  The -variant option
-must be given on the command line or WinBoard startup dialog; there is
-no menu.  The current variant is not displayed (except in the
-Tags/EditTags window).  Many variants will not work quite right even
-if the engine supports them; see item 326 in the ToDo file for
-details.
-
-* Added a workaround to detect the variant type when examining a
-scratch wild game on an ICS.
-
-* Fixed two cases where "variant" command should be sent to the engine
-when necessary but was not: loading a game from a file and restarting
-a dead engine.  Thanks to Gian-Carlo Pascutto.
-
-* Added missing support for FICS games that start from a bsetup position
-with Black moving first.
-
-* Fixed a bug in loading a file from the game list window while in
-Analysis or AnalyzeFile mode.  This now leaves us in AnalyzeFile
-mode, analyzing the new file.
-
-* Fixed a bug in loading games with a comment before the first move.
-
-* Fixed a bug in handling LoadGame (or -lgf) with -td 0.
-
-* Added a command line option to select an initial minor mode from the
-Mode menu.  This should satisfy requests from a couple of users with
-special applications.
-
-* Fixed a problem where some things in WinBoard's General Options
-dialog box were grayed out at the wrong time.
-
-* We look for a few messages from the chess engine pipe that are
-intended to catch problems starting an engine via rsh, such as "No
-such file".  Moved code so that these strings won't match until other
-protocol messages have been looked for, and documented the messages in
-engine-intf.html.
-
-* Fixed the WinBoard bug that sometimes made the console input box
-white-on-white even when not in password-entry mode.
-
-* Small changes to WinBoard to be compilable with the latest Cygwin
-net release (as of 10-16-2000).  Thanks to Mark Schoenberg.
-
-* Recompiled GNU Chess 5.0 for WinBoard with the latest Cygwin net
-release (as of 10-16-2000).  Also rebuilt the book just to be sure,
-since I had one bug report about it.  It came out identical and seems
-to work fine.
-
-* Added messages for some common InstallShield errors instead of just
-printing InstallShield's stupid error code numbers.
-
-* Added -firstComputerString and -secondComputerString, allowing you
-to suppress or change the command that is sent to a chess engine when
-its opponent is another computer.
-
-* Added "configure --with-Xaw3d" to allow use of Xaw3d widgets instead
-of Xaw widgets in xboard.  Thanks to Johnny C. Lam of the NetBSD
-project.  I've left Xaw as the default because Xaw3d is too ugly.
-       
-* The version of the Xaw Form widget released in XFree86 4.0.1
-(X11R6.4.3) has a bug that causes xboard to display the button bar
-on top of the message widget.  I've reported the bug and have
-installed a kludge workaround into xboard.
-
-xboard/WinBoard 4.1.0 -- Sun Sep 17 17:30:14 PDT 2000
-Tim Mann
-
-* Merged Winboard Plus 4.0.8 from Mark Williams into xboard
-  source pool.  Status of Winboard Plus features in xboard:
-
-  - White pieces now have borders, but the implementation is
-    completely different from WinBoard's; see below.
-
-  - Options menu not changed, probably won't be.
-
-  - Copy&paste support working, using Mark's changes to backend.c, Ben
-    Nye's changes to xboard.c for FEN positions, and some code of my
-    own in xboard.c for PGN games.
-
-  - Premove hooked up and working.  No pre-first-move, though.
-
-  - ICS Alarm hooked up and working.
-
-  - Auto-flip working.
-
-  - PGN Training mode hooked up and working.
-
-  - Improved menu item enable/disable working.
-
-  - Improved >> button working.
-
-  - Auto activate board working.  I changed this to be optional; you
-    might not always want it, especially in Zippy mode.
-
-  - Blindfold working.
-
-  - Documentation updated.
-
-* Fixed more colorization bugs.  Commands like "message foo tells you:
-xxx" and "tell 33 tells you: xxx" will no longer generate bogus
-colorization.
-
-* Added low-tech sound support to xboard, by invoking an external
-program on a filename for each sound to be played.
-       
-* ICC wild 27 is now recognized as VariantAtomic, and it sets the
-"ignore check" flag, but is not otherwise supported.
-
-* Converted the piece bitmaps from .bm to .xpm for use with xboard's
-xpm support.  (An .xim version was not created.)  Wrote a shell script
-using ImageMagick to do the conversion and to bucket fill from
-coordinate 0,0 with the background color.  Used xpaint by hand to
-clean up a few pieces where background color "leaked" into the inside
-or didn't flow all the way around the outside, then a sed script to
-fix up color names and bitmap names in the xpaint output.  If any more
-sizes are added later, they should be straightforward to convert with
-reference to the existing scripts.  With this conversion, not only do
-the white pieces now have dark borders, but (unlike with WinBoard) the
-light details on the black pieces are opaque.
-
-* If the XPM library is found when building xboard, the new xpm pieces
-are compiled in as the default.  External bitmap (or xpm) pieces can
-still be used by giving the -bitmapDirectory (or -xpmDirectory)
-option.  If the XPM library is not found, the old bitmap pieces are
-the default.  In this case external bitmap (or xim) pieces can be used
-by giving the -bitmapDirectory (or -xpmDirectory) option.  There is no
-way to compile in xim pieces.
-
-Winboard Plus 4.0.8 -- Sat Aug 5 15:51 PDT 2000 
-Mark Williams
-
-* Bugfix release.
-
-* Main menu now visible in Win NT.  Thanks to Microsoft for creating a 
-compiler which auto-mutilates the WinBoard.rc file so that the menu is
-displayed under Win 98 but not Win NT.  I fixed the problem by hand editing the
-.rc file.  Sigh.
-
-* "Reset game" now works properly when invoked from Analysis mode when two
-engines are present. Correction of bug introduced in Winboard Plus. Thanks to
-Mogens Larsen for reporting the bug.
-
-* Pasting a FEN position with Black to move now works in all modes.
-Thanks to Mogens Larsen for reporting the bug.
-
-* Added gnuchess.dat to the distribution and a couple of text files that were
-missing in 4.0.7.
-
-*** Merged in the following changes from Tim Mann:
-
-* Bugfix: Highlights would sometimes not be taken down, at least in
-xboard.  The problem is that SetHighlight works in chess coordinates,
-not view coordinates, so if flipView has been toggled since the
-highlight was put up, it gets taken down from the wrong square.  Fixed
-by being careful to call ClearHighlights before toggling flipView, not
-after.  Ugh.
-
-* Bugfix: HighlightLastMove would sometimes highlight square a1 after
-a FICS "tomove black" command.
-
-* Bugfix: a move list with initial position that has black to play was
-not being handled correctly.
-
-* Removed "decline abort" and "decline adjourn" commands from Zippy.
-The syntax is changing on FICS, and Zippy really doesn't have to
-explicitly decline the requests anyway; it's sufficient to not accept
-them.
-
-* ICC wild 26 is now recognized as VariantSuicide (the FICS name; ICC
-calls it "giveaway").
-
-* Bugfix: PGN games with black to move in the initial position weren't
-being legality checked correctly.  I think this was introduced in
-4.0.6 when I fixed a different PGN bug.  Thanks to Mark Williams for
-spotting the bug and suggesting a fix.
-       
-* Bugfix: the initial "name(" of a kibitz wasn't being colorized.
-
-Winboard Plus 4.0.7 -- Thu May 12 17:57 PDT 2000 
-Mark Williams
-
-* New white pieces with black borders.
-
-* Major overhaul to Options menu. New dialogs for setting General Options,
-  Board Options, ICS Options, Sounds, Fonts, Colors.
-
-* Clipboard support for PGN game scores and FEN positions.
-
-* Optional ICS Premove with user-specified first moves for White and Black.
-
-* New sound events: ICS Win, ICS Loss, ICS Draw, ICS Unfinished, ICS Alarm.
-
-* New auto-flip option when playing against a chess program.
-
-* Added PGN Training mode.
-
-* Certain menu options now disabled while program is thinking.
-
-* ">>" button now always goes to the end of the game.
-
-* In ICS mode, the board is automatically activated at the start of a
-new game.
-
-4.0.7 -- Sun Mar  5 17:17:49 PST 2000  Tim Mann
-
-* Fixed a nasty bug in parsing ICS game histories that was introduced
-in 4.0.6.
-       
-4.0.6 -- Fri Mar  3 16:20:11 PST 2000  Tim Mann
-
-* Fixed bugs in Zippy's code for responding to messages sent with the
-ICS "message" command.
-       
-* Fixed bugs where xboard could still create dialogs partially off the
-top of the screen.  Fixed unwanted interactions between initial sizes
-and positions of various unrelated xboard dialogs.  Deleted
-borderXoffset and borderYoffset resources.
-
-* Fixed restoring the xterm name on exit to work in more cases.
-       
-* Small fix to the WinBoard self-extracting installer: when it starts
-up, it now always deletes any old wb-setup directory left over from a
-previous installation.  Formerly this worked only on Windows 95/98, so
-on NT the self-extractor would sometimes stop and ask the user whether
-it was OK to overwrite the old wb-setup files.
-
-* Modified WinBoard to be compilable with the free Cygwin tools
-available from http://sourceware.cygnus.com/cygwin/.  Based on work by
-Mark Schoenberg.  (His mods were enough to get WinBoard through the
-compiler, but a few things were broken along the way, so I reworked them.)
-       
-* Merged changes from Don Fong to make WinBoard compilable with
-Borland C++ 4.5.  I do not have Borland C++ and am unable to test with
-it, but I did make sure the changes don't stop it working with MSVC++
-5.0 and Cygwin.
-
-* Forbade entering TwoMachines mode from MachineWhite or MachineBlack
-mode when machine is on move.  This used to confuse the engine and
-cause problems, because when we try to get the engine to stop, it
-might make a move first, and it might not do that immediately.
-       
-* Variant classification now deals with new ICC wild 25, classifying
-it as "3check".  Also, we are now conservative about new wild numbers
-we don't know about, classifying them as "unknown" instead of
-"normal".
-
-* Replaced bad GNU Chess 5.00 book in WinBoard distribution with a
-correct one.  1.e4 now no longer takes GNU Chess 5.00 out of book!
-Thanks to Pete Galati.
-
-* Made move parser accept and ignore nonstandard ep suffix on PGN moves,
-e.g., "exf6ep" or "exf6e.p."
-
-* Fixed bugs in parsing PGN files starting with no move number, or
-with a move number other than "1." (including "1...").  Thanks to
-Michael Soulier and Stefan Zipproth for example PGN files
-demonstrating the bugs.
-       
-* Changed InitComboStringsFromString to not modify the input string;
-this caused an exception when WinBoard was compiled with MSVC++ 6.
-Thanks to Bert Tuyt for the report.
-
-* In WinBoard, dragging a piece off the edge of the board without
-releasing the mouse button no longer instantly aborts the move.  You
-still must release the mouse button inside a square to complete a
-move, but you can now drag off the edge and come back inside.
-       
-* WinBoard bugfix: If you went into EditGame or EditPosition mode
-while observing or playing an ICS game, and a new move came in
-(snapping you back to ICSClient mode) while you were dragging a piece
-around, the drag state would not be reset, causing the piece you were
-dragging to remain on the board wherever you dropped it.  Thanks to
-David Brinegar for the bug report.
-
-* WinBoard bugfix: If you moved or resized the board while your
-opponent was moving, and you had AnimateMoving on, his move would not
-be displayed until after your next move.  Thanks to DAV for reporting
-the bug repeatedly until I finally understood it.
-
-* Added a Zippy "farewell" feature; see zippy.README.
-       
-* Fixed a bug (xboard only) in processing -zippyReplayTimeout on the
-command line.  Thanks to Steve Beer for the report and patch.
-
-* Send "computer" command to both sides in TwoMachines matches.
-       
-* Fixed a Y2K bug in Evan's cmail code!  Thanks to Brian Mays for the
-report and patch.
-       
-* Bugfix: Initialize variant field of GameInfo struct in gameinfo.c.
-This could cause crashes in LoadGame.  Thanks to Andrzej Nagorko.
-       
-* Fixed several pattern matching problems: Finger notes and formula
-vars no longer get replied to by zippyTalk or colorized.  Channel
-tells by players with many titles are now colorized fully, and
-zippyTalk handles channel tells by such players correctly.  The shout
-"--> foo(99): bar" no longer gets colorized as a channel tell.  Code
-is cleaned up a bit, and autocomment capture now uses the same
-criteria as colorization.
-
-* xboard fix: Enter key now closes error popups as in WinBoard.
-Especially nice for the "Exiting: Connection closed by ICS" popup.
-
-4.0.5 -- Tue Dec  7 10:30:40 PST 1999  Tim Mann
-
-* Added missing documentation of SIGTERM usage into engine-intf.html.
-
-* Bugfix: New -zippyReplayTimeout option was misspelled in WinBoard as
--zippyReplyTimeout.  Thanks to Francesco Di Tolla.
-       
-* xboard -ics now restores the xterm's original title upon exit, at
-least if $WINDOWID is set.
-
-* Bugfix: -matchGames mode wasn't terminating properly.  Final score
-popup would come up twice and engines would not be killed off.  Thanks
-to Frank Quisinsky for the bug report.  Bug was introduced in 4.0.4.
-
-* Bugfix: "tell 50 foo shouts: bar" no longer gets colored as a shout;
-similarly for "...s-shouts:" and "...c-shouts:".  Thanks to David Lee
-for the bug report.
-
-4.0.4 -- Fri Dec  3 17:51:27 PST 1999  Tim Mann
-
-* Bug fix: formerly if you invoked SaveGame from EditPosition mode
-with black to play, the position was not saved properly.  As a quick
-fix, SaveGame now takes you out of EditPosition mode before saving.
-
-* Changed -matchGames to keep track of the score (won-lost-drawn) and
-display it in the banner.  The final score is displayed in a modal
-popup before the program exits.
-
-* Changed "Connection closed by ICS" to display in a model popup
-before the program exits.
-
-* Added -popupExitMessage option, default on.  Setting this to false
-suppresses the modal popups that you sometimes get just before
-xboard/winboard exits -- both the two new ones listed above and the
-existing Fatal Error popup.  This is useful when running Zippy
-unattended from a shell script (or .bat file) that loops and starts a
-new copy after a time delay when there is an error.
-
-* In xboard, added missing support for WM_DELETE_WINDOW to all
-windows.  This makes xboard a better citizen, and is much needed with
-the newer X window managers that put an [X] button on every window and
-bind it to "kill application" if the applicationd does not support
-"delete window".  We can't allow xboard to be thoughtlessly killed,
-since that leaves the chess engine running in the background.
-
-* We now avoid positioning tops of xboard dialog boxes offscreen.
-
-* zippy.lines can now use the caret ('^') character as an inter-saying
-separator. You no longer need to dig up a text editor that can put NUL
-('\000') characters in text files.
-
-* Bugfix: In traditional chess clock mode, White now gets time added
-to its clock as soon as it makes time control.  Previously both White
-and Black got their time added only when Black made time control,
-which would cause some engines to make their 41st move as White too
-quickly, thinking they were low on time.
-
-* The zippyAcceptOnly feature no longer sends a decline command or
-a tell.  Thus you can use it to put Zippy into a manual accept mode.
-
-* Bugfix: "tell 50 foo tells you: bar" no longer gets colored as a
-personal tell; similarly for "...whispers:" and "...kibitzes:".
-
-* WinBoard no longer blanks the message line when you start a new
-move, unless there was an error message there from the previous move.
-
-* WinBoard now never puts the white piece drop menu on the middle
-mouse button.  Both colors are always on the right button.  Windows
-users often don't think to look for a middle button menu, or don't
-really have a working middle button despite what Windows says.
-
-* Guest login handles on ICC are now parsed again; an ICC wording
-change had broken this feature.
-       
-* Autodetect when the engine does not support the "draw" command and
-don't relay the command to it in that case.  Needed because sending an
-unsupported command to GNU Chess makes it move immediately, so people
-could make Zippy move without thinking by continually offering a draw.
-Thanks to Frank Walker for the problem report.
-
-* Small changes based on code from Robert Jurjevic: The WinBoard
-analysis window can be minimized (though not to the taskbar).  The
-WinBoard ICS Interaction window will autoscroll if you drag the mouse
-above or below the window while selecting, and password entry mode
-leaves the entry line as the background color instead of using 75%
-gray.  Seeks are now colorized with a new color of their own.
-
-* Added -zippyMaxGames feature.
-       
-* -zippyNoplayCrafty command line option was missing in xboard; fixed.
-Thanks to John Perry.
-
-* Fixed bug in detecting when Zippy loses his bughouse partner.
-Thanks to Ben Dean-Kawamura.
-
-* allobs fix in 4.0.3 didn't work; corrected it.
-
-* WinBoard will now update the board immediately if a move is made
-while the window is being moved or resized.
-       
-4.0.3 -- Sun Aug 15 18:44:39 PDT 1999  Tim Mann
-
-* Bugfix: moved winboard wizard functions that send a command directly
-to the chess engine from Ctrl+Alt+1 and Ctrl+Alt+2 to Alt+1 and Alt+2.
-Ctrl+Alt is equivalent to the European AltGr key, so the old assignments
-conflicted with typing an @-sign on some keyboards.
-       
-* Bugfix: prevent "If this message stays up, your chess program does
-not support analysis" from appearing if AnalysisMode is selected when
-already in Analysis or AnalyzeFile mode.  Also, deleting analysis window
-in WinBoard now switches you to EditGame mode, to avoid the anomaly of
-being in an analysis mode with no analysis window present.
-       
-* Change all Zippy environment variables to work as command line
-options.  For now they still work as environment variables too, but
-the environment variables are deprecated.
-
-* Use unsigned long to hold node counts from engines.
-
-* Print error instead of crashing on attempts to use xpm or xim pieces
-in monochrome mode.  Thanks to Jim Torrance for the bug report.
-
-* Tightened pattern recognition for ICS messages sent to Zippy; should
-no longer match ICC allobs output.  Fixed recognition of when Zippy is
-sent a message; small change to FICS output had broken it.
-       
-* Zippy now exits if the engine dies unexpectedly.
-
-* Added Zippy "spoofedby" feature; see zippy.README.
-       
-* Narrowed the margins on some older WinBoard dialogs to make their
-style uniform with the newer ones.
-
-* Bugfix: Changing Ponder Next Move from the Options menu did not take
-effect until the next game.  This bug was in WinBoard only.  Thanks to
-Stefan Zipproth for the bug report.
-
-* Got rid of "Internal error: bad move type" message when the engine
-makes a move that we can parse but think is illegal.  Now the move is
-just passed on (which also may be the wrong thing to do).
-
-4.0.2 -- Thu Feb 25 19:55:32 PST 1999  Tim Mann
-
-* Added one more built-in sound choice to WinBoard: move.wav from Pete
-Galati.
-       
-* Added new larger piece sizes: big, huge, giant, colossal, titanic.
-       
-* Modified the xboard font searcher to be able to use scalable fonts.
-The new -fontSizeTolerance flag controls how closely a nonscalable
-font must match to be used in preference to a scalable font.
-       
-* Zippy environment variables ZIPPYABORT and ZIPPYADJOURN now control
-whether Zippy will accept abort and adjourn requests.
-
-* We now determine the variant type being played on ICS, send it as a
-command "variant VARTYPE" to the chess engine (if in Zippy mode), and
-put it in the PGN tags.  See engine-intf.txt for variant names.  See
-ZIPPYVARIANTS in zippy.README to control what variants Zippy will
-accept.  Note that this now applies to bughouse, too.
-
-* Zippy now won't do -zippyTalk in a channel unless his handle is
-mentioned there.
-
-* Zippy now ignores bughouse holdings if not actually playing, instead
-of stupidly trying to abort the game.  Let me know if other strange
-things happen when Zippy is observing a game.
-
-* Set ICS Interaction title bar to "user@server".  User name is
-determined by parsing message during the login sequence.  Zippy now
-uses this method to get its name too, so ZIPPYNAME is eliminated.
-Problem: with xboard, the title bar gets set to "xterm" upon exit,
-since we didn't know what it was to start with.
-
-* Fixed xboard-only bug in -colorChannel1 command line option.  Thanks
-to Fredrik Sandstrom for the bug report and fix.
-
-* Check for overflow of MAX_MOVES.  Still not sure this is checked for
-everywhere it needs to be.
-
-* Added .epd to suffixes recognized by WinBoard as position files.
-This is a bit of a kludge, as the .fen reading code was not written
-with .epd files in mind, but reading them with it is said to work.
-
-* Added ZIPPYGAMESTART feature, suggested by Jason Hoblit.  See
-zippy.README.
-
-* Restored the feature of soaking up the moves from a user-typed "moves",
-"oldmoves", or "smoves" ICS command when xboard/WinBoard is idle, but
-changed it so that the move list is also echoed to the screen.  Some folks
-still liked the old feature since it is faster than examine mode, and
-printing the moves to the screen should eliminate the confusion it caused
-for other people.
-
-* Bugfix: in WinBoard, starting a click-click move and then clicking on
-a black line would cause the source square to be forgotten without taking
-the highlight down.  Now the errant click is ignored.
-
-* Corrected shortcut key labels for LoadNext/PrevPosition in WinBoard's
-File menu.  Thanks to Andreas Stabel for the bug report.
-
-* Bugfix: if you had a completely full ICS context menu in WinBoard
-(90 items), the last one would do nothing if selected.
-
-* The "computer" engine command added in 4.0.1 was not working; I had
-left out part of the code patch.  Oops.
-
-4.0.1 -- Fri Feb 12 21:24:15 PST 1999  Tim Mann
-
-This is a minor bugfix release.  The first item listed below is the
-only interesting new feature.
-
-* You can now type in moves from the keyboard in WinBoard.  Either
-select TypeInMove from Step menu, or (if you are not in ICS mode),
-just start typing.  In ICS mode you can type moves into the ICS
-interaction window anyway, so I've retained the feature that typing
-switches you there.  Not implemented in xboard.
-
-* Removed the "noise 1000" command that used to be sent to the chess
-engine when entering analysis modes.
-
-* Deleted the feature where we soak up the output of a user-typed ICS
-"moves" or "oldmoves" command.  This ancient feature is not really
-useful anymore, now that "examine" exists, and it caused a lot of
-complaints.
-
-* Increased maximum size of ICS text menu to 90 entries and added
-overflow checking.
-
-* The command sent to ICS by Zippy at the end of each game can now be
-customized with the ZIPPYGAMEEND environment variable.
-
-* We treat xboard.info as a pseudo-source since most people don't have
-the tools to rebuild it.  But "make install" erroneously had a
-dependency on it, even though "make all" did not.  Fixed.
-
-* Miscellaneous minor updates and clarifications to engine-intf.txt.
-In particular, documented the st and sd commands (support for command
-line options -searchTime and -searchDepth), warts and all.
-
-* Added a small code patch from Bob Hyatt to detect when Zippy's ICS
-opponent is a computer and send the command "computer" to the engine.
-Added this command to engine-intf.txt.  Thanks, Bob.
-
-* Bugfix: configure was looking for usleep(), but config.h.in didn't
-have an entry for it, so HAVE_USLEEP was never defined.  Also, in the
-non-HAVE_USLEEP case, there was a possible race condition between the
-signal handler and the pause() call.  Thanks to Ben Dean-Kawamura for
-the bug reports.
-
-* Bugfix: a "1..." preceding Black's first move (usually present if
-there is a comment on White's first move) would cause the parser
-to think a new game started there and report "End of game" on the
-current game.  Thanks to Dell Garner for the bug report.
-
-* Changed the abbreviation for -searchDepth from -sd to -depth to fix
-a clash with -secondDirectory.
-
-* Changed -searchDepth to be orthogonal to the various timing options.
-Previously it would search for an unlimited time to the given depth;
-now the engine is allowed to choose its search time in the normal way,
-but is told to cut off the search early if it reaches the given depth.
-
-* Bugfix: SaveSettings in WinBoard was saving both the long form
-option highlightSquareColor and its abbreviation (hsc).
-
-* Fixed a redisplay bug in DisplayBothClocks that could cause White's
-clock to be highlighted in EditPosition mode when Black's should have been.
-
-* Fixed Zippy's feature of passing on draw offers from the ICS opponent.
-The colorization code was eating the offer before Zippy saw it, so I disabled
-colorization of offers while in -zp or -zt mode.  (Other types of
-colorization are already disabled in Zippy mode for similar reasons.)
-
-* Added some more commands to the default ICS context menu in WinBoard,
-and put "(name)" on the ones that insert a playername (or game number).
-
-* Added missing documentation to WinBoard help file: PonderNextMove, the
--ponder/-xponder argument, and the up/down arrow history feature in the
-ICS Interaction window.
-
-* Fixed        ZIPPYNOPLAYCRAFTY feature to fire only if the opponent is Crafty,
-not if some other Crafty is observing the game and kibitzes.
-
-* Fixed bugs in generating "partner" commands when Zippy is playing
-bughouse.
-
-4.0.0 -- Sat Jun 20 16:59:47 PDT 1998  Tim Mann
-
-* Fixed WinBoard resizing so that the edges you do not drag remain in
-place, even when the final size is different from what you dragged to.
-(This doesn't work on NT 3.51 or earlier, if anyone cares.)
-
-* Fixed problems with resizing WinBoard on Windows NT: you no longer get
-whitespace around the board, a clipped board, or a lot of flashing during
-the drag.
-
-* Added customization for highlight-square color.
-
-* Bugfix: backend.c wrote to stderr in a few obscure places, which doesn't
-work in WinBoard.
-
-* Added Index Number field back to LoadGame/LoadPosition dialog boxes in
-WinBoard.  This required some extra code to work with both the
-Explorer-style dialog boxes and the old-style NT 3.51 dialog boxes.  Ugh.
-
-* WinBoard startup dialog now understands -zp mode.  The first chess
-engine selector is enabled and the value is used.
-
-* Bugfix: ResetGame would send "exit" to engine twice if it was in an
-analysis mode.
-
-* Bugfix: The response "Illegal move: bk" to the "bk" command, indicating
-that it is not implemented, would confuse xboard.
-
-* Bugfix: Ignore empty hints ("Hint:\n") instead of printing a message
-saying that some bogus string (often "Hint:") is illegal.
-
-* Bugfix: LoadNextGame/LoadPreviousGame/ReloadSameGame were broken.
-
-3.6.12 -- Sat Jun 13 14:57:10 PDT 1998  Tim Mann
-
-Beta test release of xboard and WinBoard.
-
-* Spruced up xboard man page a bit.
-
-* Added Highlight Last Move to xboard too.
-
-* The revamped xboard mouse click code had several more bugs than the
-previous version, so I revamped it again.  All fixed now, I hope.
-
-* xboard bugfix: crash in CreatePieceMenu.
-
-* Oops.  winboard-3_6_11beta.exe installed 3.6.10beta, not the new version.
-
-3.6.11 -- Fri Jun 12 20:00:48 PDT 1998  Tim Mann
-
-Beta test release of xboard and WinBoard.
-
-* Major reorganization to engine-intf.txt.  Some new features added,
-many existing features clarified and hints for engine programmers added.
-Support for new features added to program.
-
-* Changed defaults for -scp (etc.) back to being independent of -fcp, as
-in 3.6.2. That is, the default is no longer to copy the value from -fcp if
--scp is not specified.  This will sometimes make command lines longer but
-will remove some confusing situations.
-
-* Split -reuseChessPrograms into two options: -reuseFirst and
--reuseSecond.  Fixed obscure bugs when reuse is off.
-
-* Detect ICC and change some command usage slightly there: only ICC has
-set-quietly; only FICS has iset and bsetup clear.  With this feature, we
-can now safely use bsetup clear when appropriate instead of deleting each
-piece one by one.
-
-* Added indent to lines that are wrapped by WinBoard ICS Interaction
-window.  This seems to tickle a Microsoft bug in the RichEdit control:
-occasionally the start of the next line after the wrapped line is indented
-too.  I think the wrapped indent feature is useful enough that it's worth
-having in spite of the bug.
-
-* WinBoard bugfix: bounding box for the board was computed incorrectly by
-mouse code.  It would think you moved off the bottom of the board before
-you really did, so it was hard to drag pieces along the bottom rank on
-smaller board sizes.
-
-* Fixed obscure parser.l bug: ambiguity between capture using : instead of
-x and email header line.  Also removed or simplified a lot of complex
-patterns for English (as opposed to PGN) end-of-game indications while I
-was in there.
-
-* Added PonderNextMove option.
-
-* xboard EditPosition piece menus now let you set the side to play by
-selecting the "White" or "Black" label at the top of the menu, like
-WinBoard.  (Both xboard and WinBoard still let you set the side to play by
-clicking on the clock.)
-
-* Merged documentation of Crafty and GNU Chess thinking output in
-engine-intf.txt.  Corrected code in backend.c to match documentation; it
-used to require the PV to start in column 27 (!).
-
-* Fixed bug that caused crashes in "-reuseChessProgram false" mode.
-
-* Draw by agreement in Two Machines mode now works as it is supposed to.
-Other minor bugs in handling game end messages from machines are also
-fixed, and engine-intf.txt is revised in this area.
-
-* Revamped xboard code for handling mouse clicks on the board.  In
-particular, it had a bug if a click-click promotion move was made.
-
-* Fixed and reinstated optimization for << in analysis modes: send
-initString and re-send the board if needed.  Sending repeated undos
-is bad because Crafty prints some analysis after every one.
-
-* Don't go into a spin loop while pausing between xboard animation frames.
-This caused problems, especially when compiling with -O2 on HP-UX.
-
-* WinBoard Options/Colors/RevertToDefaults now also turns off Monochrome
-if it was on, and similarly for Options/ICSInteractionColors/RevertToDefaults.
-This seemed to confuse people before.
-
-* Bugfix: ICS Interaction context menu items with neither of the two
-optional flags set did not work.
-
-* Bugfix: PGN move numbers are optional, but we were insisting on "1"
-right after the tags.
-
-* Bugfix: only the first game of an -mg match was loading -lpf or -lgf.
-
-* Other minor fixes and code cleanup.
-
-3.6.10 -- Mon Jun  1 01:32:31 PDT 1998  Tim Mann
-
-* Added ZIPPYNOPLAYCRAFTY feature; see zippy.README.
-
-* Added timestamps for chess engine interaction to -debug output.
-
-* Now allow 10 seconds (was 5) between games in match mode for engines to
-respond to "force" command that ended previous game.
-
-* When a game is picked from the game list and the names of White and
-Black are known, display them in the window banner instead of the filename
-and game number.
-
-* Changed default for -scp and -sd to be the values of -fcp and -fd.
-
-* Added boxes for both engines to WinBoard startup dialog.  Changed to
-dropdown boxes whose content can be set from winboard.ini, similar to
-the box for ICS name.
-
-* Accept "offer draw" (or "*offer*draw*") from engine to offer a draw.
-
-* Accept "move mmmm" from engine as well as silly "1. ... mmmm" syntax.
-
-* Added support for bughouse engines (Zippy mode only).
-
-* Move bombproofing for engines sending illegal or out of turn moves.
-
-* Always send "xboard\n" to engine as first command.  Eliminates need
-to run crafty as "crafty xboard".
-
-* Rewrote xboard code for input from engines to fix longstanding bugs.
-Previously an engine that sent one line in two separate writes with 
-some time lapse in between (or perhaps that sent several lines in one
-write) could make xboard hang.  WinBoard did not have this bug.
-
-* Fixed minor bugs in dealing with illegal moves.
-
-* Added "iset startpos 1" for FICS.
-
-* Removed special support to put "GNU Chess" or "Crafty" in the window
-banner instead of the engine's base filename.  This gives a more level
-playing field for other engines.  Also fixed bugs in the code that finds the
-engine's base filename.
-
-* Bugfix: Abort or Resign at the very start of a game in chess engine mode
-would fail to send "force" to the engine.
-
-* Fixed some minor bugs in new "result" messages, and changed format to
-include a trailing PGN comment giving the reason the game ended.
-
-* Changed syntax of /font options in WinBoard; old syntax was assuming
-that a font name can't contain a digit, which is wrong.  Old font names in
-WinBoard.ini files are still accepted.
-
-* Serious further work on getting WinBoard to read/write files in the
-"right" directories and documenting exactly what it does.
-
-* Added LoadPreviousPosition, LoadNextPosition, ReloadSamePosition.
-
-* Misc. tiny fixes and cleanup.
-
-3.6.9 -- Sun May 24 20:53:08 PDT 1998  Tim Mann
-
-xboard and WinBoard beta release.
-
-* Tightened up illegal move handling.  Illegal or meaningless moves from a
-file or chess engine should no longer get translated into a1a1 and blindly
-applied.  Explicit moves to the same square (like a1a1) no longer make the
-piece on that square capture itself and vanish.
-
-* Added AlwaysOnTop feature to winboard.
-
-* Fixed bug in winboard "@" command line indirection operator.
-
-* Removed buggy "optimization" code for ToStart in analysis modes.
-
-* Fixed typo bug in zippy.c that would often cause winboard to crash
-right after starting a game in -zp mode.
-
-3.6.8 -- Sat May 23 22:23:19 PDT 1998  Tim Mann
-
-xboard and WinBoard beta release.
-
-* Added -firstDirectory and -secondDirectory so that chess engines can
-be started in a different directory from xboard/WinBoard itself.
-
-* Added -matchGames to allow more than one game in -matchMode.  The games
-are played with colors alternating between the two chess engines.  Had to
-add a time delay at the end of each game to catch up with game ending
-messages from both chess engines -- yuck.
-
-* Changed TwoMachines mode to have firstChessProgram play White by
-default.  Added -firstPlaysBlack to restore old behavior.
-
-* Major rework of code in backend.c for dealing with first and second
-chess engines.  Generalized the code and created a struct type with one
-instance for each engine.  Several small bugs fixed along the way. 
-
-* Fixed bugs in Abort in local chess engine mode.
-
-* Tightened pattern matching to recognize moves from machine.  Should cure
-bogus "Illegal move" errors while Crafty is pondering with Show Thinking
-on, among other things.
-
-* WinBoard keeps focus in board window after popping up a comment due to
-Forward/Backward/ToStart/ToEnd commands.
-
-* Finally got rid of warnings on compiling moves.c under Windows.
-
-* Fixed so WinBoard will compile on machines where WM_MOUSELEAVE is not
-defined.
-
-* Removed various bits of unused code.
-
-* Parse (and ignore) NAGs in PGN files.
-
-* Updated engine-intf.txt.
-
-* Send "result R" to the chess program at the end of each game, where
-R is the PGN result 1-0, 0-1, 1/2-1/2, or *.
-
-* Bugfix: suppress animation when loading a game with timeDelay=0.
-
-* Bug fix: pondering output from Crafty that contained "..." could be
-mistaken for a move, causing bogus error messages and general chaos.
-
-* xboard "make clean" bug fix: moved things created by configure to be
-removed only by "make distclean".
-
-* Fixed a remaining case where move was being animated before being
-relayed to opponent.
-
-* Backend was reversing time/otim commands to the chess program (new bug),
-and was often not sending them on the first move of a game or the first
-move after a mode change (old bug).  Fixing the latter required a kludge
-to work with both GNU Chess and Crafty, because Crafty swaps white and
-black clock times when it swaps sides, while GNU Chess does not.  The
-kludge is that we always make sure the chess engine thinks its opponent is
-on move before we set the clock.  This will sometimes result in sequences
-like "white\ntime xxx\notim yyy\nblack\ngo", or the same with white and
-black interchanged.
-
-* Removed last trace of old -whiteString and -blackString arguments.
-
-* Fixed so that you can type "bd" into the Direct Command dialog when
-debugging gnuchess, without having xboard parse the clock display
-(starting with "White") as "White wins" and end the game.
-
-* Changed moves.c to make a distinction between IllegalMove (where we
-could tell what move was intended, but it violates the chess rules) and
-MeaninglessMove (where we could not tell).  This is a step towards getting
-rid of cases where we translate meaningless moves into "a1a1", but some
-work is probably needed to track them all down.
-
-* Fixed bug in WinBoard monoMode dragging.
-
-* Changed WinBoard to new style file dialogs.  In the process, disabled
-the feature that let you enter the index number of a game or position within
-the file in the dialog.  This is no loss in LoadGame, as you can pick your
-game from the game list dialog that follows, but it does remove some
-functionality from LoadPosition.
-
-3.6.7 -- Mon May 18 21:25:00 PDT 1998  Tim Mann
-
-xboard and WinBoard beta test release.  I've been unable to reproduce some
-reported drawing bugs, so they may still not be fixed.
-
-* Changed PopUpErrors option to PopupMoveErrors, which is more useful, and
-changed default to off.  Errors other than move errors should always be in
-popups; they are often too big for the message area and too important to
-put where they can be easily missed.  But it seems good to get rid of the
-popups for move errors by default.
-
-* xboard analysis window no longer forces itself to top whenever there is
-new output.  Also, now uses built-in Xaw word wrapping instead of trying
-to do its own; works better.
-
-* Bugfix: Reset did not take Crafty out of analyze mode.
-
-* A chess engine no longer has to claim to be Crafty to be able to use
-AnalysisMode and AnalyzeFile; it just has to implement the analyze
-command as Crafty does.  Put in heuristics to generate more informative
-error messages if the engine does not support analyze, and checked that
-they work at least with GNU Chess.
-
-* Added click-click moving, HighlightLastMove, and HighlightDragging to
-WinBoard.  The highlight features are unlikely to go into xboard unless
-the xboard drawing code is cleaned up to do *all* drawing on the board
-from DrawPosition, as WinBoard does.  This is low priority for me.
-
-* Eliminated bogus "Error gathering move list: no header" popup.  You
-could get this by observing two fast games at once without turning off
-GetMoveList.
-
-* Disable WinBoard Sounds menu entirely in -ncp mode, since not even
-MoveSound is used in that mode.
-
-* WinBoard bugfix: Several problems were caused if the user changed 
-WinBoard's current directory in a Load, Save, or Browse dialog.  In
-particular, WinBoard.ini would get saved in the wrong directory, and
-sound .wav file names would not get saved with a full pathname.  I think
-all such problems are now fixed.
-
-* WinBoard bugfix: iconizing the board after an aborted mouse resize would
-(partially) resize it to Tiny.
-
-* WinBoard bugfix: board was not being drawn in color on 256-color
-displays.  This bug was introduced in 3.6.6.
-
-3.6.6 -- Tue May 12 17:43:43 PDT 1998  Tim Mann
-
-xboard and WinBoard beta release.  Note: not all reported bugs are fixed.
-
-* Move animation in WinBoard, programmed by Henrik Gram.  Great stuff!
-
-* Animate backward moves too.
-
-* xboard bugfix: -font (and friends) can now specify a font alias (such
-as "fixed"), not just a full X Consortium name pattern.  Previously this
-would give a resource conversion error message.
-
-* Some coding style cleanup in xboard.c.
-
-* Earlier error check for moving wrong color piece in EditGame mode.
-
-* Completed fix to pattern matching; see 3.6.5.
-
-* Fixed some software rot bugs in Zippy.
-
-* Split AnimateDragging as separate option from AnimateMoves.
-
-* Added FlashMoves to options menu and -flash/-xflash to command line
-options (xboard only).
-
-* Some preliminary work on visible bughouse holding support.  Most of the
-code is not present in this release because I have not gotten it working
-properly yet; my first approach went down a blind alley and I had to
-remove most of the partially working code in preparation for a rewrite.
-
-3.6.5 -- Fri May  8 14:22:09 PDT 1998  Tim Mann
-
-Not generally released.
-
-* Pack bughouse holdings display in banner more tightly when board is one
-of the smaller sizes (when smallLayout or tinyLayout is true, that is).
-An interim measure, but should help.
-
-* Completed fix to make move list parsing recognize the end condition and
-final comment.
-
-* Fixed pattern matching for chatter (tells, etc.) to be more reliable.
-This should reduce the incidence of colors starting in the wrong place and
-of incorrectly matching things that look like other patterns inside
-chatter, such as "shout <12>".  (These errors were already rare.)
-
-* WinBoard now lets you customize the list of ICS's in the startup dialog.
-For now, at least, requires editing WinBoard.ini with a text editor.
-
-* Bug fix: WinBoard window sizing and position setting save/restore did
-not work right when the taskbar was at the top (or left side) of the
-screen and not in autohide mode.
-
-* Merged xboard click/click mode and drag mode, and deleted
-ClickClickMoving option on menu.  Now if you click on a piece, it
-highlights and a further click on another square will move it.  (A second
-click on the same square takes down the highlight.)  Or if you press down
-on a piece and start to drag, you can drag it to a new square.
-
-* When making click/click style moves, if your second click is on a piece
-of the same color, instead of saying "Illegal move", we now cancel the first
-starting square, replace it with the second, and wait for another click to
-finish the move.
-
-* Separate -secondInitString.  Default: same as -initString.  Suggested by
-Remi Coulom.
-
-* Patch from Frank McIngvale to make animation work with XIMs.  Yay!
-
-* Changed move animation to happen after move is passed on to ICS or the
-chess engine, where applicable.  Fixed problems with updating moveList
-that this uncovered.
-
-* Changed game list to show PGN result token for each game.
-
-* The usual minor bug fixes.
-
-3.6.4 -- Thu Apr 30 23:14:43 PDT 1998  Tim Mann
-
-xboard and WinBoard beta test release.
-
-* xboard documentation updated, both man page and info file.  An attempt
-to generate both from the same source with LinuxDocSGML was abandoned, at
-least for now.  WinBoard doc updated too.
-
-* Merged updates to animation code from Hugh.  Fixed a couple of remaining
-bugs, mostly to do with handling Pause mode correctly.
-
-* Added SaveSettingsOnExit to WinBoard.
-
-* WinBoard now saves the last screen position of the Comment, Edit Tags,
-Game List, and Analysis windows (in addition to the board and ICS
-Interaction windows) in WinBoard.ini.
-
-* WinBoard now provides a way to customize the right-button context menu
-in the output area of the ICS Interaction window.  For now, requires
-editing WinBoard.ini with a text editor.  
-
-* Various minor fixes to ICS message recognition, most affecting only Zippy.
-
-* Colorize the notification when someone sends you a message while you are
-logged in, not the output of the "messages" command.
-
-* Fixed colorization to turn off at the right place more reliably.
-
-* Added a new color and WinBoard sound for "requests": abort, adjourn,
-draw, pause, and takeback.  The same color and sound are used for all of
-these.
-
-* Added GUI to change sounds in WinBoard.
-
-* Suppressed WinBoard error popup when a sound can't be played.  They were
-popping up when two separate WinBoards tried to play a sound at the same
-time (such as during a bughouse match).
-
-* Fixed WinBoard crash when a sound file didn't exist.
-
-* WinBoard ports of timestamp and timeseal now produce decent error
-messages if they fail to connect, and WinBoard captures the messages and
-puts them into a popup.  Previously WinBoard would exit with no message on
-such errors.
-
-* WinBoard resizing with mouse improved; now accurately picks the largest
-size that fits in the new area.
-
-* Added option to turn off error message popups.
-
-* Added sizes slim, dinky, and teeny.
-
-* Fixed some minor problems with error message wording.
-
-3.6.3 -- Mon Feb 23 19:08:57 PST 1998  Tim Mann
-
-xboard beta test release only.  Man page is updated for the changes, but info
-file is not.
-
-* Bug fix: LoadGame could not load a PGN game whose first move was
-castling (which is possible from setup positions).
-
-* Bug fix: we were ignoring illegal move messages from chess engines in
-modes where the engine is refereeing but not participating (EditGame,
-LoadGame, AnalyzeFile).  The problem was in a workaround for a Crafty bug,
-where Crafty generates a bogus illegal move message if a "." (used by
-the PeriodicUpdates feature) is sent in analysis mode when the current
-analysis reveals a forced mate.  Installed a different workaround (that
-works in most but not all cases) and reported the Crafty bug.  Bob Hyatt
-replied with a fix, so the Crafty bug should be gone in Crafty 14.12 or so.
-
-* WinBoard only: enabled resizing board with the mouse.  It snaps to the
-nearest (but not too much larger) predefined size.
-
-* The xboard default font is now sized according to piece size, just as
-clockFont and coordFont have always been.
-
-* Added more sizes: bulky, moderate, average, middling, mediocre, petite.
-       
-* xboard only: Added Animate Moves and Click-Click Moving to Options menu.  
-
-* xboard only: Added code to animate piece movement, from Hugh Fisher.
-
-* New feature: autoflag is implemented in MachineWhite, MachineBlack, and
-TwoMachines modes.  If it is on and either a chess program or the user
-oversteps his time, xboard will automatically call the flag and end the
-game.  This feature was requested by someone who runs matches between
-programs and wants to penalize GNU Chess for its habit of running slightly
-over at the end of a time control.  I personally think it's pointless.
-
-* Fixed a bug in Zippy's pattern matching; he can now reply to ICC
-messages again.
-
-* Generate prettier notation for illegal moves.  If a move is illegal only
-because it leaves the player in check, generate notation as if that were
-not illegal.  For instance, if two knights are a knight's move away from
-f3, one on g1 and one on e5 that is pinned, the notation would be Nf3 to
-move the g1 knight, Nef3 to move the e5 knight.  (Suggested by Philippe
-Schnoebelen.)  In addition, if a move is illegal because the type of piece
-moved cannot go that way, would be jumping over another piece, etc., we
-give fully disambiguated coordinate notation; for example, Ng1g3, Ke1xe8,
-d2xd8=Q, etc.  An alternative would be to still write Ng3 if there is only
-one knight on the board, or Ngg3 if the other knight is not on the g file,
-but life is too short to code up all this stuff, and perhaps the way I did
-it is better as it emphasizes that this move was really made despite being
-illegal.  I wonder if the new PGN standard revision will speak to notation
-of illegal moves?
-
-* Fixed gross bug from 3.6.2: if a chess program said "checkmate" and
-White was left on move, the PGN outcome was "1-0 {Black mates}" instead
-of "0-1 {Black mates}"!  The bug occurred only for that specific string.
-
-3.6.2 -- Wed Jul 23 16:47:29 PDT 1997  Tim Mann
-
-* There was a bug in backing up from the end of a game against a chess
-engine, introduced when -reuse mode was added.  Fixed.
-
-* Recognize "{" as terminating an ICS move list.  Previously we needed to
-see a prompt (containing %), but occasionally ICC can send more stuff
-right after a move list with no prompt in between.
-
-* In WinBoard, -mm now implies -cp, so you don't get the startup dialog.
-
-* WinBoard startup dialog no longer sets -scp.  People used to get
-confused because they would give the -fcp and -scp arguments, but omit
--cp.  This would bring up the startup dialog, which would set both -fcp
-and -scp to the value in the engine name box.  Now you can change -scp
-only with the command-line argument.  That will confuse some people too,
-but hopefully fewer.  I think overall it's better than putting spaces for
-both -fcp and -scp in the dialog, which would puzzle newbies.
-
-* Bug fix: Analyze File mode now works in WinBoard.
-
-* Bug fix: WinBoard window no longer cuts off part of the bottom row if
-the menu bar wraps to a second line.
-
-* Accept game end messages of the form "PGN-result {comment}" from the
-chess engine, where PGN-result is 0-1, 1-0, or 1/2-1/2.  Accept "resign"
-or "computer resigns" from the chess engine as a synonym for "0-1 {White
-resigns}" or "1-0 {Black resigns}". Accept any message from the chess
-engine containing "game is a draw" as a synonym for "1/2-1/2 {Draw}".
-Accept "White resigns" or "Black resigns".
-
-* Enable "Action / Draw" menu item in chess engine mode.  It sends the
-command "draw" to the engine.  Accept any message from the chess engine
-containing "offers a draw" as a draw offer.  WARNING: Draw offers from the
-user and the engine (or from two engines) are not yet matched up by xboard
-in chess engine mode.  Two engines could get into a loop offering each
-other draws.
-
-* Bug fix: Game end messages from the chess engine are always ignored in
-Zippy mode.  Previously they could sometimes be processed, which was
-sometimes making Zippy hang at the start of a new game that followed
-quickly after an old one.
-
-* Zippy can now respond to titled players in channels.  Zippy will avoid
-talking to himself in a channel if he knows his own name.
-
-* Bug fix: in colorization arguments, the bold setting was being ignored
-if the background color was defaulted.  (xboard only.)
-
-* Extended ParseFEN to accept Crafty 12.2's interpretation of FEN.
-If fewer than 8 squares are given in a row, or fewer than 8 rows are
-given, the uncovered squares are empty.  Also, there can be a / after the
-8th row.
-
-3.6.1 -- Sat May 17 01:02:33 PDT 1997  Tim Mann
-
-* Bug fix: Hitting escape while entering a password on WinBoard no longer
-sets the font color back to black (which made further typing visible).
-
-* Bug fix: On Windows NT 4.0, WinBoard /ics /icshelper=timestamp would
-often hang if you tried to exit with the Exit menu item, the [X] button,
-etc.  The same fix may also have corrected the problem where running a
-chess program with /xreuse would sometimes crash Windows 95 (but not NT)
-when the chess program was killed and quickly restarted.
-
-* Bug fix: Periodic Updates would not work if turned on after having been
-off.  Also, the default was needlessly "off" in WinBoard.
-
-* Zippy bug fix: Continuing an adjourned game was totally broken.  The
-wrong moves, or no moves at all, were being fed to the chess program.
-
-* WinBoard change: Giving -ics without -icshost now pops up the startup
-dialog with "Use an Internet Chess Server" pre-selected, so that you get a
-menu of chess servers instead of going directly to ICC.
-
-* Bug fix: WinBoard's SaveSettings was saving -icshost, -icsport, and
--icshelper in winboard.ini.  This causes a problem if you use a different
-icshost later that needs the default values for icsport (5000) and
-icshelper ("", meaning none).
-
-* Disabled complaints about unexpected "[Ii]llegal move" messages from
-the chess program; we still get them at times.
-
-* Greatly simplified the code for Move Now and SIGINT (ATTENTION).  Fixes
-the bug where Move Now did not work with GNU Chess in WinBoard, and
-several more obscure bugs as well.  Reintroduces a minor bug: GNU Chess might
-not think on your time after a Move Now command.  Trying to fix this
-causes too many other problems.  Documented change in engine-intf.txt.
-
-* Cleaned up code for obtaining ratings from ICS.  It was kludgey and may
-have had bugs on systems with no "Creating:" message.  It should fail
-gracefully there, just not finding the ratings.
-
-3.6.0 -- Thu May  8 19:55:58 PDT 1997  Tim Mann
-
-* WinBoard now has right-button context menus in the ICS Interaction
-window.  Some of the items do immediate commands on the player name you
-have selected or pointed to.  (Suggested by Paolo Casaschi.)  Also, the
-middle button or shift+right does a immediate Copy and Paste.
-
-* Fixed a bug in Zippy's wild rejection.  The bug was causing Zippy to
-reject all forms of wild.  Now it rejects only 1, 9, 16, 17, and 24, as
-was intended.  These variants have different rules, while the other
-variants defined so far only have different starting positions.
-(Actually, wild 2, 3, and 4 never allow castling, but may sometimes by
-chance have king and rook start on squares where castling appears legal.
-This could cause a problem later.)
-
-* Zippy now resumes adjourned games by feeding the chess program 
-the move list instead of the position.  Setting -getMoveList to False 
-restores the old behavior.  Feeding in the move list is better because 
-it enables the chess program to correctly handle en passant legality, 
-castling legality, draw by repetition, and draw by the 50 move rule. 
-
-* Added a WinBoard startup dialog for people who run WinBoard.exe without
-using the Start menu or reading the help file.  Instead of being dumped
-directly into GNU Chess mode, you now get a menu of choices.  You now have
-to give the new WinBoard -cp option to go directly into chess engine mode.
-I did not add this feature to xboard.
-
-* Handling of "illegal move" from Crafty is now back on.  (It was turned
-off in 3.4.6; see below.)  Crafty 12.0 doesn't seem to send bogus ones
-anymore.  I did have to suppress sending time and otim in analyze mode to
-make this work, but there is no harm in that.
-
-* Zippy now sends "gameend" to ICS at the end of each game.  You can alias
-this to "seek" or whatever you like.
-
-* Added Crafty support for Move Now, using the "?" command.  We test
-whether this command exists by trying it once at the start of the first
-game, before it really makes sense.  If we don't get a message like
-"Illegal move ... ?", we assume it's OK.  (We're careful about this
-because sending a "?" to GNU Chess on Move Now keeps it from pondering the
-next move as it should.)
-
-* Added support for a tellusererror command from the chess engine.  See
-engine-intf.txt.
-
-* Attempted to make engine-intf.txt complete.
-
-* Minor fixes/cleanup to GameEnds code, to be sure we always interrupt
-when needed, and always undo an extra move generated by stopping the chess
-program while it is thinking.
-
-3.5.7 -- Sat May 03 22:37:44 PDT 1997  Tim Mann
-
-Beta release of both xboard and WinBoard.
-
-* Updated xboard documentation.  I really wish the man page was built from
-the info file instead of being separate!  It's a pain to update them both.
-
-* Updated documentation of the interface between XBoard/WinBoard and chess
-programs, and renamed it to engine-intf.txt.
-
-* Added support for tellics, telluser, and askuser commands from the chess
-engine.  See engine-intf.txt.
-
-* Various bug fixes.  On WinBoard, 256 color displays are finally handled
-right; no more color flashing when you switch windows unless the colors
-really need to be updated.  Also, I think the problem of the console font
-failing to change or changing back by itself is finally fixed.
-
-3.5.6 -- Tue Apr 29 03:08:00 PDT 1997
-
-Beta release, WinBoard only.  ChangeLog was out of date in release,
-updated here.
-
-* Added ICC timestamp and FICS timeseal to WinBoard distribution.  These
-are my own ports to Win32, based on and used by permission of the owners
-of the proprietary source code (Daniel Sleator for timestamp, Henrik Gram
-for timeseal).  The owners permit these programs to be distributed only in
-binary form (to help prevent cheating), so to avoid running afoul of the
-GPL, I have kept them as separate programs, not linked into the WinBoard
-address space.  Updated Start menu icons to use them.
-
-* Miscellaneous smaller changes.
-
-3.5.5 -- Fri Apr 25 03:06:00 PDT 1997
-
-Beta release, WinBoard only.  ChangeLog was out of date in release;
-updated here.
-
-* Added simple sound support to WinBoard.
-
-* Updated WinBoard documentation.
-
-* Internal implementation of the telnet protocol is now more complete.
-You can now hop through a VMS host on the way to ICS.  For example, do
-"xboard -ics -icshost vms.host.edu -icsport 23", then log in.  Do not use
-the -telnet flag; that says to use an *external* telnet program.  To avoid
-double echoes, you need to force character mode in VMS telnet after
-connecting from VMS to ICS.  Do "^]^Mset mode char^M^M".
-
-* Display opponent names in the title bar for MachineWhite, MachineBlack,
-and TwoMachines modes.
-
-* WinBoard now has an installer, built with InstallShield.  The installer
-works with a binary-only distribution.  Sources are still freely
-available, but now separately.
-
-* Added SaveSettings to WinBoard, which saves current option settings to
-winboard.ini.  Made sure all options can be saved and loaded, including
-fonts and com port settings.
-
-* If the game ends while you are dragging a piece, we now don't let you
-finish the move.  Formerly the move was accepted and your opponent's clock
-would start running again.
-
-3.5.4 -- Fri Apr 18 01:15:24 PDT 1997  Tim Mann
-
-Beta test release of WinBoard and xboard.  The documentation remains
-out of date.
-
-* Many fixes and improvements to new WinBoard user interface code.
-
-* In Zippy mode, avoid sending another copy of the same move to the chess
-program if ICS sends us another copy of the board image.  Hard to believe
-it took me until now to diagnose and fix this problem!
-
-3.5.3 -- Sat Apr 12 19:49:33 PDT 1997  Tim Mann
-
-Beta test release of WinBoard and xboard.
-
-* Fixed fatal bug in WinBoard input handling.
-
-* Made code to stop chess program for reuse a bit smarter.  Removed kludge
-of "white" in initString; it didn't work well, and is unneeded
-with Crafty 11.21 and later.
-
-3.5.2 -- Sat Apr 12 15:40:01 PDT 1997  Tim Mann
-
-Beta test release of WinBoard.
-
-* Ignore check and permit promotion to King during suicide games; no need
-to turn off TestLegality.
-
-* Renamed CheckLegality to TestLegality to avoid confusion with the chess
-term "check".
-
-* Added Rematch to Action menu.
-
-* WinBoard now has a custom ICS interaction window with scrollback, a
-separate line for input, and colorization.  Accelerators that conflict
-with normal editing keys were changed (by requiring Alt+) so they can work
-in both the console and the main window.
-
-* WinBoard error popups are now non-modal and disappear when you make a
-new move, as in xboard.
-
-* Configure now defaults to --disable-ptys on all systems.  If anyone has
-an ancient SysV system where pipes don't work with select, they can still
-do "configure --enable-ptys" explicitly.  I would appreciate getting a bug
-report if this happens to anyone, with complete output from configure and
-"uname -a".
-
-* "make install" now makes the installation directories too.
-
-* Fixed a bug that would cause an "Illegal move" message for Black from
-GNU Chess to be incorrectly considered bogus.
-
-* Handle name changes during an ICS game (FICS bname and wname commands).
-
-* You can force both chess programs to be killed at the end of each game
-by turning off the reuseChessPrograms option.  There are still some
-problems with reusing Crafty even in version 11.20.
-
-* Now the second chess program stays around by default too, if it ever
-gets started.
-
-3.5.1 -- Sat Apr  5 16:47:48 PST 1997  Tim Mann
-
-Beta test release.
-
-* Don't kill off and restart the chess program for each game; keep the
-same one running, using the "new" command to start a new game.  This
-change works around the problem in Windows 95 that makes WinBoard crash it
-at times, and is generally desirable to make new games start faster.  The
-second chess program (for TwoMachines) is still killed at the end of the
-game, and unfortunately this can still crash Windows 95.  Temporarily
-added "white" to the initString to make this work with Crafty 11.20, which
-has a minor bug in "new".  Older versions of Crafty have worse bugs in
-"new"; they should not be used with this version of xboard.
-
-* Support for FICS suicide chess: Parse illegal moves (that leave King in
-check) in game history.  If CheckLegality is off, allow promotion to King
-and illegal moves in game files.  We still generate e2e4 style notation
-for illegal moves.
-
-* Handle FICS "has timeseal; checking" message.
-
-* Changed the coords from white back to black; this was a bug.
-
-* Fixed problems compiling with K&R compilers.
-
-* Fixed an old bug in RegisterMove that was crashing cmail on some systems
-(notably linux).
-
-3.5.0 -- Thu Jan  2 16:59:49 PST 1997  Tim Mann
-
-Thanks to Frank McIngvale for much of the work on versions 3.4.4 and above!
-
-* Fix Crafty resumed game time bug (frankm)
-
-* Word wrap text in Analysis window (frankm)
-
-* More debug info for XPM loading (frankm)
-
-* Replaced config.sub, config.guess, etc., with up-to-date versions from
-autoconf 2.12.  Hopefully this will fix problems on Pentium Pro machines.
-
-* Removed some Makefile gunk that was causing looping for one person.
-
-3.4.7 -- Thu Dec 19 14:22:41 PST 1996  Tim Mann
-
-All changes from Frank:
-
-* Retrieve ratings from ICC (and FICS, etc., when they add the Creating:
-message), save them in the PGN tags, and pass them to Crafty in Zippy mode.
-
-* Add settable time delay between characters in ICS login script.
-
-* Colorize messages like personal tells.  Fix false recognition of channel
-tells.
-
-* Pass "tells" from Crafty through to ICS (in Zippy mode).
-
-* Implement ~/ filename convention from C shell for game and position file
-names.
-
-* ZIPPYACCEPTONLY feature for testing.
-
-3.4, patchlevel 6 -- Sat Nov 23 16:58:50 PST 1996  Tim Mann
-
-* Put recognition of "illegal move" messages from Crafty for
-illegal castling, etc., inside an #if that is currently turned off,
-because of a bug in Crafty that generates bogus "illegal move" messages
-after some moves that are actually legal and accepted by Crafty.
-
-* Added -checkLegality option; previously this could not be turned off.
-
-* Fixed an old bug in finding default board size parameters.
-
-* Differentiated among channel tell, kibitz/whisper, and personal tell/say.
-
-* Fixed a bug in detecting Xpm in the configure script.
-
-3.4, patchlevel 5 -- Mon Nov 18 16:22:53 PST 1996  Tim Mann
-
-* Added zic2xpm to the kit; it had been omitted by mistake.
-
-* Added some default colors for -colorize
-
-3.4, patchlevel 4 -- Sat Nov 16 18:10:17 PST 1996  Tim Mann
-
-This is meant to be a beta release in preparation for version 3.5.
-
-* Added InfoXBoard and ManXBoard to the Help menu.
-
-* Made Frank's ICS input box optional, defaulting to off.
-
-* Merged in Frank McIngvale's XbKit.  Many new features, including
--clickClick mode, the Analysis modes, piece flashing, ZIICS import,
-ICS text colorization, and the ICS input box.  Many thanks to Frank for
-supplying and documenting this code.
-
-3.4, patchlevel 3 -- Mon Nov 11 18:23:14 PST 1996  Tim Mann
-
-Small set of changes made while Frank McIngvale was working on XbKit in
-parallel.  Unreleased in this form.
-
-* Updated zippy.README.
-
-* Removed useless X event handler and removed strange code for copying
-form translation table to board that worked around the bug it caused.
-This makes changing bindings in .Xdefaults more straightforward.
-
-* Now pressing the Control key steps back one move, and releasing it steps
-forward again.
-
-* Moved quit from "q" to "Q" for greater safety.
-
-* Use "unobserve" instead of "observe" to stop observing; needed on FICS.
-
-* Support for interface variable.
-
-* Strip titles from people who are talking to us, so (for example) Zippy
-won't try things like "tell Darooha(*) hello".  Needed on FICS.
-
-3.4, patchlevel 2 -- Tue Jul  9 19:06:42 PDT 1996  Tim Mann
-
-This patchlevel is not planned to be an announced release.  It's in
-preparation for integrating Frank McIngvale's XbKit.  It mostly contains
-minor fixes I've accumulated since 3.4.pl1.
-
-* WinBoard /telnet option now fires up an external program, as
-with xboard, instead of trying to use a feature of NT 3.1 that does not
-exist in later versions of NT or in Windows 95.  ChangeLog for 3.4.pl1
-said this had been implemented there, but it really wasn't.
-
-* Indicating player to move by the icon color now works under Windows 95.
-
-* WinBoard now kills the chess program when you exit using the system menu
-or the [X] button.  Thanks to Michael Lowe.
-
-* Minor changes to Zippy, including: Now understands wild challenges on
-FICS; these used to crash it.  Removed limit on how fast a game will be
-accepted.  Use "set formula ..." on the chess server to limit this if you
-are using GNU Chess.  Now sends correct opponent name to Crafty.
-
-* Added some missing default values to documentation.  Thanks to Stuart
-Cracraft.
-
-* Bugfix: Trying to print "No fonts match pattern" error message would
-crash.  This can happen to Linux users who don't install Helvetica, for
-example. 
-
-* Bugfix: Defaulting feature in -size n,n,n,n,n,n would put us in an
-infinite loop.
-
-* Added more directories to search for Athena widgets on HPUX.
-
-* New cmail (3.12) from Evan Welsh; includes small fix from Kayvan Sylvan.
-
-* Recognize "illegal move" messages from Crafty for illegal castling, etc.
-
-* Bugfix: "name" command added to zippy.c for Crafty was producing error
-message if GNU Chess was in use.
-
-* In bughouse mode, suppress holding messages from console window; show
-holdings only in banner.
-
-* Minor fixes/cleanup to Makefile.in and configure.in.
-
-3.4, patchlevel 1 -- Mon Dec 11 13:43:12 PST 1995  Tim Mann
-
-* This patchlevel updates WinBoard to match xboard, and includes a few
-fixes and minor improvements.  "-size tiny" and "-size n,n,n,n,n,n"
-are still not implemented for WinBoard.
-
-* Installed support for Crafty based on code from Bob Hyatt.
-Currently the only documentation for this is in the FAQ, and a few
-things don't work with Crafty 8.23.  Please do not report these
-problems as bugs in either xboard or Crafty.  Bob and I know about
-them.  The worst ones (if not all of them) should be fixed in Crafty
-8.24.
-
-* Changed the kludge command we send when gnuchess wants to print
-something that doesn't end with a newline, from "help" to "bogus".
-This works because the error message gnuchess prints ends with a
-newline.  It also improves compatibility with Crafty, which doesn't
-need the kludge, but for which sending "help" causes a problem.
-
-* Don't draw grid at all if lineGap is 0; previously we drew the grid
-with X "0-width" lines (usually 1 pixel wide) and then overwrote it.
-
-* Makefile: Removed xboard.info from "all" target so we won't try to
-rebuild it, because this fails on hosts that don't have makeinfo
-installed.  Other minor fixes to "clean" targets, etc.
-
-* Fixes and cleanup to Auto Comment code that handles continuation
-lines and highlighting.
-
-* Auto Observe now tries to observe the game from the point of view of
-the player who was on your gnotify list.  Requested by rng.
-Limitations: We can't tell which player it was unless you have ICS
-highlighting turned on.  Also, currently "observe foo" works as
-required (observing from foo's point of view) only on ICC, but FICS
-will probably implement this soon.
-
-* "-size tiny" now makes the default font smaller automatically.  This
-was implemented by introducing an extra Form widget in the hierarchy
-for all xboard windows, named either normalLayout, smallLayout, or
-tinyLayout.  So you can have resource specifications that apply only
-to certain layouts; in particular, XBoard*tinyLayout*font.
-
-* Bug fix: EditGame or EditPosition while playing or examining still was
-not really being permitted.
-
-* WinBoard bug fix: On the EditPosition menu, King did not work.
-
-* Added text catalog of WinSock error messages to WinBoard, because
-Microsoft still has not put them in the system message catalog.
-
-* Removed support for older ICS game-ending messages that do not have
-a PGN result token (*, 0-1, 1-0, or 1/2-1/2) after the closing '}'.
-The code for older messages was sometimes firing on the newer
-messages, due to parsing ambiguity.  If the current code sees an old
-message, it will understand that the game is over, but will always
-display * as a result token instead of trying to guess the result by
-interpreting the text message.
-
-3.4, patchlevel 0 -- Tue Nov 21 01:02:50 PST 1995  Tim Mann
-
-* This patchlevel was released for xboard only.
-
-* Updated the info file.  It should now be as up-to-date as the man page,
-with good English except in the parts that pertain only to AmyBoard.
-
-* Added "-size tiny", requested by Bob Hyatt.  Also cleaned up bitmap
-support and added "-size n,n,n,n,n,n" to allow arbitrary-sized bitmaps,
-if the actual bitmaps are supplied by the user.
-
-* Updated bughouse support.
-
-3.3, patchlevel 4 -- Sat Nov 18 02:27:21 PST 1995  Tim Mann
-
-* Unreleased beta that works with preliminary FICS bughouse code.  Will
-need changes before release to track FICS message changes.
-
-* Removed use of .EX macro from man page.  It is not supported by some
-nroff -man macro packages, notably the one on Slackware Linux.  Switched
-to boldface for references to xboard and other commands within the man
-page, as this seems to be the modern way.
-
-* Bug fix: If ICS rejected a move, it was correctly undone on the board,
-but the message widget still displayed the bad move.  Reported by DAV.
-
-* Normally, xboard in ICS mode fetches the move list whenever the board
-display switches to a new game.  Doing this is now an option
-(getMoveList) that can be turned off, which is useful if you are watching
-multiple blitz games.  Requested by rng.
-
-* Move list fetching code is now smarter: it ignores a move list if it is
-not for the right game.
-
-* Added support for bughouse as implemented on FICS.  Holdings are shown
-in the window title in place of the strength numbers.  A menu on mouse
-buttons 2 and 3 (same on both) lets you drop pieces.  There is no checking
-as to whether you actually hold the piece you are trying to drop; we rely
-on ICS to check that.  Notation of the form P@f7 is generated and parsed.
-The mate detector does not understand that non-contact mate is not really
-mate in bughouse, but this does no real harm.  It results in a "#"
-suffix being displayed on the move notation, but xboard does not assume the
-game is over.
-
-* Bug fix: Promotion to a knight was not working with ICC!  Thanks to
-Wendigo for the report.
-
-* Bug fix: Special pty code for host types *-*-aix3* and *-*-irix3*
-(supplied from configure.in) had a bug that would cause childio.c to
-fail to compile, due to a "continue" that was not within a loop.
-
-* Bug fix: In pgntags.c, memory was being freed while still in use.  One
-symptom this caused was that on some machines, cmail would fail with a
-message that it could not find the BlackNA tag.  The error was in some
-submitted code that I included in version 3.2.pl3 without reading
-carefully enough.  Anders Forberg noticed the symptoms, and Evan Welsh
-(who had nothing to do with causing the bug) found the bug and submitted a
-fix; thanks to them both.
-
-* Removed restriction against using EditGame while playing, observing,
-or examining on ICS.  You still get a warning popup.
-
-3.3, patchlevel 3 -- Sat Sep 16 11:44:05 PDT 1995  Tim Mann
-
-* Bug fix: Going directly from MachineWhite to TwoMachines mode would kill
-off the second chess program after Black's first move.
-
-* Added -timeIncrement feature.  Thanks to Joel Rivat.
-
-* Deleted code that tries to keep you from observing more than one game,
-or observing while playing or examining.  There is actually no problem in
-doing this, except that every time an update comes in from a different
-game than is currently being displayed, xboard fetches the history of the
-new game, which may be time-consuming if you are on a slow link.
-
-* Fixed configure so as not to crash when neither lex nor flex is found.
-lex or flex is needed only if the user wants to rebuild parser.c.  Thanks
-to Phil Humpherys for reporting the crash.
-
-* Bug fix: config.h.in used #define instead of #undef for some macros used
-in the pty code in childio.c.  This causes the code to fail to compile on
-some architectures, because the symbols are supposed to be undefined, not
-defined to empty, when they are not set in configure.  Bug originated in
-3.3.pl0 when config.h was introduced.  Thanks to Phil Humpherys for report.
-
-* Bug fix: ShowThinking would not show anything when current position had
-no move to display in the move window.  E.g., if position was created by
-LoadPosition or EditPosition.
-
-3.3, patchlevel 2 -- Mon Aug 28 11:11:11 PDT 1995  Tim Mann
-
-* Zippy code was omitted from xboard-3.3.pl1 by mistake; now included.
-
-* For WinBoard, added hint to help file that you may need to turn off
-LocalLineEditing while typing dialing commands to your modem.
-
-3.3, patchlevel 1 -- Sat Aug 19 15:13:30 PDT 1995  Tim Mann
-
-* Zippy distribution is no longer separate from regular xboard distribution.
-
-* Deal properly with Show Thinking output from GNU Chess when it is
-thinking on its opponent's time.  In TwoMachines mode this output is
-suppressed to avoid interfering with the output from the machine that is
-on move; in other modes it is displayed (including the move that GNU Chess
-is predicting the user will make next).  GNU Chess produces this output
-only if it is built without -DQUIETBACKGROUND defined; this symbol is
-defined by default in patchlevels before pl75, but undefined by default in
-pl75.
-
-* Bug fix: Handling of initial board position in move list for wild games
-was broken, so wild games could not be observed and adjourned wild games
-could not be continued.  Thanks to "Maximum Entropy" for the bug report.
-
-* Added feature: algebraic notation now shows "+" indicator for check
-and "#" for checkmate, as called for in PGN standard.  Thanks to Kevin
-Maher for the suggestion.
-
-3.3, patchlevel 0 -- Thu Jul 27 22:21:07 PDT 1995  Tim Mann
-
-* Changed configuration to use a config.h file instead of passing zillions
-of -D options on the cc command line.
-
-* Merged a small fix and some updates to the texinfo file from Jochen
-Wiedmann.  The texinfo file still needs work.
-
-3.2, patchlevel 5 -- Tue Jul 18 20:29:39 PDT 1995  Tim Mann
-
-* Beta test release of xboard only.
-
-* Updated WinBoard code to include new xboard features.
-
-* Added texinfo file from Jochen Wiedmann to the release, but not as the
-primary documentation.  It needs updating, and the English needs work.
-I did make a few improvements, mostly to change incorrect uses of @var to
-either @samp or @code as appropriate.
-
-* Merged in code changes to 3.2.pl4beta from Jochen Wiedmann.
-
-* Fixed EditComment; did not pop up window in previous beta.
-
-* Added AutoComment feature.
-
-* Added GameListDestroy to disable the outdated game list popup in cases
-where we load a new game file without building a new popup.
-
-* Added yyskipmoves feature to parser.l to speed up building of gamelist.
-
-* gamelist.c wouldn't compile with a non-ANSI compiler.  Fixed.
-
-* Change to yy_text handling in patchlevel 3 still had problems.  Can't
-use AC_DECL_YYTEXT in configure.in, because that defines YYTEXT_POINTER
-according to whether the lexer on the current host makes yytext a pointer.
-But most people will be using a parser.c that was generated on another
-host and shipped with the package.
-
-3.2, patchlevel 4 -- Sun Jun 25 19:13:43 PDT 1995  Tim Mann
-
-* Beta test release of xboard only.  
-
-* Added FIREWALLS section to man page.
-
-* Changed -icsport to be a string.  Now with the -telnet option,
-specifying -icsport "" suppresses the second argument to telnet.
-
-* Added EditTags feature.  Removed AboutGame from menu, because EditTags
-subsumes it.  EditTags suggested by Jochen Wiedmann and first implemented by
-him in AmyBoard.  xboard implementation is my own.
-
-* Fixed some missing or incorrect prototypes.
-
-3.2, patchlevel 3 -- Sat Jun  3 18:57:38 1995  Tim Mann 
-
-* Beta test release of xboard only.  
-
-* New version of cmail from Evan Welsh, to fix compatibility problems with
-perl 5.0.
-
-* Added game list feature on Load Game, based on code from Jochen
-Wiedmann.  Integrated it with cmail.
-
-* Several bug fixes from Jochen Wiedmann, including one to my yy_text
-workaround for the difference in the type of yytext between lex and flex.
-
-* Handle clock pause on FICS.
-
-* Suppress clocks in untimed FICS games (time control 0 0).
-
-* Rebuilt configure script with autoconf 2.3.  This fixes a bug in
-configuring for X11R6, where -lSM -lICE would not be added when needed.
-
-* Fixed inconsistent type declarations on IntSigHandler and
-CmailSigHandler.  Bug report from Josh Daynard.
-
-* backend.c wouldn't compile with a non-ANSI compiler.  Fixed.
-
-3.2, patchlevel 2 -- Tue Feb  7 14:50:30 1995  Tim Mann 
-
-* Minor release of both xboard and WinBoard.
-
-* Added recognition of some FICS messages.  On the other hand FICS is also
-changing some of its messages to match what xboard already recognizes.
-
-* Temporarily went back to using "promote" command on ICS instead of
-"a7a8=Q", because FICS doesn't implement the latter yet.
-
-* We now avoid using overlapped I/O on pipes in WinBoard, to make Windows
-95 beta 2 happy.  This lets WinBoard work with GNU Chess on Windows 95!
-
-* Installed patches from Jochen Wiedmann to coordinate with Amiga XBoard.
-
-* Installed patch to cmail bug in LoadGame from Evan Welsh.
-
-* Bugfix: checkmate and stalemate moves entered with EditGame in ICS mode
-were not being handled correctly.  Bug was in GameEnds().
-
-* Implemented EchoOn and EchoOff for xboard, using system("stty echo\n").
-Now passwords won't be echoed when you connect directly to ICS.  Also,
-telnet negotiation characters aren't displayed (when possible).
-
-* Implemented more of the telnet protocol.  Now connecting to a telnet
-server with "-icsport 23" should work even without giving the -telnet
-option.  The telnet is in "old line-by-line mode".
-
-3.2, patchlevel 1 -- Sat Dec 10 13:50:46 1994  Tim Mann 
-
-* This patchlevel released for WinBoard only.
-
-* winboard.c: Fixed ConsoleInputThread().  Needed to change CRLF to LF,
-not to CR.  This was stopping normal /ics mode from working.  Thanks to
-Asher Kobin for the bug report.
-
-* winboard.c: Fixed Raw(), EchoOn(), EchoOff().  Now they take effect
-immediately, not on the next console read after the one in progress.
-
-* winboard.c: Attempted to make WinBoard work with gnuchessx running
-directly on Windows (not remotely via rsh).  It now works on NT, but only
-if gnuchess is told not to think on its opponent's time ("easy\n" removed
-from initString).  The problem seems to be that GenerateConsoleCtrlEvent
-is not doing anything.  On Windows 95 beta 2, we get error messages on
-both reading and writing to gnuchessx; I didn't investigate why.
-
-3.2, patchlevel 0 -- Wed Dec  7 13:23:36 1994  Tim Mann 
-
-* Thanks to all the beta testers who gave me feedback: Josef Nelissen,
-Steve Booth, Evan Welsh, Dima Dakhnovsky, Chris Petroff, Peter Jansen,
-Derek Terveer, Michel van der List, Richard Lloyd, Shelly Mistry, and Mike
-Lee.  Sorry if I forgot anyone.  Thanks to Virendra Kumar Mehta for
-information about DYNIX/ptx.
-
-* Don't exit on keyboard EOF unless we get two in a row.
-
-* WinBoard only: added -localLineEdit switch to allow turning off local
-line editing if you really want to.  It is still a bad idea to let the
-echoing be done remotely, however; see below.
-
-* Fixed some configure problems on HP-UX.  [Steve Booth]
-
-* Fixed (I hope) configure problem on SunOS 5.3/Solaris 2.3.  [Josef Nelissen]
-
-* cmail bugfix from Evan Welsh (cmail 3.4).
-
-3.1, patchlevel 9 -- Fri Dec  2 23:54:56 1994  Tim Mann 
-
-* Beta distribution only
-
-* Always do local echo/edit of user typing in ICS mode.  Doing the echo
-downstream may seem nicer in some modes, and it can be hard to turn that
-echo off, but the echoed characters can be interleaved with ICS output
-and make it impossible to parse correctly.  For xboard this involved only
-a change to recommendations in the man page, as Raw() isn't implemented.
-For WinBoard, removing Raw() made a real difference.  Added code in 
-WinBoard to change /r/n back into /r on keyboard input, as we get the 
-former when Raw() is not called.
-
-* Do not issue ICS "refresh" command after we start to observe a game
-unless we get to the next prompt without seeing a board image.  Newest
-version of ICS doesn't require this refresh, but old versions around still
-do.
-
-* cmail bugfix and small code cleanup in LoadGame, from Evan Welsh.
-
-* Added keyboard accelerators N/P for LoadNextGame/LoadPreviousGame.  Evan
-Welsh request.
-
-* Using "-" on the command line as a filename for loading (saving) games
-or positions specifies the standard input (standard output).  Alain Picard
-suggestion.
-
-* On WinBoard only, a command line option without a leading '-' or '/' is
-now taken as the value of -lgf.
-
-* Changed to not use stdin, stdout, stderr as initializers in backend.c;
-needed for GNU libc compatibility.  You also must build parser.c with flex
-(not lex) if you are using GNU libc, to avoid having the same problem
-there.
-
-* Changed WinBoard to avoid using "overlapped" input on the console.  It
-now seems to fully work on Windows 95 beta 2.
-
-* Improved comment popups on WinBoard.  Now newlines are handled properly,
-and the plain Comment popup window doesn't disappear and reappear when we
-step to a new move with a new comment.
-
-* Fixed bugs in detecting the absence of the time and otim commands.
-
-* Added built-in implementation of rcmd protocol to WinBoard.  Windows NT
-does not implement passing signals through rsh, and Windows 95 does not
-have rsh at all.
-
-* Added -remoteUser option.
-
-3.1, patchlevel 8 -- Mon Nov 28 15:26:07 1994  Tim Mann 
-
-* Beta distribution only
-
-* Rearranged ChangeLog file into reverse chronological order to be closer
-to GNU standards.
-
-* Integrated new cmail code from Evan Welsh (including cmail RCS rev 3.2).
-Includes a bug fix to TruncateGame.
-
-* Updated ICS address to be chess.lm.com.
-
-* Bug fixes to handling the aftermath of FatalError.  Thanks to Chris
-Petroff for the bug report.
-
-* Test for remsh before rsh, other fixes for HP-UX.  Thanks to Richard
-Lloyd.  I wasn't able to do all the things he suggested, so there may
-still be some rough edges in building on HP-UX.  See the FAQ file for hints.
-
-* Bug fix; added missing check for HAVE_SYS_SYSTEMINFO.  Thanks to Josef
-Nelissen for testing on Solaris 2.x.
-
-* Updated WinBoard to match xboard.  (WinBoard still has a few option
-dialogs that don't exist in xboard.)
-
-* Changed Hint output to a popup.
-
-* ShowThinking output and move output no longer overwrite each other.
-ShowThinking output won't appear if the displayed position is not current. 
-ShowThinking output in TwoMachines mode made clearer and documented.
-
-* Implemented --enable-ptys and --disable-ptys arguments to configure.
-
-* Fixed Book and Hint code to work over a pty with echo enabled and tabs
-expanded to spaces.  Thanks to Dima Dahknovsky for the bug report.
-
-* Moved Attention calls from all over xboard to one place, inside
-SendToProgram.
-
-* Added bulletproofing to ShowThinkingEvent.
-
-* Added code to handle "refresh N" boards that come in from ICS properly,
-assuming ICS is changed to mark them with a new relation code (-3).
-
-3.1, patchlevel 7 -- Sun Nov 13 22:16:01 PST 1994 -- Tim Mann
-
-* Beta distribution only
-
-* Changed ShowThinking to just show the current best line in the
-DisplayMessage area, instead of dumping everything to stdout.
-
-* Installed new cmail (RCS rev 3.1) and cmail.man (RCS rev 1.10), and
-changes to cmail code in backend.c, from Evan Welsh.
-
-* Miscellaneous minor fixes.
-
-3.1, patchlevel 6 -- Fri Nov  4 12:53:53 PST 1994 -- Tim Mann
-
-* This patchlevel was not actually released to anyone.
-
-* Updated the pty code to be based on GNU Emacs 19.24, and moved it to a
-separate file.  It was hard to split out just the pty configuration from
-all the stuff emacs does with its custom configure script and .h files,
-but I did my best.
-
-* Converted from imake to GNU autoconf.  This was a serious upheaval.  
-
-* Put in code to help trap "error gathering move list" problem reported by
-Michel van der List if it recurs.  I couldn't reproduce it.
-
-3.1, patchlevel 5 -- Mon Oct 31 21:12:00 PST 1994 -- Tim Mann
-
-* Beta distribution only.
-
-* We now test for checkmate or stalemate in EditGame mode after every user
-move, and in LoadGame mode whenever we hit the end of a game without
-seeing a PGN end marker.  cmail needs an update to deal with this
-correctly; Evan promises one.
-
-* Bugfixes in new move generator.  Thanks to Mike Lee for reporting one of
-the bugs.
-
-* Imakefile was omitted from patchlevel 4.
-
-3.1, patchlevel 4 -- Mon Sep 19 18:19:46 PDT 1994 -- Tim Mann
-
-* Beta distribution only.
-
-* The move generator includes a mate tester.  Initially this is used only
-by cmail, and even that usage needs further work.
-
-* Wrote a true move generator and used it to replace all the move
-disambiguation and legality checking code in parser.l.  The move generator
-is capable of dealing correctly with en passant and castling availability,
-but the rest of the program still does not keep track of this information.
-
-* Bug fix: xboard did not handle "foo has made you an examiner of game 23"
-message.  Thus you could not use examine features until the next board
-came in, showing your new relation to the game.  Thanks to POOKIEWOOKIE on ICS
-for the bug report.
-
-* Added AutoObserve feature.  Thanks to Chris Petroff for the idea.
-
-* Added Book feature to use new gnuchess "bk" command.  Mike McGann request.
-
-* Redid code to handle missing "time" command in gnuchess, because latest
-gnuchess no longer sends a response to this command.  
-
-* Eliminated need for -DFLEX.  Thanks to Michael Shields (Vladimir?) for
-the idea.
-
-* Added missing code to implement MoveNow in TwoMachines mode.
-
-* Added ShowThinking feature.  Thanks to Richard Lloyd for the idea.
-
-* Applied patches from Evan Welsh; some fixes and improvements to the
-cmail code.
-
-* Fixed bug in moving from EndOfGame mode to MachineWhite or MachineBlack,
-introduced in previous patchlevel.  Also fixed related bug in ending a
-game in ICS mode; was entering EndOfGame mode instead of IcsIdle.
-
-* Added patch to implement internetChessServerLogonScript flag, from Kevin
-O'Connor.  Thanks!
-
-3.1, patchlevel 3 -- Wed Sep  7 13:22:07 PDT 1994 -- Tim Mann
-
-* Beta distribution only.
-
-* Merged in new cmail code from Evan Welsh.  He added the ability to have
-more than one game per message, needed for official IECG matches.  I added
-the ability to resign or offer/accept/decline a draw in a cmail game.
-
-* Bugfix: invalid -tc option caused segmentation fault; DisplayFatalError
-was called too early in initialization.  Georges Honore reported this bug.
-
-* Decided to keep EndOfGame mode as an element of the user interface---it
-means that a gnuchess game or loaded game has ended, and the user must
-explicitly select EditGame to edit it, rather than just being able to
-enter more moves freely.  But internally there is no longer an invariant
-tying this mode to whether the chess program is running.
-
-* Zippy bugfix: Was saving only the final position in the -sgf file when
-the game ended by something other than resignation or flag.  Also fixed
-the longstanding bug that Zippy would think the final board of such a game
-was a new game and restart the chess program.
-
-* Now does a better job of faking castling availability in FEN.  We still
-don't really keep track of it, but now at least we don't say that castling
-is still available when the king or rook is not on its home square.
-
-* Bugfix: Initial board of game history for wild games was going through
-too much processing, causing us to forget the game length, which is now
-needed by ParseGameHistory.  This was causing problems with resuming
-adjourned wild games.
-
-* Updated ICS host to ics.onenet.net.
-
-* Zippy now accepts challenges where the opponent specified his color.
-
-* Added ZIPPYPASSWORD2 to let operator give commands directly to gnuchess.
-
-* Bitmap directory can include alternative icons now, too.
-
-* Handle "Game * (*) has no examiners" message from ICS.
-
-* Revamped window title and icon name selection.
-
-3.1, patchlevel 2 -- Sun Jun 12 17:16:28 PDT 1994 -- Tim Mann
-
-* "Beta" distribution for Zippy users only.
-
-* Bugfix: common.h was assuming that X11 type Boolean is char, which is
-not always true.  This might have caused all sorts of obscure bugs!
-
-* Installed new bitmaps from Elmar Bartel as the default.  Many thanks!
-The old bitmaps can be used by changing the "bitmaps" symbolic link before
-compiling xboard, or by using the -bitmapDirectory option at runtime.
-
-* Loading a game that ends with the PGN unfinished symbol ("*") now always
-leaves you in EditGame mode.
-
-* Added documentation of -icscomm to man page.  Thanks to Maarten Remkes
-for the linux script.
-
-* ^C now kills gnuchess as well as xboard.  Thanks to Dima Dakhnovsky for
-reminding me how to do this.
-
-* Bitmap icon color now indicates player to move.  Stuart Cracraft
-suggestion.
-
-* Changed piece bitmap flags to have just one flag, which points to a
-directory full of bitmaps, instead of a flag for each bitmap.  Also
-changed bitmap naming convention.
-
-* "Connection closed by ICS" is no longer a FatalError popup.  This was
-too annoying in the normal case where the user typed "quit".
-
-* Changed default font to 14 pixels instead of 10 points.  This seems to
-make it close to the size I want it to be on more displays.
-
-* Major mode (GNU Chess, etc.) appears in title bar.  Stuart Cracraft
-request.
-
-* Bug fix: EditGameEvent, MachineBlackEvent, MachineWhiteEvent, and
-TwoMachinesEvent were calling PauseEvent to get out of pause mode, which
-now has undesired side effects, such as advancing the display to the
-forwardMostMove.  It works fine to just set pausing = FALSE instead.
-
-* IcsExamining mode now lets you access ICS edit position commands using
-the same popup menus as xboard's EditPosition mode.  Thanks to DAV on ICS
-for inspiring the idea.
-
-* Corrected test for gcc on HP in Imakefile; thanks to Richard Lloyd.
-
-3.1, patchlevel 1 -- Wed Jun  1 16:25:11 PDT 1994 -- Tim Mann
-
-* Added parser.c.lex and parser.c.flex to the distribution.
-
-* Added HP gcc options to Imakefile, from Mats Nylen.
-
-* EndOfGame mode no longer highlights EditGame mode indicator, because the
-modes really do differ.  I would like to get rid of EndOfGame mode in the
-future, at least as far as users can see.
-
-* Larger %a in parser.l, needed for RS/6000 users.
-
-* Minor improvements to Mail Move error messages.
-
-* When -debug flag is given to xboard, -v is passed to cmail.
-
-* Old Save Style uses "1. ..." instead of "1..." when black moves after a
-comment; more like xboard 3.0's actual style.
-
-* New version of cmail from Evan Welsh.  Looks for UCB Mail in a more
-portable way and has some minor bug fixes.
-
-* Bug fix: Saving a FEN position while in EditPosition mode with black to
-play was showing white to play in the saved position.
-
-3.1, patchlevel 0 -- Fri May 20 16:36:15 PDT 1994 -- Tim Mann
-
-* This is the first general release since 3.0, patchlevel 9.  Releases
-since then have been limited-distribution or beta releases.
-
-* Thanks to my version 3.1 beta testers: Dmitry Dakhnovsky, Ed Hanway,
-Richard Lloyd, Mike McGann, Shelly Mistry, Josef Nelissen, Chris Petroff,
-Jack Robertson, Michel van der List, Ky Macpherson, Derek Terveer, and
-Evan Welsh.  Sorry if I've forgotten anyone who gave me feedback.
-
-* Updated man page.
-
-* Minor cleanup on menu sensitivity code.
-
-* Integrated another even better version of cmail from Evan Welsh,
-including some code he supplied in xboard itself.
-
-* A few more fixes to cmail support.
-
-* Automatically update clocks after an ICS "moretime" command.
-
-* Handle ICS automatic examine mode (set examine 1) after a game.
-
-3.0, patchlevel 14 -- Tue May 17 13:41:44 PDT 1994 -- Tim Mann
-
-* Beta test release only.
-
-* Don't suppress prompt on first board of game being examined; otherwise
-it looks like nothing happened at all (i.e., like you're lagged).
-
-* Added StopExamining and StopObserving (Chris Petroff suggestion).
-
-* Made Reset do a refresh on ICS.  John Chanak's original ICS code for
-xboard tried to do this; I finally decided it was a good idea after all.
-
-* Fixed bugs in handling updates that come in while you are pausing in
-examine mode.  This is pretty tricky to do right.
-
-* Made un-Pausing immediately pop you to the current position.  This is
-always necessary in examine mode, since the game may have changed under
-you; your remembered moves might no longer be right.  So I made it do the
-same in all modes.
-
-* Took Detach Examine mode back out...used Pause mode for this instead!
-
-* Put in a trap for the GNU Chess bug of printing an Illegal Move message
-when its own hint move is illegal.
-
-* Attempted to fix a Zippy bug; bogus "exited unexpectedly" messages after
-it checkmates its opponent.  This involved adding an argument to GameEnds
-to say who says it ended (ICS, GNU, etc.)  and taking different actions in
-different cases.  Unfortunately, this just restored an older Zippy bug, where
-Zippy restarts gnuchess when it gets the board with the final position,
-because GameEnds still puts xboard in EndOfGame mode.  Sigh.
-
-* We now capture elapsed time on last move when getting game history.
-(Josef Nelissen bug report)
-
-* Rewrote code to redisplay last file title so it really works.
-
-* Fixed bug in oldSaveStyle.
-
-* Larger %a and %o were needed for lex.
-
-3.0, patchlevel 13 -- Mon May 16 16:26:22 PDT 1994 -- Tim Mann
-
-* Beta test release only.
-
-* FatalError popups stay on the screen now.  If the error is really fatal,
-all functions are disabled, and the program exits when you press OK.
-
-* Redisplay last file title when using Load (Next/Previous/Same) Game.
-
-* Zippy understands new match challenge message format on ICS.
-
-* Added Revert command.
-
-* When examining a game on ICS, < > buttons do ICS backward/forward
-commands, unless you set the Detach Examine option.  Thanks to Dima
-Dakhnovsky for the idea.
-
-* Fixed various minor problems in cmail mode.
-
-* cmail generates the tags now.  New version of cmail from Evan Welsh.
-
-* cmail mode won't let you do MailMove unless the currently displayed
-position is exactly one move past the end of the game you loaded.
-
-* Fixed building of man pages in Imakefile
-
-* Updates to INSTALL file
-
-3.0, patchlevel 12 -- Sat May  7 21:10:03 PDT 1994 -- Tim Mann 
-
-* Beta test release only.
-
-* Brought man page up to date.
-
-* Added Shift+R to resign from keyboard.
-
-* Some items on Action menu available in GNU Chess mode now.
-
-* Revamped Action menu.
-
-* Reordered functions in backend.c as a small step toward reorganizing
-this whole mess.
-
-* Generate TimeControl PGN tag.
-
-* Get type of ICS game (e.g., rated blitz) and save in PGN tags.
-
-* Bug fix: Clocks were not redisplayed when entering EditGame mode.
-
-* Bug fix: Clocks were not being redisplayed after loading a game file
-with -td 0, so they could show the wrong color active.
-
-* Bug fix: Chess programs would be killed and match mode would exit
-prematurely when loading a PGN game fragment ending with "*".
-
-* ICS command "sposition" no longer confuses xboard.
-
-* Integrated new version of cmail (with support code in xboard) from Evan
-Welsh.
-
-* Added TruncateGame, MoveNow, RetractMove, and QuietPlay.
-
-* Bug fix: switching between MachineWhite and MachineBlack was not calling
-Attention().  Reported by Dino Dini.
-
-* More improvements to INSTALL and Imakefile.
-
-* Pack moves into 79 character lines in PGN output.  We don't generate
-check indications, and we always break the line before the result,
-so this is not quite PGN export format.
-
-* Use FEN tag in PGN.
-
-* Improved finding and counting of game starts in save files.
-
-* Negative position or game numbers in -lpi/-lgi mean to seek to that byte
-offset.  Hook for possible future features, not in man page.
-
-* Detect and handle absence of either "time" or "otim" commands in
-gnuchess.
-
-* Don't use "promote" command to ICS anymore.
-
-* Handle switching sides and taking back moves on FICS.
-
-* Handle flip state flag in style 12 board.
-
-* Handle examine mode on ICS.
-
-* Improved error popups for various kinds of illegal moves.
-
-* Suppress unasked-for hints from gnuchess (which it generates in post
-mode).
-
-* Load/save position functions use FEN.  Old style also supported.
-
-* Added detailed error messages if loading a bitmap file fails.
-
-* Small board has 2-pixel lines between squares instead of 3-pixel.
-
-* Added OldSaveStyle and AboutGame.
-
-* Renamed ForceMoves to EditGame.
-
-3.0, patchlevel 11 -- Tue Sep 21 15:25:36 PDT 1993 -- Tim Mann 
-
-* The following changes were present in xboard 3.0, patchlevel 11, but the
-first group did not make it into WinBoard 3.0 until later.  xboard
-3.0.pl11 was a limited-distribution release only, mostly to Zippy users.
-
-* Man page minor fixes.
-
-* Added a missing file close.
-
-* Removed automatic error popdown on Reset, which was destroying some
-error messages before they could be read.
-
-* Fixed char vs. unsigned char warnings on bitmaps.
-
-* Use ICS board style 12.  Some improvements to ICS parsing.
-
-* Comment window is now labelled with the move the comment is on, and
-comments don't pop down when you step to the next move.
-
-* Save files now in PGN format.
-
-* Support for loading PGN files.  PGN tags pop up when a PGN game file
-is loaded.
-
-* More info in INSTALL and Imakefile about building for Suns (and
-other systems).
-
-* WinBoard 3.0 patchlevel 11 split off from an early version of xboard
-3.0 patchlevel 11, so it does not have all the features of that
-patchlevel.  The following changes made it into both xboard and
-WinBoard:
-
-* Made Comment dialog non-modal in WinBoard.
-
-* EndOfGame mode is now more transparent.  It looks like ForceMoves
-mode except that there is no chess program running.
-
-* Small bug fixes in clock management.  Most noticeably, pausing when
-it is gnuchess's move now works as documented (again).
-
-* Add minimal support for -icscomm option.  Not documented yet because
-I haven't sorted out the issues with setting the tty modes on the comm
-port device, or with locking it properly.  But it's usable by wizards.
-
-* Don't restart the chess program upon Backward event from EndOfGame mode.
-
-* Suppress extra prompt after ICS sends us a board.
-
-3.0, patchlevel 10 -- Sat Sep 11 18:44:03 PDT 1993 -- Tim Mann 
-
-* Beta test release only.
-
-* Zippy now plays chess.  zippy.c and zippy.h are still not included
-in the standard distribution, but are available on request.
-
-* Switched to using style 12 on ICS.
-
-* Updated man page, and documented use of XBoard*form.translations to
-add more shortcut keys.
-
-* Added shortcut keys "d" to claim/offer/accept a draw, and "t" to
-call flag.  Suggested by venu on ICS.
-
-* More explicit instructions in INSTALL file.
-
-3.0, patchlevel 9 -- Tue Sep  7 14:02:00 PDT 1993 -- Tim Mann
-
-* General release, minor update to 3.0.pl8.
-
-* Loosened checking on whether it's okay to start a move, to satisfy
-ICS ultra-blitz players.  Now we don't check whether it's your turn
-until you let go of the piece.
-
-* Parser now recognizes "+-+" as meaning the game ended in a draw.
-
-* Got rid of S_NONE symbol, which seems to conflict with some symbol
-Sun defines.
-
-* Tweaked the man page.  Clarified that there is currently no way for
-two people running copies of xboard to play each other without going
-through the Internet Chess Server.
-
-* Fixed a bug in color name conversion.  Asking for two different
-colors whose names were the same in the first four characters would
-get you two copies of the first one.  Thanks to Volker Zink for the
-bug report.
-
-* Improved confusing Usage() message.
-
-* Added a bunch of Sun information to the Imakefile and INSTALL file.
-Thanks to Ed Hanway, Arik Klingensmith, and others who responded.
-
-* Test for defined(WIN32) instead of !defined(unix).
-
-* Avoid using (void *) type with non-ANSI C compilers.  Thanks to
-James Altucher for the bug report.
-
-3.0, patchlevel 8 -- Thu Sep  2 12:23:01 PDT 1993 -- Tim Mann
-
-* Note: Patchlevel 8 was the first non-beta release of xboard 3.0
-
-* Added cmail to distribution.  Contributed (and still maintained) by
-Evan Welsh.
-
-* Bug fix: -queen option wasn't initializing menu check.  Reported by
-Pat Surry.
-
-3.0, patchlevel 7 -- Thu Aug 26 13:23:24 PDT 1993 -- Tim Mann
-
-* Sent WinBoard 3.0.pl7 to Torre on ICS
-
-* Added parser.h to hold the interface to parser.l
-
-* Upgraded COPYING file and copyright notices to GNU GPL version 2.
-
-3.0, patchlevel 6 -- Tue Aug 24 15:16:13 PDT 1993 -- Tim Mann
-
-* We no longer display intermediate positions or intermediate comments
-while loading a game file with -timeDelay 0 or loading an opening to
-start up a -matchMode game.
-
-* Loading an empty game from an xboard save file now gives a status
-message "No moves in game" instead of an error popup saying "Game not
-found in file."
-
-* Added comment.awk to distribution.
-
-3.0, patchlevel 5 -- Tue Aug 17 16:45:54 PDT 1993 -- Tim Mann
-
-* Bug fix:  xboard would crash if it couldn't get all its colors; now
-it switches to monoMode instead.  Also, xboard was trying to convert
-color resources even when using a b/w display.  Reported by Larry
-Rogers.
-
-* Bug fix: Declared fields of TimeMark as signed so that we get signed
-instead of unsigned arithmetic.  SubtractTimeMarks was breaking on
-Alpha AXP (which has 64-bit longs) with old declarations.  Reported by
-Michel van der List.
-
-* Bug fixes:  Keyboard accelerators now work after EditComment window is
-popped down.  Iconize keyboard accelerator now works even if xboard
-was started with -iconic flag and later deiconized.
-
-* Bug fix:  The routine that tests whether a move is illegal because it
-would leave you in check was not handling e.p. captures properly.
-Reported by Patrick Surry.
-
-* Bug (?) fix:  Was adding time to clocks at time control even when
-loading a game file.  Actually it's not entirely clear how time
-controls should be dealt with when some moves are loaded from a file
-or clicked in with ForceMoves.  For now ForceMoves mode does add the
-time (because it can be used to change moves during a live game), but
-LoadGame mode does not.
-
-* Updated usage message.
-
-* Previous attempted fix to matchMode had broken TwoMachines mode and
-generally needed more work.  Also simplified command line interface to
-matchMode.
-
-3.0, patchlevel 4 -- Thu Aug  5 14:17:18 PDT 1993 -- Tim Mann
-
-* Thanks again to the beta testers listed for 3.0 patchlevel 3, and also
-Desnogues, Steve Cariglia, Niklas Engsner, Mark Silver, and Roger Rowe.
-
-* Reorganized man page, splitting OPTIONS into subsections.
-
-* matchMode was very broken; fixed.
-
-* Changed convention for turning off command line options from --opt
-to -xopt, to be less inconsistent with GNU standards.  Also changed
-the long command line options to take True/False arguments like
-resources; seems to make more sense this way.
-
-* Added AlwaysQueen option -- suppresses promotion dialog and always
-promotes to a queen if you move a pawn to the last rank.  Has no
-effect on gnuchess (or your ICS opponents!) -- they can still
-underpromote.
-
-* Subtracted an extra fudge term when determining how wide message and
-title widgets should be.  This fixes a problem some beta testers had.
-Wish I knew why it's needed.
-
-* Bugfix in parser; symptom was that you couldn't do LoadGame after
-observing a game on ICS.
-
-* Bugfix in Forward; didn't work after game ended while Pause was turned on.
-
-* Removed bogus execute bits on .h files.
-
-* Use REMOTE_SHELL and TELNET_PROGRAM definitions.
-
-* MachineWhite and MachineBlack now work from TwoMachines mode.
-
-* Popping down an error message with the [ok] button was not turning off
-the errorUp flag, so the next move would cause xboard to try to pop it
-down again, resulting in a wild memory reference and sometimes a crash.
-
-3.0, patchlevel 3 -- Tue Aug  3 17:40:27 1993  -- Tim Mann
-
-* Thanks to my beta testers: Patrick Surry, Takuya Kojima, Robert J. Luoma,
-Chris L.  Petroff, Richard K. Lloyd, Michel van der List, Craig Metz,
-Antoon Frehe, Simon Clift, Shelly, Eric Peterson, Christopher Mitchell,
-Martin Koch, Ed Hanway, Steve Booth, Udo, Ken Hobday, and Joseph Duhamel.
-
-* Improved error messages for trying to move the wrong color pieces or
-to move when it's not your turn.
-
-* Special code for monoMode on 1-bit displays now understands displays
-where 1=white and 0=black.
-
-* Declare getenv() if <stdlib.h> not included; avoids a compiler warning.
-
-* Documented borderXoffset and borderYoffset.
-
-* Added -titleInWindow option for use with X window managers that
-don't let us set the title in the window banner.
-
-* Fixed error message printing in WinBoard; system error messages no
-longer appear as numeric codes.
-
-* The error message popup is now non-modal; you don't have to press the
-[ok] button before you can do something else.  In addition, the popup is
-positioned so that it doesn't cover up the board (too much), and making a
-move or otherwise clicking on the board pops it down.  (Not implemented in
-WinBoard.)
-
-* You can now call your opponent's flag in ICS mode by clicking on his
-clock. 
-
-* Fixed minor bugs in -flipView option and documented exactly how xboard
-decides which way to flip the view.
-
-3.0, patchlevel 2 -- Fri Jul 30 22:20:23 PDT 1993 -- Tim Mann
-
-* Added Autosave to Options menu.  Would be better to have Save
-Options dialog as in WinBoard, but this was quick to do and gives the
-most-needed functionality.
-
-* Changed "Reload Game" on menu to "Reload Same Game".
-
-3.0, patchlevel 1 -- Thu Jul  8 21:22:59 PDT 1993 -- Tim Mann
-
-* Sent a copy of patchlevel 1 to Patrick Surry to beta-test.
-
-* Added -cmail option that sets appData.cmailMode.  Currently a no-op.
-In the future this may set special modes for use by the cmail script
-for playing chess by email.
-
-* Added LoadNextGame, LoadPreviousGame, and ReloadGame to File menu.
-ReloadGame suggested by Patrick Surry.
-
-* Added -flipView command-line option.  Suggested by Patrick Surry.
-
-* Fixed bugs in parser.l:  (1) Pattern for "# xboard game file ..."
-needed to match to end of line.  (2) Start of a new file was not matching
-the ^ start-of-line character.  The fix for this is a kludge.
-
-* Made game counting code in LoadGame more robust, and made LoadGame
-able to detect the end of a saved partial game (by noticing the start
-of the next game) in game files created by XBoard itself.  We don't
-try to find the start of the next game that way in other kinds of game
-files, because the only way I can think of to do that is to look for
-another move #1, and that technique gets too many false hits.
-
-* Fixed recently introduced bug in LoadGame when game starts with a
-position diagram.
-
-3.0, patchlevel 0 -- Fri Jun 25 14:17:17 PDT 1993 -- Tim Mann
-
-* Changes in this patchlevel were too numerous to list.  Larger ones are
-listed below.
-
-* Added a popup dialog to enter and edit comments.  Inspired by some
-code from Patrick Surry.  Changed the normal read-only comment popup
-to the same style.
-
-* Added ICS init script feature from Karl Schwamb.
-
-* Added some ESIX fixes and OMIT_SOCKETS ifdef option, from Kayvan Sylvan.
-
-* Revamped code to allow use of flex instead of lex on parser.l.
-Using flex requires adding -DFLEX to defines in Imakefile.
-
-* Source code is split into front end (xboard.c), which knows about X
-and Unix, and back end (backend.c), which knows about chess, gnuchess,
-and the ICS.  There is also a front end for Windows NT.
-
-* Boolean command line options now use "-foo" to turn on and "--foo"
-to turn off instead of "-foo true" and "-foo false".  [Later -xfoo;
-see above.] 
-
-* Added menu commands to control autoflag, bell, and coords options.
-
-* User interface has a new look: (1) Menu bar instead of array of
-buttons.  A few very commonly used features have small buttons in
-addition to being on the menus. (2) Large font for clock.  (3) Pop-up
-dialogs for errors.
-
-2.1, patchlevel 11 -- Sat Jun  5 00:01:01 PDT 1993 -- mann@src.dec.com
-
-* Added code to deal with "wild" games on ICS.  This includes allowing
-castling with the king on d1 or d8, which is allowed in wild(1) games
-if the king started there.  Notation is o-o to castle "short"---to
-whichever side the king is closer to---and o-o-o to castle "long."
-Right now wild castling is always allowed by xboard; we rely on ICS or
-gnuchess to reject it when we aren't really in wild mode.
-
-* memcpy call had arguments in wrong order.
-
-* Removed April Fool code
-
-2.1, patchlevel 10 -- Mon Feb 15 10:19:31 PST 1993 -- mann@src.dec.com
-
-* Avoid trying to select on a pipe when using System V.  Needed to
-copy some code from InitChessProgram() up into establish().
-
-* Bug fix in disambiguating pawn moves like "ed".
-
-* Fix to error handling in ReceiveFromProgram.
-
-* Bug fix: entering EditPosition mode with black to play highlighted
-White's clock instead of Black's.
-
-* Added telnetProgram resource in case "telnet" is not the name of the
-telnet program.
-
-2.1, patchlevel 9 -- Fri Jan 22 19:08:27 PST 1993 -- mann@src.dec.com
-
-* Entering Force Moves mode clears "flag has fallen" messages from display.
-
-* ICS host name can now be in numeric format; for example 128.2.232.4.
-
-* Bug fix: LegalityTest was failing to test whether a pawn move was
-illegal because the move would discover a check.
-
-* Handle ICS message "mann asserts a win over manntest, who disconnected."
-
-* Bug fix: A recent change to PromotionCallBack had broken
-underpromotion to a knight.
-
-* Bug fix: In EditPosition mode, dragging a piece onto a square border
-would make it vanish.  xboard wasn't distinguishing this case from
-dragging the piece off the board.  Thanks to Matthew Kidd.
-
-* Removed "static" declaration from yywrap for compatibility with IRIX
-version of lex.  Thanks to stiller@blaze.cs.jhu.edu.
-
-* Added substitutes for bzero, bcopy, and gethostname for Solaris
-SVR4.  Thanks to Michael Grant.
-
-* Bug fixes to queen move disambiguation.  Bugs showed up only when
-promotion resulted in more than one queen on the board.
-
-2.1, patchlevel 8 -- Fri Dec 11 17:54:18 PST 1992 -- mann@src.dec.com
-
-* parser bug fix: It now really works to leave off the piece a pawn is
-promoting to and let it default to queen.
-
-* When starting to observe or play an ICS game, don't draw board in
-initial position and then immediately redraw it in the current
-position.
-
-* Handle ICS messages when an "abuser" forfeits a game by
-disconnecting and when a game is aborted ("removed") by an
-administrator.
-
-* Bug fix: A user move when in LoadGame+Pause mode was resuming the
-game load instead of putting us in force mode.
-
-* It seems that crashes inside sscanf when xboard is compiled with gcc
-(as on IBM PS/2 AIX, mentioned below, and also on VAX Ultrix 3.1) are
-caused by an incompatibility between gcc and the sscanf implementation
-on these platforms.  A workaround is to specify -fwritable-strings to
-gcc (see the gcc documentation).  Added info on how to do this to the
-Imakefile.  Thanks to Tom McConnell for this information.
-
-* Clocks are allowed to go negative.  This is mostly for ICS
-compatibility, but it affects gnuchess mode too.  Also, we give the
-time bonus when a player hits the time control boundary even if his
-flag is already down.  This choice is a bit debatable, but it makes
-things look better when you are in TwoMachines mode and gnuchess's
-time management screws up causing it to exceed its time limit.
-
-* Implemented move legality checking code.  Moves made with the mouse
-or parsed from a file are checked for legality before being made.
-This is mostly in preparation for future extensions, such as
-human-human play.  For now it makes -noChessProgram mode more useful.
-
-* If the user takes back moves, we restore the clocks to the earlier
-settings.
-
-* We now handle the output of the ICS oldmoves command, including
-parsing the game end condition.
-
-* Added autoCallFlag mode.
-
-* Fixed glitches in the medium size outline king and rook bitmaps, and
-touched up the medium size solid king and outline queen.
-
-* bug fix: DisplayMove would not display backwardMostMove - 1.
-
-* Added CallFlag button and removed AcceptMatch.  CallFlag is more
-important with new ICS, and accepting the current match offer is easy
-with the new ICS command "accept" (can be abbreviated "ac").
-
-* LoadGame and LoadPosition display tail of file name (plus index
-number, if any) as title.
-
-* MachineWhite, MachineBlack, and TwoMachines now work properly from
-LoadGame and LoadGame+Pause mode.
-
-* Use o-o and o-o-o to castle on ICS, not 00 and 000.
-
-* Stripped out code for old ICS messages; new ICS is now installed.
-
-* Bug fix: don't offer autosave when paused during LoadGame.
-
-2.1, patchlevel 7 - Fri Dec 11 17:40:56 PST 1992 - mann@src.dec.com
-
-* Track change to "Illegal move" message in new ICS.
-
-2.1, patchlevel 6 -- Tue Dec  8 10:48:44 PST 1992 -- mann@src.dec.com
-
-* Kludged around bug in keeping comment popup where you put it by
-adding borderXoffset and borderYoffset resources that give the width
-of the borders added by the window manager.  Yucch.
-
-* Changed searchDepth kludge back to using "help" instead of "bd"; the
-latter didn't work because the output contains a line starting with
-"White", so we think gnuchess is telling us that White won.  Oops.
-
-* Removed some code that uses an X11R5 feature, XrmGetDatabase.
-Without this, the auto font sizing code is harder to make work, so to
-keep my sanity I had to change it to affect only the fonts that appear
-in the main window and the comment popup, not the other popups.  Maybe
-this is better anyway.
-
-* AcceptMatch button now works after a counterchallenge, too.
-
-* Added code for more variants of messages about games being adjourned
-or aborted.  These messages need to be unified in new version of ICS.
-
-* Added workaround for minor bug in ICS; game number on first board
-can be wrong.
-
-* Removed code to say "refresh n" instead of "refresh"; was broken and
-wasn't needed anyway.
-
-* Added missing casts for compilers that distinguish enums from ints
-and missing cast in connect call.
-
-* Added code to recognize "both sides are out of time" draw message
-proposed for next version of ICS.
-
-* Thanks to Danny Sleator and Joe Peterson for bug reports.
-
-2.1, patchlevel 5 -- Sun Dec  6 19:52:40 PST 1992 -- mann@src.dec.com
-
-* Removed gcc and CDEBUGFLAGS from Imakefile.
-
-* Corrected setting of mode to ForceMoves when game file ends or
-contains an AmbiguousMove or BadMove.  Previous bug was harmless.
-
-* Added AcceptMatch button and mention of 50-move rule for Draw button
-to man page.
-
-2.1, patchlevel 4 -- Sun Dec  6 02:55:42 PST 1992 -- mann@src.dec.com
-
-* Now handles revised messages from new version of ICS.  New ICS is
-not released yet, so this code might change further.  Next patchlevel
-will remove support for old ICS; both are there now.
-
-* Initial processing for a new game being watched or played now
-happens when we see the first board image.  Removes the need to parse
-some messages and unifies some code.
-
-2.1, patchlevel 3 -- Tue Dec  1 19:40:40 PST 1992 -- mann@src.dec.com
-
-* Handles ICS messages "Draw : neither player has mating
-material" and "Draw : White has no material, Black has no time."
-
-* Added AcceptMatch button for ICS mode.
-
-* Fixed bug in previous fix to yylexstr().
-
-* Fixed bugs in code for loading old position files that don't start
-with "#" and for handling case where user asked for nth position in
-file but there aren't that many.
-
-* Handles ICS message "* has restored your old game"
-
-* ResetProc always clears title line now.
-
-* Don't issue just "refresh" when watching a game; use game number.
-Upcoming new version of ICS may need this.
-
-* Added code to try to prevent user from watching and/or playing more
-than one game at a time.  There is a race condition inherent here; if
-we get more than one board from the game before our command to stop
-watching it takes effect, we'll think the user started it again.  Not
-clear how to fix this.
-
-* Redid ParseBoard8 to use sscanf.  Code is a good deal cleaner now.
-Also, we now parse out the game number too, though we don't make much
-use of it yet.
-
-* (Tried to put in a feature that recognizes the current game in a
-game file must have ended when we see the start of a new one, but had
-to disable it because we have too many false hits with the current
-parser, especially in gnuchess listing files.)
-
-* Moves read from game files or received from ICS are now translated
-into canonical algebraic form just like all other moves.  Minor nit:
-If you use Reset while playing or observing a game in ICS mode, the
-game history (including the current board position) is lost, so the
-next move of the current game can't be translated.
-
-* Default fonts now vary with board size, and are chosen by pixel size
-instead of point size (since piece bitmaps have a fixed pixel size).
-
-* Bug fix: An extra Forward was required to skip over time indications
-in game files.
-
-2.1 patchlevel 2 -- Fri Nov 27 23:30:00 PST 1992 -- mann@src.dec.com
-
-* If you move the comment popup, the next time it pops up it will come
-back where you put it.
-
-* Fixed yylexstr() so calls to it can be interspersed with calls to
-yylex().
-
-* Fixed bugs in Forward/Backward while in LoadGame mode.
-
-* Changed Save{Game,Position} functions to append instead of
-overwriting if file exists.  Changed Load{Game,Position} functions to
-deal with multiple games/positions per file.
-
-* Changed load{Game,Position}File resources to trigger automatic load
-on program startup.  Changed save{Game,Position}File resources to
-trigger automatic save after every completed game and on program exit.
-
-* Added autoSaveGames mode.
-
-* Fixed bug with PromoPiece in call to MakeAlg from MakeMove.
-
-* Many changes to get rid of picky compiler warnings and generally
-clean up the code.
-
-2.1 patchlevel 1 -- Fri Nov 27 02:45:00 PST 1992 -- mann@src.dec.com
-
-* A last minute change before patchlevel 0 went out broke
-ParseGameHistory().  Immediately fixed in patchlevel 1.
-
-Version 2.1, patchlevel 0 -- Fri Nov 27 02:00:00 PST 1992 -- mann@src.dec.com
-
-* Uses "time" command of gnuchess 4.0 and following to keep clocks in
-sync.  Still works with older versions without this command; we test
-whether the command is present the first time each chess program is
-started.
-
-* File name dialog pops up under the mouse cursor, so that it's got the
-keyboard focus if the window manager is using pointer focus.
-
-* Attempts to move the wrong color piece or an empty square are filtered
-out in xboard instead of being passed on to GNU Chess or the ICS.
-
-* The reason a game ended is now remembered even if you move backward
-and forward after it ends.  It is forgotten only if you make a move
-(which is as it should be---this is now a different game, which hasn't
-ended yet).  The message saying why the game ended no longer wipes out
-the last move.
-
-* Pause, Backward, Forward, ForceMoves, and EditPosition now work from
-TwoMachines mode.
-
-* Forward and Backward now change only the board display unless you
-are in ForceMoves mode.  Pause mode keeps new moves that are received
-from being displayed on your screen until you unpause (or use
-Forward).
-
-* Added option to ring the bell after opponents' moves.
-
-* Saved games that start from other than the standard initial position
-now begin with a postion diagram as in saved position files.  The
-loader is modified to understand such save files.
-
-* Improved error checking when trying to read from gnuchess.
-
-* Parser understands things that look like time indications, e.g., (0:12),
-instead of popping them up as comments.
-
-* Send "quit" to gnuchess before trying to kill it.  I needed this
-locally because sending a SIGTERM to rsh was not killing the remote
-program on some internal field test systems we have.
-
-* Merged in code from John Chanak to make xboard a front end to the
-Internet Chess Server, and added several improvements of my own.
-(These include parsing end of game messages, loading the current state
-and previous history of a game that's joined in progress via "watch"
-or "load", automatic switch from board style 1 to 8 when needed,
-removing irrelevant buttons and adding some new ones, adding the
-useTelnet and gateway resources, and miscellaneous code cleanup, bug
-fixes, and documentation.)  Many thanks to John for writing and
-contributing the initial version of this code.
-
-Fri Oct 30 20:16:40 PST 1992 (patchlevel 25) mann@src.dec.com
-
-* gnuchess now castles by sending us "o-o" or "o-o-o" (starting with a
-preliminary version of 4.0.pl60 that I have).  Added code to handle
-this.  The old format ("e1g1", etc.) still works too.
-
-* Added code to format moves in normal abbreviated algebraic notation
-(for example, e4, exd4, f8Q, Nf6, 0-0) instead of coordinate algebraic
-(for example, e2e4, e3d4, f7f8q, g1f6, e1g1).  Moves entered with the
-mouse or received from gnuchess are translated into this canonical
-format for display on the message line or in saved game files.  Moves
-read from game files are not translated, however; they are shown and
-saved just as they appear in the file.
-
-Mon Sep 14 13:19:01 PDT 1992 (patchlevel 24) mann@src.dec.com
-
-* It's not really correct to write an ep capture of a pawn on e5 as
-fxe5; this should be written as fxe6 because e6 is where the capturing
-pawn ends up.  Nevertheless, the parser now interprets fxe5 as the ep
-capture f5xe6 unless there is a pawn on f4, in which case it
-interprets fxe5 as f4xe5.  By design, the parser does not flag fxe5 as
-ambiguous if there are pawns on both f4 and f5; instead it prefers the
-more legitimate f4xe5 interpretation.
-
-* A move like fxe6 or fe6 is now interpreted as an e.p. capture of the
-pawn on e5 if there is one there and e6 is empty.
-
-* A move like fxe5 can no longer be interpreted as an e.p. capture if
-there isn't a pawn on e5 to be captured.  Previously this could happen
-erroneously if there were pawns on both f4 and f5, and the f4 pawn was
-capturing a piece on e5.
-
-* The parser no longer munges the move it is parsing; in the past, for
-instance, it would remove the "x" from a move like dxc5 before echoing
-it to the screen.
-
-* The parser now detects when a move is ambiguous and returns an
-error, instead of arbitrarily choosing one possibility as it used to.
-
-Mon Aug 10 18:40:47 PDT 1992 (patchlevel 23) mann@src.dec.com
-
-* Added code so parser can handle fully qualified algebraic, e.g.,
-Ng1-f3, N/g1-f3, Ng1f3, or even Pe2-e4.  The "P" and "/" work only for
-fully qualified moves, not generally.
-
-* Fixed parser bugs in handling moves with rank or file disambiguator,
-e.g. N1f3 or Ngf3.
-
-Mon Jul  6 17:55:32 PDT 1992 (patchlevel 22) mann@src.dec.com
-
-* AIXV3 patch from Tom McConnell; thanks!
-
-* After hitting the Backward button we see the last move made instead of
-the word "Pausing" displayed.
-
-* Fixed a couple of problems compiling on IRIX; thanks to Michel Arsenault
-and Alan Walsh for bug reports and help with fixes.
-
-* Added optional display of algebraic notation coordinates along left and
-bottom edges of board.  This was inspired by some code from Jean-Christophe
-Engel; thanks!
-
-* Swapped EditPosition and Pause buttons to reduce danger of losing the
-game in progress by hitting EditPosition when you wanted Backward.  Thanks
-to Ove Lundberg for complaining (though it bugged me too).
-
-* Despite one complaint, I kept the feature of changing both clocks when black
-makes time control, rather than changing each individually when the player
-involved makes it.  This is to avoid having it look like White is way ahead on
-time while Black is thinking about the last move of the time control period
-(i.e., when White has made time control but Black hasn't yet).
-
-* Corrected clocks to work as in real tournaments.  Time is *added* when you
-reach time control; previously the clocks were simply set to the length of the
-new time period.  Also, when a player's flag falls, he still does not receive a
-new time allotment at the next time control, but his opponent does still
-receive more time if *his* flag has not fallen; previously, time controls were
-ignored for both players if either flag fell.  I forget who reported this bug.
-
-* Added a small ESIX patch from Kayvan Sylvan.
-
-Mon Jun 22 13:24:38 PDT 1992 (patchlevel 21)
-
-* Added some SVR4 support code from Ronald Cole.  It's Greek to me.
-
-* Note:  Stephen Meatheringham reports a bug causing xboard to crash with an
-error from the X server when run on a Sun Sparcstation IPX with Solaris 1.0.1
-and OpenWindows 3.0.  This bug has not been tracked down yet.
-
-* Fixed a problem with ATTENTION code.  On some operating systems, you have to
-be even more cautious about when you send a SIGINT to gnuchess, because the
-signal handler gets deinstalled each time it is used, and gnuchess does not
-reinstall it immediately.  In particular, if you send a SIGINT and make an
-illegal move or ask for a hint, gnuchess does not reinstall the handler until
-*after* you make your next move, so you had better not send a SIGINT before
-it.  I put a workaround for this case into xboard; I hope there are no more.
-
-* The ATTENTION code is needed when compiling for the ESIX operating system,
-because ESIX has a bug in the FIONREAD ioctl, so the code in gnuchess that
-lets you interrupt its thinking on your time just by typing in your move does
-not work.  Perhaps gnuchess will have a workaround for this eventually.
-
-* Fixed yet another bug in using XtGetValues; code to inhibit shell resizing
-was leaving a null pointer as the place to store the current sizes.
-
-* Man page fixes: corrected -sl to -sd, updated LIMITATIONS.
-
-* Added include of <sys/time.h> conditional on HAS_GETTIMEOFDAY.  I hope this
-works for all systems; on mine, <time.h> and <sys/time.h> are the same file,
-but with an #ifndef that makes it harmless to include both.
-
-* Thanks for reports from Mike Pearlman, Stephen Meatheringham, Kayvan Sylvan,
-d87-mal@nada.kth.se, Urban Koistinen, and Ronald Cole.
-
-Mon Jun  8 11:39:18 PDT 1992 (patchlevel 20)
-
-* Documented default value of initString and explained what it means.  This
-paragraph also serves to inform the user that xboard by default will tell
-gnuchess to think on his time, something one user apparently didn't understand.
-
-* Redid -searchDepth (formerly -searchLevel) and -searchTime code.  They both
-work correctly with gnuchess 3.1 now.  The -searchDepth option also works
-correctly with gnuchess 4.0.  The -searchTime option does not work with
-gnuchess 4.0.pl50 or earlier because those gnuchess versions do not have a
-working searchTime feature.  Instead of having xboard do a half-baked emulation
-of this feature by using a 1-move time control, I will be submitting a patch to
-the gnuchess folks to restore the feature as in 3.1.
-
-* Improved clock code.  It now keeps accurate track of fractional seconds of
-clock running time, if your system has gettimeofday(); if not, it is generous
-about them---if a clock has been going for n.m seconds when it is stopped, only
-n seconds are charged.  Previously, xboard would charge one second immediately
-when a clock was started, so if n.m had elapsed when it was stopped, n+1 would
-be charged.  This should stop xboard from thinking gnuchess has let its flag
-fall on the last move of a time control, as it often did before.  I also
-improved the comments and condensed the code a little.  I hope there are no
-systems that have X11 and don't have gettimeofday(), but if there are, I'd like
-to know what to replace it with.
-
-* "Flag dropped" messages now show up on the top line, beside the clocks, so
-that they don't obscure more interesting messages on the second line.
-
-* Fixed confusion of NULL and '\000'.
-
-* Include time.h to get ctime() declaration.
-
-* Fix to "parser bug" messages in parser.l.
-
-* Changed code to work with old-fashioned tolower() macro that requires its
-argument to be an uppercase letter.
-
-* Minor fix to some usage error messages; was reversing program name and
-erroneous argument value.
-
-* Thanks to Mitch Wright, Ranier Orth, and Henrik Schmiediche for bug reports.
-
-Fri Jun  5 13:06:08 PDT 1992 (patchlevel 19)
-
-* Note: xboard does not seem to work when compiled with gcc 1.40 on a
-PS/2 running AIX.  It crashes at the sscanf in line 768 of xboard.c.
-You can work around the problem by specifying the -timeControl option
-on the command line instead of defaulting it.  This does not seem to
-be a bug in xboard itself; it runs okay on PS/2 AIX when compiled with
-MetaWare High C.  [But see 2.1.pl8 above.]
-
-* Removed bogus files from distribution.
-
-* Changed variable name that conflicted with SVR4 ttyname function.
-
-* Thanks to Christoph Strozyk for another bug report, and to several
-of the folks mentioned under patchlevel 18 for testing it.
-
-Wed Jun  3 17:50:37 PDT 1992 (patchlevel 18) mann@src.dec.com
-
-* Added an include of sys/fcntl.h to pick up the definition of O_RDWR for
-System V users.
-
-* Fixed a bug in CatchPipeSignal; was testing the wrong variable to determine
-which chess program got the signal.
-
-* Removed the declaration of strrchr, which was causing problems for some
-people, and added an include of <string.h> or <strings.h> instead.
-
-* Fixed a bunch of type errors uncovered by compilers that check more carefully
-than the one I was using.  I just patched many of them with casts---typically
-cases where a function didn't take the same number and type of arguments as the
-X header file prototype said it should---because I didn't see any other way to
-fix them.  The versions of the X header files that I have don't actually have
-full prototypes for these function types; they declare only the return type and
-just give the argument types as comments.
-
-* InitChessProgram returns immediately if chess program died while we were
-waiting for it to say "Chess".  I think this fixes a bug that could make xboard
-crash or go into an infinite loop printing "Warning: Select failed; error code
-9" if gnuchess crashed there.
-
-* Removed code that tries to put the file descriptor used to read messages from
-gnuchess into nonblocking mode.  I don't see how this kludge could ever have
-fixed the problem it was intended to (see below), and it seemed to be causing
-a race condition when we were waiting for the initial message from gnuchess
-after it started up.
-
-* Thanks to Richard K. Lloyd, Konstantinos Konstantinides, Mark
-Seiden, Erik Schoenfelder, Andreas Stolcke, Rainer Orth, Henry Thomas,
-and Kris Van Hees for bug reports and help with fixes.
-
-Sun May 31 08:00:00 PDT 1992 (patchlevel 17) Bart Massey bart@cs.uoregon.edu
-
-*  'xboard' suffered from a couple of serious bugs.  An initial
-   size needed to be given to the message label to avoid a race
-   condition (!) so I gave it some text (otherwise occasionally
-   xboard would fail because the message widget was 0 width under
-   MIT X11R4).  The sizes needed to be Dimension, not int, because
-   they were written in by Xt -- on my big-endian box Dimension
-   is short, causing chaos.  Also, I hacked a declaration in for
-   strrchr() to shut the compiler up -- this is arguably a kludge,
-   but I couldn't think of anything better; maybe you can.
-
-Fri May 22 13:40:50 PDT 1992 (patchlevel 16)
-
-* First real (non-beta) release of version 2.0.
-
-* Added GNU copyleft notices covering version 2.0 enhancements.
-
-Thu May 21 12:30:09 PDT 1992 (patchlevel 15)
-
-* Removed -g from Imakefile.
-
-* Added casts in parser.l to prevent warning messages from some C compilers.
-
-* Bugfix: code to exit if chess program couldn't be started had bug in error
-message printing.
-
-Tue May 19 11:58:06 PDT 1992 (patchlevel 14)
-
-* Fixes one small bug: If LoadGame does not find a game in the file, it resets
-xboard to BeginningOfGame mode (as if the Reset button was pressed), instead of
-leaving it in LoadGame mode.
-
-Mon Apr 13 18:32:27 PDT 1992 (patchlevel 13)
-
-* Improved error handling when gnuchessx crashes.  Now displays a message and
-enters EndOfGame state without exiting.  This should help with diagnosing
-gnuchessx problems, since the position and move history are not lost.
-
-* Debugged man page.
-
-Version 2.0 -- Thu Apr  2 16:04:54 PST 1992 (patchlevel 12)
-
-* Added small 40x40 pixel pieces; board size now specified as small, medium, or
-large. 
-
-* Improved man page.
-
-* Saved position files now say "white to play" if it's white's move.
-
-* SavePosition while in EditPosition mode now gets side to play right.
-
-* Made "Pawn" the default on edit position menus.
-
-* Removed "To play" from edit position menus, since it's redundant.  Left
-support code in so it can be restored if someone wants it.
-
-* Tightened parser's definition of a move number to help further with skipping
-over stuff before the first move.
-
-* Put back feature of skipping over stuff in game files before a start of game
-marker.  This helps when loading electronic mail messages that have things
-like "00" in the header (looks like castling), or that talk about moves in
-running text before the actual game score.  Tradeoff is that we can't load
-games that don't either have move numbers or say "gnuchess game" just before
-the moves.
-
-* Changed version number to 2.0 because others have used "1.3" for patched
-versions of 1.2.  Display version number and patchlevel at startup.
-
-Thu Apr  2 15:30:22 PST 1992 (patchlevel 11)
-
-* Bugfix:  Match started with TwoMachines button now handles the case where
-user loaded/edited a position *and* forced some moves.
-
-* added error message feedback to many cases where the user's button press is
-rejected because it isn't allowed in the current mode.
-
-* added -noChessProgram option to allow use as a passive chessboard without
-gnuchess, replacing old buggy scheme that tried to do this automatically when
-gnuchess was not found on the search path.
-
-* parser accepts "=" in front of promotion piece
-
-* parser accepts ":" notation for captures
-
-* Removed SwitchSides button to make room for EditPosition.  Left code in
-place, ifdef'ed out.
-
-* Added EditPosition mode.
-
-* Reformatted xboard.c to eliminate long lines.
-
-* Promotion popup now appears near rank to which pawn is moving.
-
-* UI improvement: Button representing current program mode is kept highlighted.
-
-* Bug fix:  Hint button is now disabled when machine is on move.
-
-Sat Mar 21 14:57:37 PST 1992 (patchlevel 10)
-
-* TwoMachines now works from MachineWhite or MachineBlack mode.
-
-* ForceMoves and Backward/Forward now work at the end of a game started by
-the TwoMachines button.
-
-* Sends o-o or o-o-o to gnuchess instead of O-O or O-O-O.
-
-* Bug fix:  SwitchSides button is now disabled when machine is on move.
-
-* Added -searchLevel option and corrected handling of -searchTime to reflect
-the way gnuchess really handles command line options instead of what the
-documentation used to say.  Allowed optional ":seconds" on times.
-
-Tue Mar 17 21:00:35 PST 1992 (patchlevel 9)
-
-* Removed non-working code that tried to recover when a remote chess program
-could not be started; now exits with a message instead.
-
-* Now waits for chess program to print its first message (normally "Chess")
-before sending it any commands.
-
-* Matches between two machines can now start from a black-to-play position or
-black-to-play opening.
-
-* Bug fix: The program would sometimes lose track of the board position after
-the end of the game, drawing a board full of white pawns next time it got an X
-redraw request.  Now fixed.
-
-* Cleaned up handling of illegal moves in game files.  Now we just stop reading
-and go into ForceMoves mode.
-
-* Saved games against gnuchess indicate who won (restored and debugged 1.2
-feature). 
-
-* Setting -searchTime turns off -clockMode.
-
-* My trick for setting up a black-to-play position broke in the transition from
-gnuchess 3.1+ to 4.0.  Installed a different trick that works with both.
-
-* Bug fix: Was clobbering memory by mallocing one byte too few for the file
-name in SetupPositionFromFileProc.  This usually resulted in a crash on the
-second attempt to load a position from a file.
-
-Mon Mar 16 16:49:00 PST 1992 (patchlevel 8)
-
-* Game and position files are saved in CHESSDIR as well as loaded from there.
-We actually chdir there, so gnuchess listing files also wind up there.
-
-* Underpromotion moves from gnuchess really work now.
-
-Sat Mar 14 14:55:24 PST 1992 (patchlevel 7)
-
-* Cleaned up lots of bugs and kruft in parser.l.  It's a wonder the old version
-worked at all.  Improved rejection of random text interspersed with the moves.
-
-* Relabeled buttons to reduce confusion (Play From File --> Load Game;
-Setup From File --> Load Position).
-
-* Bug fix:  Doesn't exit at the end of a game that was started by pressing
-the Two Machines button.
-
-* Bug fix:  Doesn't get confused if you hit Machine Black (White) while
-the machine is already playing black (white) and is on move.
-
-* Prints "White to play" or "Black to play" after loading a position file.
-
-* Bug fix:  No longer hangs if no start-of-game is found in a game file.
-
-* More permissive about game file format.  The first line is not assumed
-to be a header comment unless it starts with "#".  We don't insist on
-seeing a "1." before the first move.
-
-* Added pop-up dialog to allow underpromotion.  Moving a pawn to the last rank
-pops up a dialog to let you select what piece to promote to.  Also added code
-to handle underpromotion moves from gnuchess or from a game file correctly.
-
-* Added code to send SIGINT to gnuchess before trying to move, if gnuchess
-might be busy thinking on our time.  The code is ifdef'ed out because it's
-not necessary; only beta-test versions of gnuchess 4.0 at patchlevel 19 or
-below require it.
-
-Mon Feb 24 20:10:22 PST 1992
-
-* Merged fixes received from Stuart Cracraft and Mike McGann, to iconic mode
-and to ShutdownChessPrograms.  (They both sent the same fixes.)  I did not
-install the change that removed "easy" from the initialization string, so
-xboard will still try to run gnuchessx in "hard" mode (thinking on opponent's
-time) by sending this command.
-
-Version 1.3 -- Thu Dec 19 18:19:00 PST 1991  mann@src.dec.com (Tim Mann)
-
-* I've fixed a slew of bugs in this version of xboard:
-
-* You can now back up from the end of a game, even if gnuchess was playing
-against you.  Since gnuchess exits upon mate or draw (when it's not in force
-mode), this feature works by starting up a new copy of gnuchess and feeding it
-the saved starting position and moves.  Drawback: the new gnuchess starts with
-clocks at the beginning of a fresh time control.
-
-* Note: the "force" command to gnuchess is a toggle.  I fixed a couple of
-places in xboard where "force" was being issued when gnuchess was already in
-force mode, which resulted in chaos.  I don't know if they were in 1.2 or if I
-added them myself in the course of putting in new features.
-
-* ForceMoves button is now legal in PlayFromFile mode.  It closes the game file
-and lets you force moves (or go Backward) from whatever position you've
-reached.
-
-* The parser now recognizes "white resigns" and "black resigns" (in any
-combination of upper and lower case, with or without the closing "s").  These
-used to be misinterpreted as meaning "white wins" or "black wins" respectively!
-Added "1 - 0" and "0 - 1" as equivalents for "1-0" and "0-1".
-
-* I removed the parser feature of considering "!" as a comment delimiter.
-"!" is so common as an annotation in game scores that this feature seems like a
-very bad idea.
-
-* Added a wait() after each successful call to kill() to avoid leaving zombie
-processes around.
-
-* Removed the feature of putting an indication of how the game ended into the
-internal move list when playing from a file.  The only benefit of this was that
-it would get written back out if you saved the game at that point.  This
-feature doesn't seem too useful, since you are unlikely to save a game you've
-read in without making any changes, and it caused a lot of problems in the code
-and user interface.  The end condition is still displayed as a message when
-it's first read in from the file.  End conditions when playing against gnuchess
-are still saved, too.
-
-* programName is now the last file name component of argv[0], not all of it.
-
-* xboard.c got three compiler warnings due to arguments that didn't match the
-prototypes on X toolkit functions.  I got rid of them by adding some casts, and
-adding extra unused arguments to the ReceiveFromProgram function.
-
-* As I received it, the distribution had an extra period glued on the front
-of every line that started with a period.  This broke the manpage in an
-obvious way.  It also broke parser.l in a nonobvious way that stopped
-PlayFromFile from working.
-
-* Fixed one or two bugs where the clock was started when it shouldn't have
-been.  I think one example was if you tried an illegal move in ForceMoves mode.
-
-* Now starts the machine's clock if you hit MachineWhite when white is on move
-or MachineBlack when black is on move.
-
-* Now updates the to-move indicator (highlight on clock display) when you use
-Forward/Backward or ForceMoves.
-
-* gnuchess 3.1+ has a bug that makes it try to think on its opponent's time
-even when in force mode; this causes problems with xboard's SetupFromFile
-command because gnuchess's saved hint move is garbage after the new position is
-loaded, so gnuchess prints out an error message when it tries to think about
-what it would do if the user made this move.  Here is a patch for gnuchess
-3.1+:
-
-*** nondsp.c~   Mon Dec  2 12:37:18 1991
-*-- nondsp.c    Thu Dec 19 15:36:06 1991
-***************
-*** 1223,1229 ****
-    ok = flag.quit = false;
-    player = opponent;
-    ft = 0;
-!   if (hint > 0 && !flag.easy && Book == NULL)
-      {
-        fflush (stdout);
-        time0 = time ((long *) 0);
-*-- 1223,1229 ----
-    ok = flag.quit = false;
-    player = opponent;
-    ft = 0;
-!   if (hint > 0 && !flag.easy && Book == NULL && !flag.force)
-      {
-        fflush (stdout);
-        time0 = time ((long *) 0);
-
-* SavePosition/SetupFromFile now handle black-to-play positions.  If it's
-black's move in a saved position, the line "black to play" is printed
-immediately after the board display.  Upon loading a position, xboard
-looks for "black" at the beginning of this line to determine whether it's
-black's move.
-
-* SetupFromFile now leaves you (effectively) in ForceMoves mode.  This
-eliminates some cases where the program would get into an inconsistent state,
-and hopefully is more intuitive for the user, too.
-
-* PlayFromFile now leaves xboard in ForceMoves mode after playing through all
-the moves in the file.  You can use Backward/Forward, make moves, get gnuchess
-to join the game with MachineWhite or MachineBlack, etc.  The game file can end
-with either white or black to play.
-
-* Backward/Forward now seem to work in all cases.  Previously using these
-buttons during a game against the machine would get xboard out of sync with
-gnuchess's idea of what was going on, resulting in chaos.  Now using these
-buttons puts xboard in ForceMoves mode; you can bring gnuchess back into the
-game using the MachineWhite or MachineBlack buttons.
-
-Thu Jun 27 15:06:25 PDT 1991
-
-  * Remove comment popups during a reset.
-
-  * Bug in my forward move fix.  Didn't work for playgamefile mode.
-
-Thu Jun 20 15:04:06 PDT 1991
-
-  * Can't do a backward move when it isn't your turn because gnuchess
-    gets confused.  Similar bug for forward move.  Do a bunch of moves,
-    back up move and go forward.  These get filtered out now.
-
-  * Put easy back into the initString.  This DISABLES easy mode which by
-    default is ON.
-
-  * New-line wasn't always being added to forward move strings sent to gnuchess.
-
-  * Parsed comments as [ ..............text follows ] into d7d5
-
-  * Long game file comments cause core dumps on HP systems.
-
-  * Multiple uses of the get positition file button got confused
-    on the second click.
-
-  Minor fixes to the 1.2 release
-
-Version 1.2 -- Tue Jun 11 17:14:12 PDT 1991
-
-  * For version 1.2, Jeff Kenton, Richard LLoyd, David Jensen, Martin D.,
-    Bill Schmidt, Scott Hemphill, Paul Vaughan and Bill Shauck all found
-    a lot of bugs that we put into xboard just to see if they were paying
-    attention.  They were.
-
-  * Changed the protocol that xboard uses to work with the new version of
-    gnuchessr.
-
-  * There was an off by one error with the clock resetting code.  Also,
-    the clock display highliting was wrong.  Thanks to Bill Shauck for
-    pointing these out.
-
-  * enumerations are not really integers on some C compilers.  I added casting.
-    The new version of gnuchess expects the "go" command for two machine
-    and machine plays white cases.  The whiteString resource is for
-    compatibility with previous gnuchess versions which get confused by go.
-    Thanks to Martin D. for catching these.
-
-  * Fixed a bug where the checkmate message wasn't being parsed and xboard
-    kept playing.  Also, the message was added to game file if saved.
-    Thanks to Scott Hemhill for pointing this out.
-
-  * Fixed a bug where saving a long game, resetting and saving a short game
-    resulted in appending the end of the long game to the short one.
-    If a game is just being played out and there is no reason for gnuchessr
-    to be used, ignore pipe signals.  This allows people to use xboard
-    as a chess board without need for gnuchess.  Also, trivially bad moves
-    such as e2e2 are not passed on to gnuchessr but instead ignored out of
-    hand.  This allows people using xboard as a chessboard with gnuchessr
-    to pick a piece up, think and put it back down without making a move.
-    Thanks to Jeff Kenton for pointing these out.
-
-  * Added the CHESSDIR environment variable.  Game and position files are
-    found in this directory.  If this variable is not declared, then the
-    current directory is used.  File names starting with / are treated
-    specially.
-
-  * The bitmap file names were changed so that none exceeded 14 characters.
-    This is necessary for R5.
-
-        fcntl(from_prog[0], F_SETFL, O_NDELAY);
-
-    The xboard fix was to set non-blocking i/o on the read pipe for gnuchessr
-
-        printz ("Illegal move (no matching move generated)");
-
-  * fixed a problem with the new version of gnuchessr where xboard wasn't
-    getting gnuchessr error messages for illegal moves.  The problem seems
-    to be fixed *without* any gnuchess changes but this is likely to be
-    highly system dependant.  There should be a new line on line 246 of nondsp.c
-
-  * -iconic doesn't work at all now.  The Iconify() does work.  This was
-    a tradeoff and it is really an Xt bug.
-
-  * Fixed a compiler warning for gcc and an error for the IBM RT compilers.
-    This is the VOID_PROC macro in xboard.h.  Thanks to David Jensen for this.
-
-  * If the DisplayWidth or DisplayHeight is less than 800, use small size mode.
-    Also the size of the name widget was reduced from 500 pixels to 400 pixels
-    because in small size mode there was a gap on the right.
-    Changed the default font from fixed to helvetica_oblique14 to:
-        **-helvetica-bold-r-normal--14-*-*-*-*-*-*-*
-    helvetica_oblique14 is a font alias not on all R4 systems.
-    Curiously enough, the 17 point is not available on 75dpi systems
-    and the 18 point font is not available on 100dpi systems.
-    Thanks to Richard K. Lloyd for pointing these out.
-
-  * Minor hacks to work with R5 alpha.  Had to add an event handler to the
-    boardWidget to get translations to work.  This may go away with the real R5.
-    Added <Message>WM_PROTOCOLS: QuitProc() for R5 ICCCM compatibility.
-
-  * If the first character of the file is not `1' then the first line
-    of a game or position file is displayed as the name in a label widget.
-
-  * Added a PopUp dialog for getting file names.
-
-  * Modified the code to use the R4 routines rather than R3 compatibility.
-
-  * Changed the forwards/backwards/readgamefile code to allow a play to step
-    back and forth in a game.  If he steps all the way to the beginning
-    he has to restart the game.  If he gets into a mated position, same problem.
-
-  * Moved the man page from xboard.1 to xboard.man.  This makes imake man page
-    installs work correctly.  Thanks to Richard K. Lloyd for pointing this out.
-
-  * Corrected the queening code.  XBoard was sending the wrong syntax.
-    It was sending for example h8(Q) when it should have been sending h8q.
-    Thanks to Paul Vaughan and Mike McGann for pointing this out.
-
-  * Added a lex parser for algebraic games.  It should be easy to use the parser
-    for other interfaces such as the Microsoft Windows version.
-    It parses comments of the form [anything] and ! to the end of a line.
-
-Version 1.1 -- Mon Jan  7 14:46:03 PST 1991
-
-  * Roger Dubar, Konstantinos Konstantinides, Wolfgang S. Rupprecht,
-    Paul Scowen, Mvh Smidt and Kayvan Sylvan all helped immensely during
-    beta-testing.
-
-  * older non-ANSI versions of Sun compilers complain vociferously.
-
-  * the remoteShell resource was added for HP-UX systems
-    and other systems where the remoteShell isn't rsh.
-
-  * -iconic doesn't work properly.  If XBoard is opened iconic then
-    iconifying it later with a keystroke doesn't work.  I think
-    this is an Xt bug.
-
-  * For systems with smaller screens, XBoard can use smaller pieces,
-    and a smaller board.  -bigSizeMode False uses a smaller set of pieces.
-    These are scaled versions of the large pieces.  They look ok but could
-    be improved.
-
-  * getlogin() does not work in all cases.
-    It was replaced by getpwuid(getuid())->pw_name).
-
-  * Warning messages get displayed in the message box.
-
-  * Any button restarts a paused game.
-
-  * Kayvan Sylvan contributed a patch for ESIX.
-    It seems that select() on pipes is broken on his system.  We declined
-    to incorporate his patch though, because it was a work-around for
-    something that was broken on one system, and selfishly, that system
-    was not my own.  Nevertheless, it is likely that other System V users
-    on PC's may need to use this patch and it is is included as the file
-    ESIX.patch.  To use it, type
-
-        patch xboard.c ESIX.patch
-
-  * Fixed a bug where hint didn't work.  The local version of gnuchessr
-    had been hacked.  The fix was to clone stderr and stdout for gnuchessr.
-
-  * Fixed a bug where a player could play after a game had been finished.
-
-  * The bitmaps have been pushed into the bitmaps directory.
-
-  * Substantially rewrote and simplified the Two Machine code.
-
-  * Added StrStr() because many systems don't have this ANSI function.
-
-  * Added keyboard equivalents.  Added an iconify keystroke, C or c.
-
-  * Works with gcc now.  gcc complained about casting float constants
-    as XtPointers.
-
-  * Detect if the visual doesn't support color.  If so, run in monoMode.
-    An alternative would be to detect grayscale visual and use a collection
-    of gray user interface colors.
-
-        XBoard.clockMode:    False
-
-  * For people who don't like or use chess clocks a clockMode switch
-    has been added.  It is on by default.  It can be turned off in the
-    .Xdefaults file with
-
-  * Added a declaration, xtVersion, which will quickly break on R3 Intrinsics.
-
-  * Hal Peterson contributed a new Imakefile.
-
-  * Rewrote DisplayClocks().
-
-  * Rewrote TwoMachinesPlay mode.
-
-  * Konstantinos Konstantinides added the -searchTime option.
-
-  * Substantially rewrote and simplified the clock code.  If a game was paused
-    and then resumed, the clocks were out of sync.
-
-  * Fixed a bug in HandleUserMove() where the user could make a move while the
-    machine was thinking.  The fix detects and ignores these moves.  onMove
-    was not being used and was removed.
-
+ChangeLog for XBoard/WinBoard\r
+\r
+* 04/15/2009: Updated the winboard.rtf of 4.3.15 with the 4.3.16\r
+additions, and a more fitting description of ICS-analysis mode.\r
+\r
+* 04/15/2009: Added internationalization to xengineoutput.c and\r
+xoptions.c. Fixed missing */ in xboard.c.\r
+\r
+* 04/13/2009: transferred all changes since 4.2.7 to 4.3.pre16, to make \r
+4.4.pre1, which should lead to a full merger of the 4.2 and 4.3 line\r
+\r
+* 02/28/2009: fixed an error in the parser. This should fix bug #22812. \r
\r
+* 06/12/2005: bugfix some more possible buffer overflows. \r
\r
+* 06/27/2004: added simple icsEngineAnalyze for xboard\r
+\r
+* 06/26/2004: added icsEngineAnalyze for winboard: Analyze observe games \r
+with a chessprogram on a Internet Chess Server (ICS) \r
+\r
+* 02/12/2004: Bugfix ICS interaction console crashed while chess \r
+engine starting and user type in some stuff. We wait now to finish \r
+the engine boot.\r
+\r
+* 02/11/2004: Winboard: Added color lines for the ics interaction \r
+console if zippy used \r
\r
+* 02/09/2004: Added mousewheel support for winboard. Play moves \r
+backward and forward with the mousewheel. \r
\r
+xboard/WinBoard 4.2.7 -- Fri Nov 28 13:36:00 PST 2003 -- Tim Mann\r
+\r
+* 11/26/2003: In WinBoard, setting the -debug flag now logs ICS output\r
+to WinBoard.debug too.  (This isn't needed in xboard because ICS\r
+output already goes to stdout, so it's easy to capture along with the\r
+debug output on stderr.)  This was issue #280 in the ToDo file.\r
+\r
+* 11/23/2003: Cleaned up some minor problems in cygwin.mak.  Thanks to\r
+Hans Werner Strube for the problem report.\r
+\r
+* 11/23/2003: Updated the default list of chess servers in\r
+winboard/defaults.h.  Deleted two that appear to be dead and added a\r
+new one that is active.\r
+\r
+* 11/19/2003: Swapped icon_white.bm and icon_black.bm in XBoard.\r
+Hopefully this will get them the right way around by default on more X\r
+window managers.  I wish I understood this better.\r
+\r
+* 11/18/2003: Implemented a simple 32-bit random number generator for\r
+WinBoard, replacing the Windows rand(), which ranges only up to\r
+0x7fff.  Formerly on Windows, only zippy.lines sayings that started in\r
+the first 32767 bytes of the file could ever be used.  This was issue\r
+#505 from the ToDo file.\r
+\r
+* 11/16/2003: The xboard man page and info files are now built from a\r
+common set of texinfo source files, and the xboard man page now covers\r
+cmail as well.  Formerly, ever since the texinfo file was first\r
+contributed to the project, it was separate from the man page and the\r
+two files had to be updated in parallel, making for a maintenance\r
+nightmare.  To make combining the files possible, I took the Perl\r
+script "texi2man" from the GNU Units project and added support for a\r
+larger subset of the texinfo markup language.  I then carefully\r
+compared the old man page and old texinfo file to make sure the latest\r
+and clearest words survived into the new combined texinfo file.  It\r
+would be great to merge in WinBoard's help file too, but that's a\r
+larger project.  It would have to be heavily conditionalized to\r
+deal with differences in features between XBoard and WinBoard.\r
+\r
+* 11/15/2003: Cleaned up and applied a small patch from Daniel\r
+Mehrmann, to stop overly long PVs in thinking output from causing a\r
+buffer overflow crash in backend.c.\r
+       \r
+* 11/5/2003: When a chess engine sends a "telluser" command (including\r
+the cases where "tellall" or "tellopponent" acts like telluser), the\r
+information now goes into a nonmodel popup that is automatically\r
+dismissed when the user clicks anywhere on the board.  This fix is\r
+more significant on WinBoard, where formerly you got a fully modal\r
+dialog that had to be dismissed by clicking on OK before anything else\r
+could happen.  The bug was issue #406 in the ToDo file.\r
+\r
+* 11/1/2003: Removed email addresses from this file to reduce spam\r
+load, as it gets linked to from the Web.\r
+\r
+* 11/1/2003: Updated READ_ME and winboard/READ_ME.txt.\r
+\r
+* Modified xboard and winboard makefiles to be able to build the\r
+project in the new combined directory structure.\r
+\r
+* Applied a small security fix to pxboard, from Martin Maeok.\r
+\r
+* Fixed a bug in the game list dialog.  The change in 4.2.6 to opening\r
+games in text mode (meant to avoid getting extra \r's into comments)\r
+caused a new bug in determining seek offsets when parsing a game file\r
+to form the game list.  Also, the change was incomplete; on some code\r
+paths games were still being opened in binary mode.  Thanks to Lenik\r
+Terenin for reporting the offset bug.  I've now gone back to always\r
+using binary mode when reading game files, and I've fixed the comment\r
+bug by adding code to remove \r's from parsed comments explicitly.  I\r
+still use text mode for writing game files so that games written by\r
+WinBoard will have Windows-style line endings.\r
+\r
+* Fix for minor bug in WinBoard installer.  If you chose a non-default\r
+destination directory, the default directory was still used for a\r
+couple of unimportant things, namely setting the App Paths registry\r
+keys (unused by WinBoard) and trying to copy the existing WinBoard.ini\r
+file to WinBoard.old.  I inherited this bug from the InstallShield 5\r
+sample template.  Thanks to "l.d." for noticing the incorrect keys.\r
+\r
+* Patch from Chris Priest: when two engines are being run through rsh,\r
+avoid reusing the same stderr port for both.  I'm not sure why this\r
+should be needed, but it's harmless, at least.\r
+\r
+* Bugfix: The kludge to deal with old engines that give an error\r
+message because they don't know the "st" command was too sloppy; it\r
+could hit on an "st" substring anywhere in an error message.  GNU\r
+Chess 4 is the only engine I know of where the kludge was needed, so I\r
+changed the kludge to match a longer, more GNU-specific string.\r
+\r
+* Changed the WinBoard self-extracting installer to choose a unique\r
+temporary subdirectory name within the Windows temp directory instead\r
+of always putting wb-setup directly in temp.  Besides being better\r
+practice, this avoids the need to deltree wb-setup first, which\r
+occasionally alarms someone who thinks that deltree is only used by\r
+trojans to delete all your files.  (Yes, I'm serious.)\r
+\r
+* Fixed a bug where FICS-style "wild/0" strings were not parsed as the\r
+proper wild type.  The "/" was not being skipped.\r
+\r
+* Fixed a WinBoard bug where temporary files created by game\r
+copy/paste were being created in the root directory of the current\r
+drive instead of the TMP directory and were not always deleted on exit.\r
+\r
+* Fixed a small bug in winboard.c's ErrorDialog() function.  Thanks to\r
+"Ron" (no last name given).  The bug might have caused a problem when\r
+pressing OK or Cancel in an error dialog when more than one error\r
+dialog was being displayed, but I'm not really sure.\r
+\r
+* Removed a hack that worked around a bug in very old versions of\r
+Crafty, where it would sometimes reply "illegal move" to a "."\r
+command.  The hack kept us from recognizing real illegal move messages\r
+in analyze mode from engines that don't respond to the "." command.\r
+Thanks to Fabien Letouzey for the report.\r
+\r
+* Fixed a bug in the xboard version of GetDelayedEvent.  It would\r
+return the most recently scheduled event even if it had already fired.\r
+This caused at least one visible error: in -ics -xreuse mode, starting\r
+the engine again and seeing another "feature done=1" would re-run the\r
+initialization code in InitBackEnd3, including the code that opens the\r
+connection to ICS.  The WinBoard version didn't have this bug.  Thanks\r
+to Bob Hyatt for the bug report.\r
+\r
+* The promotion popup for ICC wild 26 (giveaway) now includes King.\r
+Thanks to Fredrik Josefsson for the bug report.\r
+\r
+* The first game in a file (or being pasted from the clipboard) can\r
+now start with a bare move -- no PGN tags, no move number "1", etc.\r
+Suggested by Shane Harrelson.  One could imagine taking this farther\r
+and accepting something like "e4 e5 1/2-1/2 d4 d5" as two games, but\r
+I haven't done that.\r
+\r
+* Bug fix: xboard didn't really accept a paste of multiple games,\r
+contrary to what I wrote when adding the feature to WinBoard in\r
+4.2.4.  Now it works in both.\r
+\r
+* Fixed generic start/end of game messages to work on chess.net, where\r
+they put ratings in parens after the player names.\r
+\r
+* Updated config.sub and config.guess to newer versions from\r
+automake-1.4p5-2.  This makes configure work with MacOS X + X11.\r
+\r
+* Bugfix: when examining a game fragment on FICS where black plays\r
+first, don't show two "(0:00.000)" times on the initial "none" move.\r
+\r
+* If TestLegality is on and one of the engines makes an illegal move\r
+in TwoMachines mode, it forfeits immediately.  Formerly the game would\r
+get stuck at that point and the engine that made the illegal move\r
+would eventually lose on time.\r
+\r
+xboard/WinBoard 4.2.6 -- Fri Feb  1 22:26:31 PST 2002\r
+Tim Mann\r
+\r
+Another small bugfix release.\r
+\r
+* Put in a small change from Alexander Mai to allow xboard to build in\r
+an OS/2 EMX environment.\r
+\r
+* Fix WinBoard-only bug where editing a PGN file with comments would\r
+insert more \r characters before the \n after every Load/Save cycle.\r
+For some unknown reason we were reading the files in "rb" mode but\r
+writing them in "a" mode, so we kept the \r characters on reading and\r
+added an extra one on writing.  Fix: change the "rb" to "r".  Thanks\r
+to Joel (last name not given) for the bug report.\r
+\r
+* Put the arguments to rsh/remsh in the right order for better\r
+portability.  Thanks to Michael Kalisz.\r
+\r
+* FreezeUI is now implemented in WinBoard; it was previously only\r
+implemented in xboard.  This function prevents the user from entering\r
+moves or other commands while we are waiting for an engine to\r
+initialize itself.  Implementing it fixes a bug where the user could\r
+start a game (etc.) during feature negotiation.  One of the symptoms\r
+of this bug was that we could send "new" one or move moves *after* the\r
+first game started!\r
+\r
+* Fixed some handle leaks (WinBoard only), including a nasty one that\r
+leaked one handle per command sent to ICS.  Thanks to several folks\r
+who helped characterize the bug and tried to look for leaks.\r
+\r
+* We now install and look for the info file in ${prefix}/share/info\r
+instead of ${prefix}/info.  The latter is still the default in\r
+autoconf, but the former is currently used in Red Hat Linux and\r
+probably elsewhere.\r
+\r
+xboard/WinBoard 4.2.5 -- Sat Dec 15 11:42:51 PST 2001\r
+Tim Mann\r
+\r
+* Changed the bundled GNU Chess 5.02 in the WinBoard package to\r
+include a much smaller book and to use much less hash table space by\r
+default (8 MB transposition table, 0.5 MB pawn evaluation table).  The\r
+large book included with 4.2.4 made the WinBoard download too big for\r
+some people, and the default hash tables were larger than the\r
+available physical memory on some people's computers. I built the\r
+small book by running Crafty's "small.zip" book line collection\r
+through a Perl script that makes it look enough like real PGN games\r
+that the GNU Chess book builder will accept it.  The script and some\r
+minor patches to GNU Chess 5 are available in the WinBoard source\r
+distribution and at http://www.tim-mann.org/gnuchess.html.\r
+\r
+* Fixed a bug in the code that deals with engines that complain that\r
+"time" and "otim" are illegal moves.  This was a new bug in 4.2.4.\r
+\r
+* Revamped the implementation of ToStart in analysis mode.  Formerly\r
+there was some ill-conceived code that would try to get back to the\r
+start of the game by doing a "new" command (and all the followup\r
+commands that requires) while remaining in analysis mode.  This is\r
+problematic for engine authors to support, though it works with\r
+Crafty.  This code was trying to solve the problem of ToStart being\r
+slow because the engine would try to start an analysis after every\r
+"undo" command all the way back to the start.  But ToEnd already had a\r
+much better solution to this problem, and now ToStart does the same\r
+thing: we exit from analysis mode and enter force mode instead,\r
+make/unmake moves to get to the end/start of the game, and then\r
+reenter analysis mode.\r
+\r
+* Formerly, Zippy could try to start playing a game before the engine\r
+was initialized; that is, during the initial timeout for protover 1\r
+engines, or before "feature done=1" for protover 2 engines.  We now\r
+wait until the engine is initialized before connecting to ICS, which\r
+fixes this in the common case.  If you turn off engine reuse for\r
+multiple games (that is, if you give the -xreuse option), there could\r
+still be problems; see item 503 in the ToDo file.  Thanks to Dieter\r
+Buerssner for the bug report.\r
+\r
+* Bugfix: All WinBoard versions since the merge with WinBoard Plus\r
+(but not xboard) have had a bug in changing the PeriodicUpdates,\r
+PonderNextMove, and ShowThinking options from the menu.  The bug\r
+mostly just caused changing these options during a game to not take\r
+effect until after the next reset.  For TwoMachines games, though,\r
+changing PonderNextMove just before the game would take effect\r
+immediately for the second engine but not until the next game for the\r
+first engine.  Thanks to Koundinya Veluri for the bug report.\r
+\r
+* Bugfix: In 4.2.4, we sometimes got confused when trying to leave and\r
+reenter analyze mode.  One symptom was that Analyze File did not work.\r
+Thanks to Igor Syry for the bug report.\r
+\r
+xboard/WinBoard 4.2.4 -- Sun Dec  9 14:56:30 PST 2001\r
+Tim Mann\r
+       \r
+* WinBoard now includes GNU Chess 5.02 in place of GNU Chess 5.00.\r
+\r
+* WinBoard's PasteGameFromClipboard will now handle a paste with\r
+multiple games in it, popping up the game list dialog.  xboard\r
+already did this.  Suggested by Robert Gerstman.\r
+\r
+* We now use the "clearboard" command on ICC where appropriate.\r
+\r
+* Bugfix: don't generate a bogus "variant normal" command to an engine\r
+for the loadable ICC wild types that we internally flag as\r
+VariantLoadable.  Also clarified the message that Zippy sends when\r
+declining such wild games -- it can't deal with the possibility of\r
+loading an arbitrary position into the game.  Thanks to Dieter\r
+Buerssner for reporting the problem.  It would be nice to be able to\r
+actually play these wild types some day; presumably there would have\r
+to be an option to either send "loadgame" with a specified position,\r
+or to deal with an opponent sending it.\r
+\r
+* If we get a holdings message from ICS when we thought we were\r
+playing normal chess, we now try asking for a move list so that we can\r
+find out from the header what's really happening.  Formerly we guessed\r
+bughouse in this case.  Response to a comment from Gian-Carlo\r
+Pascutto.\r
+\r
+* Fixed two longstanding bugs in the clock code.  These affected only\r
+play between a user and a local engine, or between two local engines,\r
+not ICS play.  (1) The last fractional second used by a player before\r
+moving and virtually pushing his clock was being charged to his\r
+opponent instead of to him.  (2) The time and otim commands were being\r
+sent to an engine before the (buggy) fractional second update was\r
+done.  The second bug was pretty harmless in itself, but the first one\r
+was serious.  Many thanks to Peter Rosendahl for carefully diagnosing\r
+and reporting these bugs!\r
+\r
+* Changed WinBoard timestamp key.  Nothing is changed other than the\r
+key and a recompilation.  ICC may phase out the old key soon; if they\r
+do, you'll need to use the timestamp.exe from WinBoard 4.2.4 or later\r
+to connect to chessclub.com.\r
+\r
+* Fixed an xboard-only bug where most dialogs would not take keyboard\r
+input unless the mouse was actually over the dialog, even if the\r
+dialog window had focus.  Thanks to Jason Varsoke for the bug report.\r
+\r
+* Bugfix; Remember to send time and otim commands to engine before\r
+sending playother.  Thanks to Bob Hyatt for the bug report.  Also\r
+fixed a bug where time and otim were sometimes sent even with feature\r
+time=0.\r
+\r
+* Added small patches from Wilkin Ng that are meant to fix a crash in\r
+CopyGameToClipboard and a "can't unlock clipboard memory" error in\r
+PasteTextFromClipboard, under Windows 2000.\r
+\r
+* Changed cygwin.mak to not use -mno-cygwin.  In other words, it now\r
+uses cygwin1.dll instead of the mingw libraries.  This works around\r
+bugs in fileno() and stat() that I encountered in mingw.  (fileno\r
+seems to always return 0.  stat fails because the library routine uses\r
+a different definition of struct stat than the header files provide.)\r
+Thanks to Robert Gerstman for reporting the symptoms these bugs caused\r
+when WinBoard was compiled with Cygwin.\r
+\r
+* Added -showButtonBar option.  This lets you delete the << < P > >>\r
+buttons and thus widen the message widget a bit.\r
+\r
+* Added code to address a very obscure bug.  If an engine dies and\r
+needs to be restarted while in one of the analyze modes, it was not\r
+getting put back into analyze mode.  This bug should not really ever\r
+have gotten tickled unless reuse was turned off and the engine sends\r
+game end commands (such as 1-0) when a game ends by rule while in\r
+analyze mode.  The next version of the protocol spec will say that\r
+engines should not do that, but version 2 and earlier didn't address\r
+the issue.\r
+\r
+* We now use the FICS "iset ms 1" feature to get times in ms instead\r
+of seconds.  Thanks to DAV for email telling me about this feature.\r
+\r
+* Changed clock display to show tenths of seconds for 9.9 seconds and\r
+less, instead of 0.9 seconds and less as before.\r
+\r
+* It has been discovered that Zippy can play simuls on ICC (but not on\r
+FICS).  If you arrange for Zippy to send the ICC command "simulize" in\r
+the -zippyGameStart string, it will accept additional games while\r
+playing.  Zippy will use the same engine for every game, so whenever\r
+it switches opponents, the engine's state will be reset with the "new"\r
+command.  This will of course weaken its play, so don't enable simuls\r
+if you want your engine to have the highest possible rating.  Zippy\r
+was never designed to work with simuls; it just works by accident, and\r
+it hasn't been tested much.  So please report any bugs you notice, but\r
+don't expect them to be fixed rapidly.  Thanks to Paul McGuire for\r
+noticing that this works.\r
+       \r
+* Bugfix: Suppress the direct command to engine popup if there is no\r
+engine.  In WinBoard this case used to cause a crash.  Thanks to\r
+"Dargon" for the bug report.\r
+\r
+* Bugfix: formerly we did part of the engine initialization for the\r
+very first game too soon, before feature negotiation.  One result of\r
+this is that engines would never get the "ics" command for the first\r
+game.\r
+\r
+* Lengthened timeout to detect protocol version 1 chess engines to 10\r
+seconds.  This should reduce problems with protocol version 2 engines\r
+that are slow to initialize missing the timeout and not getting a\r
+chance to send their feature commands before the first game starts.\r
+\r
+* Klaus Friedel says that adding a short sleep to WinBoard after\r
+starting a new chess engine solves a problem that occurs under Windows\r
+2000, in which engines sometimes don't see the initial command(s) from\r
+WinBoard and hang.  I don't understand how that can happen, but the\r
+sleep is harmless, so I've put it in.  Others have also reported what\r
+may be the same problem, so hopefully this will fix it for them too.\r
+\r
+* Bugfix: editing the Result field in EditTags will no longer cause a\r
+later crash.  Thanks to DAV for a clear bug report that let me\r
+reproduce the problem.\r
+\r
+* ICC wild 28 is now recognized as shatranj, but it is not supported.\r
+You might be able to play it by turning off Test Legality.\r
+\r
+* Formerly we would always turn off "feature time" if the engine\r
+printed an error message with the string "time" or "otim" in it; now\r
+we do that only if the message comes before the engine makes its first\r
+move.  This change is useful because some engines spew a lot of bogus\r
+error messages about commands they don't fully parse, so something\r
+like "result 0-1 {White lost on time}" could generate such a message.\r
+Engines shouldn't do that, but if they do, mysteriously turning off\r
+"feature time" is not a good way to react.\r
+\r
+* Fixed an infrequently occurring Zippy bug: formerly, resuming from\r
+adjournment by position (that is, with GetMoveList turned off) or\r
+starting/resuming a wild game (nonstandard starting position) would\r
+try to set up the position without putting the engine into force mode\r
+first.  That was probably tolerated by most engines, but if the\r
+position was black-to-play and the engine hadn't set feature\r
+setboard=1, then the fake "a2a3" move (which we use as a kludge to get\r
+black to be on move before sending the edit command) would appear to\r
+be a real move, and the engine might reply to it!  This bug could also\r
+be seen when trying to use Zippy to play a simul -- something that\r
+Zippy was never designed to support, but which seems to mostly work\r
+anyway.  Thanks to Paul McGuire for sending a WinBoard.debug file that\r
+showed the bug occurring.  Some other cases of resuming adjournments\r
+or starting games from nonstandard positions may have been broken too;\r
+I think I've straightened out the problems.\r
+\r
+* Agreeing to a draw in the human vs. local engine case formerly did\r
+not work if the human offered first; now it does.  A human's\r
+unsolicited offer is considered valid until he makes another move.\r
+Thanks to Bruce Moreland for the bug report.\r
+\r
+* Bugfix: We used to look for just "fr" in Event tags or strings from\r
+ICSes to recognize Fischer Random games.  This caused a lot of false\r
+matches.  Now we look for "wild/fr" instead, which is what FICS uses.\r
+\r
+* Bugfix: Clicking on a move in the MoveList window only updated the\r
+displayed position; if a chess engine was active, its state was not\r
+updated.  Thanks to Alejandro Dubrovsky for the bug report.\r
+       \r
+* Bugfix: The "resign" command from engine to xboard formerly did not\r
+work in ICS (Zippy) mode.\r
+\r
+* Bugfix: Formerly we would register a garbage premove if the user\r
+clicked on a piece, then clicked on an edge or outside the board.  Now\r
+such an errant click is ignored.\r
+\r
+* Bugfix: GameEnds would send "exit" to an engine in analyze mode even\r
+if we did not actually want to leave analyze mode.\r
+\r
+* Bugfix: "feature pause" was being rejected.  We don't currently use\r
+it, but that is no reason to reject it.  Thanks to Gian-Carlo Pascutto\r
+for the bug report.\r
+\r
+* Bugfix: when "partner" needed to be sent both to ICS and the engine,\r
+Zippy was erroneously sending the ICS prefix character to the engine\r
+too.  Thanks to Gian-Carlo Pascutto for the bug report.\r
+\r
+* Zippy now declines challenges when the engine is not yet ready to\r
+play again, instead of ignoring them.  This is needed so that the\r
+server will let the opponent repeat the challenge.  It might be better\r
+to remember such challenges and accept them when the engine is ready,\r
+but that would be a bit more complicated to implement.\r
+\r
+* Bugfix: Zippy's emotes didn't work on FICS because there, "i" is a\r
+built-in alias for "it", not a real command.  So sending "$i foo" gave\r
+an error message instead of doing "it foo".  We now leave out the\r
+alias-suppressing prefix for emotes.\r
+\r
+xboard/WinBoard 4.2.3 -- Mon Feb 19 19:55:05 PST 2001\r
+Tim Mann\r
+\r
+* Bugfix: The error message "Variant X not supported by gnuchessx"\r
+formerly could pop up even in -ncp mode.\r
+\r
+* Fixed an xboard bug in premove highlighting.  If you had\r
+HighlightLastMove turned on, premoves got highlighted in\r
+highlightSquareColor (yellow) instead of premoveHighlightColor (red).\r
+\r
+* Modified premove again.  Now we are back to displaying the move\r
+locally immediately after sending it to the server, as in versions\r
+prior to 4.2.1.  This is good because it lets you register your next\r
+premove sooner.  As a better fix to the problem that the change in\r
+4.2.1 had been trying to address, we now suppress animating the\r
+opponent's move if you have a premove reply pending.  However, it's\r
+probably still a good idea for you to turn off AnimateMoves entirely\r
+if you are trying to play extremely fast games.\r
+       \r
+* Removed an erroneous patch that left zombie chess engines around\r
+when both sigterm and reuse were turned off.  (Bug was in xboard only,\r
+not winboard.)\r
+\r
+* Bugfix: loading a game with autostepping did not work for games with\r
+PGN result "*" (unfinished).  This bug was introduced in 4.1.0, caused\r
+by some outdated code that was supposed to leave you in EditGame mode\r
+after loading an unfinished game.  I fixed this, and also changed it\r
+to leave you in EditGame mode after loading *any* game, but without\r
+changing the tags to say it's an edited game.  It's not really clear\r
+whether that is the best thing is to do here -- ideally, perhaps, the\r
+tags should change to say "edited game" if you actually make any\r
+changes, but that is harder to make work.\r
+\r
+xboard/WinBoard 4.2.2 -- Tue Feb  6 20:00:00 PST 2001\r
+Tim Mann\r
+\r
+* Fixed a problem introduced in 4.2.1.  In -zippyPlay mode, 4.2.1\r
+started sending the initString immediately after the old game ended,\r
+but then when the next game started, it would still send "force" and\r
+another initString.  Another problem was that the first initString put\r
+the engine out of sync with the displayed board position, though that\r
+might not usually have been noticeable.  This is now changed to do a\r
+full Reset at the end of the previous game, and avoid doing a Reset at\r
+the start of a new game if we are still in BeginningOfGame mode.\r
+\r
+* Fixed some limitations in -zippyPlay mode.  The engine was not being\r
+fed the moves or history of games that were displayed but not being\r
+played, so it would get confused if you tried to do something like\r
+examine a game, then enter EditGame mode from somewhere in the middle\r
+of the game.\r
+\r
+* Made a small change so that cygwin can compile xboard for Windows\r
+(an X server is required to run it).  Thanks to Volker Zell.  Most\r
+people would probably prefer to run WinBoard on Windows, however; note\r
+that cygwin could already compile WinBoard.\r
+\r
+* Added some missing documentation to engine-intf.html: It is okay to\r
+send "feature done=0" even before you receive the xboard and protover\r
+commands, if this is needed to give your engine enough time to\r
+initialize.  See engine-intf.html for more discussion.\r
+\r
+* Bugfix: "feature done=0" did not work for the second engine; now it does.\r
+\r
+xboard/WinBoard 4.2.1 -- Sat Feb  3 19:52:26 PST 2001\r
+Tim Mann\r
+\r
+* Bugfix: in Zippy mode with feature san=1, the elapsed time was being\r
+sent to the engine after the SAN move; for example, "e4 (0:01)" was\r
+sent instead of just "e4".\r
+\r
+* It seems that scroll wheel mice with incompletely installed software\r
+(under Windows 95, at least) can send repeated middle button up events\r
+when the wheel is turned.  Moved QuickPaste from middle button up to\r
+middle button down to avoid problems with this.\r
+\r
+* A premove is now sent *before* the opponent's move that it replies\r
+to is animated.  The premove itself is no longer displayed (or\r
+animated) when sent; instead, it is displayed when the chess server\r
+echoes it back as a board update.\r
+\r
+* Bug fix: in -xreuse mode, xboard was only sending command line\r
+arguments to the engine the first time it was started.  (WinBoard\r
+didn't have this bug.)\r
+\r
+* In -zippyPlay mode, we now initialize the chess engine for a new\r
+game immediately after the old game ends.  (In -xreuse mode, this\r
+means starting a new engine process; in the default -reuse mode, it\r
+just means sending "new".)  If the engine supports ping, we don't\r
+accept challenges until the "new" has finished.  This should help\r
+avoid losing time (re)initializing the engine after the game starts.\r
+\r
+* We now handle the new FICS field in style 12 that says whether the\r
+clocks are ticking.\r
+\r
+* whiteFlag and blackFlag are now reset whenever an ICS board image\r
+arrives, giving autoflag a fresh chance to work.\r
+\r
+* Suppressed "geometry error" debug messages unless -debug flag is given.\r
+\r
+* Bugfix: avoid core dump on Solaris with -debug flag, caused by\r
+passing NULL to a %s format in GameEnds.\r
+\r
+* Added -firstProtocolVersion and -secondProtocolVersion.  This will\r
+allow use of extremely broken engines that hang or die when given the\r
+"protover 2" command.  It should be rarely if ever needed.\r
+\r
+* Zippy now strips highlights from player names in the Creating\r
+message; previously the ratings would not be extracted from this\r
+message properly if you had set the highlight variable.\r
+\r
+* Bug fix: Zippy with -zp but not -zt used to be fooled by false\r
+partner tells inside channel tells; e.g.: \r
+Garf(24): Garf (your partner) tells you: sit\r
+\r
+* Bug fix: when an engine reported its name with the new "feature\r
+myname=" command, we had been putting just that name into the window\r
+title even when in TwoMachines mode.\r
+\r
+* By default, WinBoard no longer uses the new feature introduced in\r
+4.2.0beta of keeping the ICS menu, ICS server list, and lists of chess\r
+engine command lines in separate files; instead, the lists are back in\r
+the winboard.ini file.  This gets rid of some problems where the\r
+separate files could not be opened because the working directory was\r
+not set to WinBoard's installation directory.\r
+\r
+* WinBoard command lines and ini files now have another optional\r
+syntax for quoting an option value.  All characters within { } curly\r
+braces are interpreted literally except for '}' itself.  SaveSettings\r
+now uses this syntax for string values that contain a backslash or\r
+newline and do not contain a '}'.  This should address the problem\r
+that the separate .ini files had been meant to fix; engine command\r
+line lists can now be written without \-escapes.\r
+       \r
+* Fixed three bugs in relaying moves between engines in TwoMachines\r
+mode: an engine would be sent SAN if the *other* engine had set\r
+feature san=1, a relayed SAN move did not end with a newline, and\r
+feature usermove was not implemented for relayed moves.\r
+\r
+* Fixed several bugs in exiting: File/Exit would sometimes hang;\r
+timestamp/timeseal would not get killed off; an engine crash would\r
+cause error messages to be printed recursively until stack overflow.\r
+\r
+* Fixed a bug in the code to detect which ICS is in use and adapt to\r
+it; the chess.net case was broken.\r
+\r
+* Removed the leading alias-suppression character when sending a move\r
+to ICS, because it seemed to break accuclock on chess.net.\r
+\r
+* Fixed a bug where a FICS prompt like "10:01_fics%" would be matched\r
+as finger note number 10, causing a problem detecting when the user is\r
+logged in.\r
+\r
+* Added tellicsnoalias command to protocol.\r
+\r
+* Changed st command in protocol back to old behavior.\r
+\r
+* Added done=0 feature to protocol, to lengthen initial timeout.\r
+\r
+* Added missing -colorSeek command line option to xboard.  (Was\r
+present in WinBoard.)\r
+\r
+* Bug fix: setting feature reuse=0 was not working.\r
+\r
+xboard/WinBoard 4.2.0beta -- Sat Dec 16 16:34:56 PST 2000\r
+Tim Mann\r
+\r
+* Setting -searchTime no longer turns off -clockMode.  Note that when\r
+-searchTime is set, some engines may search for the lesser of\r
+searchTime and the amount of time their normal clock management would\r
+dictate, while others will disable their normal clock management and\r
+always search for exactly searchTime.\r
+\r
+* Fixed WinBoard bug where on Windows 2000 (and maybe Windows 98) the\r
+ICS Interaction window would scroll back to the top whenever it filled\r
+to capacity and WinBoard trimmed some text off the top.\r
+\r
+* Changed xboard dragging so that the center of the dragged piece is\r
+forced to be over the mouse cursor.  (WinBoard dragging already worked\r
+that way.)  This should avoid confusing cases when you start a drag\r
+with the mouse near the edge of a square -- formerly most or all of\r
+the piece could be over one square but the mouse cursor over another.\r
+Suggested by DAV.\r
+\r
+* Added move list window for xboard.  Code contributed by Manuel\r
+Hoelss and re-hacked a bit by me.  Performance of this window is poor,\r
+because the implementation regenerates the entire window contents\r
+whenever anything changes.  It's hard to avoid this when using the\r
+Athena List widget, though we could be a little smarter and notice\r
+when the current move number has changed but the move list has not.\r
+There are also several drawing problems caused by bugs in the Athena\r
+Form and List widgets.  The window should not really allow a\r
+horizontal scroll bar, but the bugs are much worse if I turn it off.\r
+In both Xaw and Xaw3d, the List widget tries to resize itself when\r
+XawListChange is called, even if you tell it not to; and what's worse,\r
+if the widget cannot resize itself to be large enough to avoid\r
+clipping any of the list item, it does not change the list!  Arrgh.\r
+On top of that, the Xaw Form widget is very buggy in XFree86 4.0.1\r
+(X11R6.4.3).\r
+\r
+* The OK button in the WinBoard startup dialog is now simply disabled\r
+if none of the radio buttons is selected, instead of bringing up an\r
+error dialog.  Suggested by Ted Milbaugh.\r
+       \r
+* Used ping to address the worst of the race conditions in the\r
+protocol.  Now if an engine supports ping, we ping it after sending\r
+the "new" command and after trying to place it in force mode at the\r
+end of a game.  When a ping has been sent and the corresponding pong\r
+has not yet come back, we (1) ignore or undo any moves the engine\r
+sends, (2) ignore game end messages (such as "offer draw", etc.) from\r
+the engine, (3) ignore thinking output from the engine, (4) delay\r
+starting the next game if in -matchGames mode, (5) in -zippyPlay mode,\r
+respond to challenges with a polite message to try again soon instead\r
+of accepting them.  There are a few more things that should be done\r
+(and item 5 might not be quite what we want), but it's hard to fit\r
+them all into the existing code.\r
+       \r
+* Patched the version of GNU Chess 5.00 included with WinBoard to\r
+support protover, feature, setboard, and ping, and to fix some minor\r
+bugs.  See gnu500+.patch.\r
+\r
+* Changed the GNU Chess 4 kludges for missing "st" and "sd" commands\r
+to be invoked only if the engine gives an error message for "st" or\r
+"sd", and to always use protocol commands instead of engine\r
+command-line options.  See "Idioms" in engine-intf.html.\r
+\r
+* Added new protocol command "protover 2" to tell the engine what\r
+version of the protocol is in use.  Version 2 is still compatible with\r
+old engines; see engine-intf.html.\r
+\r
+* Add new protocol command "feature ..."  The engine can send this in\r
+response to the protover command command, to say what extended\r
+protocol features it would like to enable, etc.  xboard responds\r
+"accepted F" or "rejected F" for each feature F that is set.  See\r
+engine-intf.html.\r
+\r
+* Added new protocol command "setboard <fen>".  This is an alternative\r
+to "edit", used only if the engine says "feature setboard=1".\r
+\r
+* Added new protocol command "ping <msg>".  The engine is supposed to\r
+respond "pong <msg>".  This gives us a tool to fix some race\r
+conditions in the protocol, but it is not used to the fullest yet.\r
+\r
+* Added new protocol command "tellopponent".  This will do a "say" if\r
+you're on a chess server in Zippy mode, or pop up an information\r
+dialog otherwise.\r
+\r
+* Added new protocol command "tellall".  This will do a "kibitz" if\r
+you're on a chess server in Zippy mode, or pop up an information\r
+dialog otherwise.\r
+\r
+* Added new protocol command "tellothers".  This will do a "whisper" if\r
+you're on a chess server in Zippy mode, or do nothing otherwise.\r
+\r
+* Changed the WinBoard /icsNames, /icsMenu, /firstChessProgramNames,\r
+and /secondChessProgramNames options to accept a filename preceded by\r
+"@", meaning to find the value in the file.  Changed the defaults to\r
+use this feature, with filenames icsnames.ini, icsmenu.ini, fcp.ini,\r
+and scp.ini.  This should make it easier for users to edit the values,\r
+since one less level of quoting is needed, and each value is in its\r
+own file, not mixed into winboard.ini.  Those who upgrade from an\r
+older winboard version and already have a winboard.ini file will not\r
+automatically have these values moved to a file; that has to be done\r
+by hand if desired.\r
+\r
+* We now strip .exe from engine names for "name" command, tags, etc.\r
+\r
+* Allowed WinBoard input widget to hold more than one line.  You can get\r
+a newline into the widget with copy/paste or with Ctrl+Enter.\r
+\r
+* Fixed an xboard bug where the [P] button would appear in the\r
+opposite highlight state from what it should be after being pressed.\r
+\r
+* We now use the "/" or "$" alias suppression feature on the chess\r
+servers, to avoid problems if the user inadvertently aliases a\r
+needed command to something else.\r
+\r
+* Changed the method used to deiconize xboard in AutoRaise and cmail.\r
+This may fix bugs under some window managers where after\r
+deiconization, the board window was mapped but nothing was drawn\r
+inside.\r
+\r
+* Preliminary, partial support for playing several chess variants\r
+against a local engine or editing variant games.  The -variant option\r
+must be given on the command line or WinBoard startup dialog; there is\r
+no menu.  The current variant is not displayed (except in the\r
+Tags/EditTags window).  Many variants will not work quite right even\r
+if the engine supports them; see item 326 in the ToDo file for\r
+details.\r
+\r
+* Added a workaround to detect the variant type when examining a\r
+scratch wild game on an ICS.\r
+\r
+* Fixed two cases where "variant" command should be sent to the engine\r
+when necessary but was not: loading a game from a file and restarting\r
+a dead engine.  Thanks to Gian-Carlo Pascutto.\r
+\r
+* Added missing support for FICS games that start from a bsetup position\r
+with Black moving first.\r
+\r
+* Fixed a bug in loading a file from the game list window while in\r
+Analysis or AnalyzeFile mode.  This now leaves us in AnalyzeFile\r
+mode, analyzing the new file.\r
+\r
+* Fixed a bug in loading games with a comment before the first move.\r
+\r
+* Fixed a bug in handling LoadGame (or -lgf) with -td 0.\r
+\r
+* Added a command line option to select an initial minor mode from the\r
+Mode menu.  This should satisfy requests from a couple of users with\r
+special applications.\r
+\r
+* Fixed a problem where some things in WinBoard's General Options\r
+dialog box were grayed out at the wrong time.\r
+\r
+* We look for a few messages from the chess engine pipe that are\r
+intended to catch problems starting an engine via rsh, such as "No\r
+such file".  Moved code so that these strings won't match until other\r
+protocol messages have been looked for, and documented the messages in\r
+engine-intf.html.\r
+\r
+* Fixed the WinBoard bug that sometimes made the console input box\r
+white-on-white even when not in password-entry mode.\r
+\r
+* Small changes to WinBoard to be compilable with the latest Cygwin\r
+net release (as of 10-16-2000).  Thanks to Mark Schoenberg.\r
+\r
+* Recompiled GNU Chess 5.0 for WinBoard with the latest Cygwin net\r
+release (as of 10-16-2000).  Also rebuilt the book just to be sure,\r
+since I had one bug report about it.  It came out identical and seems\r
+to work fine.\r
+\r
+* Added messages for some common InstallShield errors instead of just\r
+printing InstallShield's stupid error code numbers.\r
+\r
+* Added -firstComputerString and -secondComputerString, allowing you\r
+to suppress or change the command that is sent to a chess engine when\r
+its opponent is another computer.\r
+\r
+* Added "configure --with-Xaw3d" to allow use of Xaw3d widgets instead\r
+of Xaw widgets in xboard.  Thanks to Johnny C. Lam of the NetBSD\r
+project.  I've left Xaw as the default because Xaw3d is too ugly.\r
+       \r
+* The version of the Xaw Form widget released in XFree86 4.0.1\r
+(X11R6.4.3) has a bug that causes xboard to display the button bar\r
+on top of the message widget.  I've reported the bug and have\r
+installed a kludge workaround into xboard.\r
+\r
+xboard/WinBoard 4.1.0 -- Sun Sep 17 17:30:14 PDT 2000\r
+Tim Mann\r
+\r
+* Merged Winboard Plus 4.0.8 from Mark Williams into xboard\r
+  source pool.  Status of Winboard Plus features in xboard:\r
+\r
+  - White pieces now have borders, but the implementation is\r
+    completely different from WinBoard's; see below.\r
+\r
+  - Options menu not changed, probably won't be.\r
+\r
+  - Copy&paste support working, using Mark's changes to backend.c, Ben\r
+    Nye's changes to xboard.c for FEN positions, and some code of my\r
+    own in xboard.c for PGN games.\r
+\r
+  - Premove hooked up and working.  No pre-first-move, though.\r
+\r
+  - ICS Alarm hooked up and working.\r
+\r
+  - Auto-flip working.\r
+\r
+  - PGN Training mode hooked up and working.\r
+\r
+  - Improved menu item enable/disable working.\r
+\r
+  - Improved >> button working.\r
+\r
+  - Auto activate board working.  I changed this to be optional; you\r
+    might not always want it, especially in Zippy mode.\r
+\r
+  - Blindfold working.\r
+\r
+  - Documentation updated.\r
+\r
+* Fixed more colorization bugs.  Commands like "message foo tells you:\r
+xxx" and "tell 33 tells you: xxx" will no longer generate bogus\r
+colorization.\r
+\r
+* Added low-tech sound support to xboard, by invoking an external\r
+program on a filename for each sound to be played.\r
+       \r
+* ICC wild 27 is now recognized as VariantAtomic, and it sets the\r
+"ignore check" flag, but is not otherwise supported.\r
+\r
+* Converted the piece bitmaps from .bm to .xpm for use with xboard's\r
+xpm support.  (An .xim version was not created.)  Wrote a shell script\r
+using ImageMagick to do the conversion and to bucket fill from\r
+coordinate 0,0 with the background color.  Used xpaint by hand to\r
+clean up a few pieces where background color "leaked" into the inside\r
+or didn't flow all the way around the outside, then a sed script to\r
+fix up color names and bitmap names in the xpaint output.  If any more\r
+sizes are added later, they should be straightforward to convert with\r
+reference to the existing scripts.  With this conversion, not only do\r
+the white pieces now have dark borders, but (unlike with WinBoard) the\r
+light details on the black pieces are opaque.\r
+\r
+* If the XPM library is found when building xboard, the new xpm pieces\r
+are compiled in as the default.  External bitmap (or xpm) pieces can\r
+still be used by giving the -bitmapDirectory (or -xpmDirectory)\r
+option.  If the XPM library is not found, the old bitmap pieces are\r
+the default.  In this case external bitmap (or xim) pieces can be used\r
+by giving the -bitmapDirectory (or -xpmDirectory) option.  There is no\r
+way to compile in xim pieces.\r
+\r
+Winboard Plus 4.0.8 -- Sat Aug 5 15:51 PDT 2000 \r
+Mark Williams\r
+\r
+* Bugfix release.\r
+\r
+* Main menu now visible in Win NT.  Thanks to Microsoft for creating a \r
+compiler which auto-mutilates the WinBoard.rc file so that the menu is\r
+displayed under Win 98 but not Win NT.  I fixed the problem by hand editing the\r
+.rc file.  Sigh.\r
+\r
+* "Reset game" now works properly when invoked from Analysis mode when two\r
+engines are present. Correction of bug introduced in Winboard Plus. Thanks to\r
+Mogens Larsen for reporting the bug.\r
+\r
+* Pasting a FEN position with Black to move now works in all modes.\r
+Thanks to Mogens Larsen for reporting the bug.\r
+\r
+* Added gnuchess.dat to the distribution and a couple of text files that were\r
+missing in 4.0.7.\r
+\r
+*** Merged in the following changes from Tim Mann:\r
+\r
+* Bugfix: Highlights would sometimes not be taken down, at least in\r
+xboard.  The problem is that SetHighlight works in chess coordinates,\r
+not view coordinates, so if flipView has been toggled since the\r
+highlight was put up, it gets taken down from the wrong square.  Fixed\r
+by being careful to call ClearHighlights before toggling flipView, not\r
+after.  Ugh.\r
+\r
+* Bugfix: HighlightLastMove would sometimes highlight square a1 after\r
+a FICS "tomove black" command.\r
+\r
+* Bugfix: a move list with initial position that has black to play was\r
+not being handled correctly.\r
+\r
+* Removed "decline abort" and "decline adjourn" commands from Zippy.\r
+The syntax is changing on FICS, and Zippy really doesn't have to\r
+explicitly decline the requests anyway; it's sufficient to not accept\r
+them.\r
+\r
+* ICC wild 26 is now recognized as VariantSuicide (the FICS name; ICC\r
+calls it "giveaway").\r
+\r
+* Bugfix: PGN games with black to move in the initial position weren't\r
+being legality checked correctly.  I think this was introduced in\r
+4.0.6 when I fixed a different PGN bug.  Thanks to Mark Williams for\r
+spotting the bug and suggesting a fix.\r
+       \r
+* Bugfix: the initial "name(" of a kibitz wasn't being colorized.\r
+\r
+Winboard Plus 4.0.7 -- Thu May 12 17:57 PDT 2000 \r
+Mark Williams\r
+\r
+* New white pieces with black borders.\r
+\r
+* Major overhaul to Options menu. New dialogs for setting General Options,\r
+  Board Options, ICS Options, Sounds, Fonts, Colors.\r
+\r
+* Clipboard support for PGN game scores and FEN positions.\r
+\r
+* Optional ICS Premove with user-specified first moves for White and Black.\r
+\r
+* New sound events: ICS Win, ICS Loss, ICS Draw, ICS Unfinished, ICS Alarm.\r
+\r
+* New auto-flip option when playing against a chess program.\r
+\r
+* Added PGN Training mode.\r
+\r
+* Certain menu options now disabled while program is thinking.\r
+\r
+* ">>" button now always goes to the end of the game.\r
+\r
+* In ICS mode, the board is automatically activated at the start of a\r
+new game.\r
+\r
+4.0.7 -- Sun Mar  5 17:17:49 PST 2000  Tim Mann\r
+\r
+* Fixed a nasty bug in parsing ICS game histories that was introduced\r
+in 4.0.6.\r
+       \r
+4.0.6 -- Fri Mar  3 16:20:11 PST 2000  Tim Mann\r
+\r
+* Fixed bugs in Zippy's code for responding to messages sent with the\r
+ICS "message" command.\r
+       \r
+* Fixed bugs where xboard could still create dialogs partially off the\r
+top of the screen.  Fixed unwanted interactions between initial sizes\r
+and positions of various unrelated xboard dialogs.  Deleted\r
+borderXoffset and borderYoffset resources.\r
+\r
+* Fixed restoring the xterm name on exit to work in more cases.\r
+       \r
+* Small fix to the WinBoard self-extracting installer: when it starts\r
+up, it now always deletes any old wb-setup directory left over from a\r
+previous installation.  Formerly this worked only on Windows 95/98, so\r
+on NT the self-extractor would sometimes stop and ask the user whether\r
+it was OK to overwrite the old wb-setup files.\r
+\r
+* Modified WinBoard to be compilable with the free Cygwin tools\r
+available from http://sourceware.cygnus.com/cygwin/.  Based on work by\r
+Mark Schoenberg.  (His mods were enough to get WinBoard through the\r
+compiler, but a few things were broken along the way, so I reworked them.)\r
+       \r
+* Merged changes from Don Fong to make WinBoard compilable with\r
+Borland C++ 4.5.  I do not have Borland C++ and am unable to test with\r
+it, but I did make sure the changes don't stop it working with MSVC++\r
+5.0 and Cygwin.\r
+\r
+* Forbade entering TwoMachines mode from MachineWhite or MachineBlack\r
+mode when machine is on move.  This used to confuse the engine and\r
+cause problems, because when we try to get the engine to stop, it\r
+might make a move first, and it might not do that immediately.\r
+       \r
+* Variant classification now deals with new ICC wild 25, classifying\r
+it as "3check".  Also, we are now conservative about new wild numbers\r
+we don't know about, classifying them as "unknown" instead of\r
+"normal".\r
+\r
+* Replaced bad GNU Chess 5.00 book in WinBoard distribution with a\r
+correct one.  1.e4 now no longer takes GNU Chess 5.00 out of book!\r
+Thanks to Pete Galati.\r
+\r
+* Made move parser accept and ignore nonstandard ep suffix on PGN moves,\r
+e.g., "exf6ep" or "exf6e.p."\r
+\r
+* Fixed bugs in parsing PGN files starting with no move number, or\r
+with a move number other than "1." (including "1...").  Thanks to\r
+Michael Soulier and Stefan Zipproth for example PGN files\r
+demonstrating the bugs.\r
+       \r
+* Changed InitComboStringsFromString to not modify the input string;\r
+this caused an exception when WinBoard was compiled with MSVC++ 6.\r
+Thanks to Bert Tuyt for the report.\r
+\r
+* In WinBoard, dragging a piece off the edge of the board without\r
+releasing the mouse button no longer instantly aborts the move.  You\r
+still must release the mouse button inside a square to complete a\r
+move, but you can now drag off the edge and come back inside.\r
+       \r
+* WinBoard bugfix: If you went into EditGame or EditPosition mode\r
+while observing or playing an ICS game, and a new move came in\r
+(snapping you back to ICSClient mode) while you were dragging a piece\r
+around, the drag state would not be reset, causing the piece you were\r
+dragging to remain on the board wherever you dropped it.  Thanks to\r
+David Brinegar for the bug report.\r
+\r
+* WinBoard bugfix: If you moved or resized the board while your\r
+opponent was moving, and you had AnimateMoving on, his move would not\r
+be displayed until after your next move.  Thanks to DAV for reporting\r
+the bug repeatedly until I finally understood it.\r
+\r
+* Added a Zippy "farewell" feature; see zippy.README.\r
+       \r
+* Fixed a bug (xboard only) in processing -zippyReplayTimeout on the\r
+command line.  Thanks to Steve Beer for the report and patch.\r
+\r
+* Send "computer" command to both sides in TwoMachines matches.\r
+       \r
+* Fixed a Y2K bug in Evan's cmail code!  Thanks to Brian Mays for the\r
+report and patch.\r
+       \r
+* Bugfix: Initialize variant field of GameInfo struct in gameinfo.c.\r
+This could cause crashes in LoadGame.  Thanks to Andrzej Nagorko.\r
+       \r
+* Fixed several pattern matching problems: Finger notes and formula\r
+vars no longer get replied to by zippyTalk or colorized.  Channel\r
+tells by players with many titles are now colorized fully, and\r
+zippyTalk handles channel tells by such players correctly.  The shout\r
+"--> foo(99): bar" no longer gets colorized as a channel tell.  Code\r
+is cleaned up a bit, and autocomment capture now uses the same\r
+criteria as colorization.\r
+\r
+* xboard fix: Enter key now closes error popups as in WinBoard.\r
+Especially nice for the "Exiting: Connection closed by ICS" popup.\r
+\r
+4.0.5 -- Tue Dec  7 10:30:40 PST 1999  Tim Mann\r
+\r
+* Added missing documentation of SIGTERM usage into engine-intf.html.\r
+\r
+* Bugfix: New -zippyReplayTimeout option was misspelled in WinBoard as\r
+-zippyReplyTimeout.  Thanks to Francesco Di Tolla.\r
+       \r
+* xboard -ics now restores the xterm's original title upon exit, at\r
+least if $WINDOWID is set.\r
+\r
+* Bugfix: -matchGames mode wasn't terminating properly.  Final score\r
+popup would come up twice and engines would not be killed off.  Thanks\r
+to Frank Quisinsky for the bug report.  Bug was introduced in 4.0.4.\r
+\r
+* Bugfix: "tell 50 foo shouts: bar" no longer gets colored as a shout;\r
+similarly for "...s-shouts:" and "...c-shouts:".  Thanks to David Lee\r
+for the bug report.\r
+\r
+4.0.4 -- Fri Dec  3 17:51:27 PST 1999  Tim Mann\r
+\r
+* Bug fix: formerly if you invoked SaveGame from EditPosition mode\r
+with black to play, the position was not saved properly.  As a quick\r
+fix, SaveGame now takes you out of EditPosition mode before saving.\r
+\r
+* Changed -matchGames to keep track of the score (won-lost-drawn) and\r
+display it in the banner.  The final score is displayed in a modal\r
+popup before the program exits.\r
+\r
+* Changed "Connection closed by ICS" to display in a model popup\r
+before the program exits.\r
+\r
+* Added -popupExitMessage option, default on.  Setting this to false\r
+suppresses the modal popups that you sometimes get just before\r
+xboard/winboard exits -- both the two new ones listed above and the\r
+existing Fatal Error popup.  This is useful when running Zippy\r
+unattended from a shell script (or .bat file) that loops and starts a\r
+new copy after a time delay when there is an error.\r
+\r
+* In xboard, added missing support for WM_DELETE_WINDOW to all\r
+windows.  This makes xboard a better citizen, and is much needed with\r
+the newer X window managers that put an [X] button on every window and\r
+bind it to "kill application" if the applicationd does not support\r
+"delete window".  We can't allow xboard to be thoughtlessly killed,\r
+since that leaves the chess engine running in the background.\r
+\r
+* We now avoid positioning tops of xboard dialog boxes offscreen.\r
+\r
+* zippy.lines can now use the caret ('^') character as an inter-saying\r
+separator. You no longer need to dig up a text editor that can put NUL\r
+('\000') characters in text files.\r
+\r
+* Bugfix: In traditional chess clock mode, White now gets time added\r
+to its clock as soon as it makes time control.  Previously both White\r
+and Black got their time added only when Black made time control,\r
+which would cause some engines to make their 41st move as White too\r
+quickly, thinking they were low on time.\r
+\r
+* The zippyAcceptOnly feature no longer sends a decline command or\r
+a tell.  Thus you can use it to put Zippy into a manual accept mode.\r
+\r
+* Bugfix: "tell 50 foo tells you: bar" no longer gets colored as a\r
+personal tell; similarly for "...whispers:" and "...kibitzes:".\r
+\r
+* WinBoard no longer blanks the message line when you start a new\r
+move, unless there was an error message there from the previous move.\r
+\r
+* WinBoard now never puts the white piece drop menu on the middle\r
+mouse button.  Both colors are always on the right button.  Windows\r
+users often don't think to look for a middle button menu, or don't\r
+really have a working middle button despite what Windows says.\r
+\r
+* Guest login handles on ICC are now parsed again; an ICC wording\r
+change had broken this feature.\r
+       \r
+* Autodetect when the engine does not support the "draw" command and\r
+don't relay the command to it in that case.  Needed because sending an\r
+unsupported command to GNU Chess makes it move immediately, so people\r
+could make Zippy move without thinking by continually offering a draw.\r
+Thanks to Frank Walker for the problem report.\r
+\r
+* Small changes based on code from Robert Jurjevic: The WinBoard\r
+analysis window can be minimized (though not to the taskbar).  The\r
+WinBoard ICS Interaction window will autoscroll if you drag the mouse\r
+above or below the window while selecting, and password entry mode\r
+leaves the entry line as the background color instead of using 75%\r
+gray.  Seeks are now colorized with a new color of their own.\r
+\r
+* Added -zippyMaxGames feature.\r
+       \r
+* -zippyNoplayCrafty command line option was missing in xboard; fixed.\r
+Thanks to John Perry.\r
+\r
+* Fixed bug in detecting when Zippy loses his bughouse partner.\r
+Thanks to Ben Dean-Kawamura.\r
+\r
+* allobs fix in 4.0.3 didn't work; corrected it.\r
+\r
+* WinBoard will now update the board immediately if a move is made\r
+while the window is being moved or resized.\r
+       \r
+4.0.3 -- Sun Aug 15 18:44:39 PDT 1999  Tim Mann\r
+\r
+* Bugfix: moved winboard wizard functions that send a command directly\r
+to the chess engine from Ctrl+Alt+1 and Ctrl+Alt+2 to Alt+1 and Alt+2.\r
+Ctrl+Alt is equivalent to the European AltGr key, so the old assignments\r
+conflicted with typing an @-sign on some keyboards.\r
+       \r
+* Bugfix: prevent "If this message stays up, your chess program does\r
+not support analysis" from appearing if AnalysisMode is selected when\r
+already in Analysis or AnalyzeFile mode.  Also, deleting analysis window\r
+in WinBoard now switches you to EditGame mode, to avoid the anomaly of\r
+being in an analysis mode with no analysis window present.\r
+       \r
+* Change all Zippy environment variables to work as command line\r
+options.  For now they still work as environment variables too, but\r
+the environment variables are deprecated.\r
+\r
+* Use unsigned long to hold node counts from engines.\r
+\r
+* Print error instead of crashing on attempts to use xpm or xim pieces\r
+in monochrome mode.  Thanks to Jim Torrance for the bug report.\r
+\r
+* Tightened pattern recognition for ICS messages sent to Zippy; should\r
+no longer match ICC allobs output.  Fixed recognition of when Zippy is\r
+sent a message; small change to FICS output had broken it.\r
+       \r
+* Zippy now exits if the engine dies unexpectedly.\r
+\r
+* Added Zippy "spoofedby" feature; see zippy.README.\r
+       \r
+* Narrowed the margins on some older WinBoard dialogs to make their\r
+style uniform with the newer ones.\r
+\r
+* Bugfix: Changing Ponder Next Move from the Options menu did not take\r
+effect until the next game.  This bug was in WinBoard only.  Thanks to\r
+Stefan Zipproth for the bug report.\r
+\r
+* Got rid of "Internal error: bad move type" message when the engine\r
+makes a move that we can parse but think is illegal.  Now the move is\r
+just passed on (which also may be the wrong thing to do).\r
+\r
+4.0.2 -- Thu Feb 25 19:55:32 PST 1999  Tim Mann\r
+\r
+* Added one more built-in sound choice to WinBoard: move.wav from Pete\r
+Galati.\r
+       \r
+* Added new larger piece sizes: big, huge, giant, colossal, titanic.\r
+       \r
+* Modified the xboard font searcher to be able to use scalable fonts.\r
+The new -fontSizeTolerance flag controls how closely a nonscalable\r
+font must match to be used in preference to a scalable font.\r
+       \r
+* Zippy environment variables ZIPPYABORT and ZIPPYADJOURN now control\r
+whether Zippy will accept abort and adjourn requests.\r
+\r
+* We now determine the variant type being played on ICS, send it as a\r
+command "variant VARTYPE" to the chess engine (if in Zippy mode), and\r
+put it in the PGN tags.  See engine-intf.txt for variant names.  See\r
+ZIPPYVARIANTS in zippy.README to control what variants Zippy will\r
+accept.  Note that this now applies to bughouse, too.\r
+\r
+* Zippy now won't do -zippyTalk in a channel unless his handle is\r
+mentioned there.\r
+\r
+* Zippy now ignores bughouse holdings if not actually playing, instead\r
+of stupidly trying to abort the game.  Let me know if other strange\r
+things happen when Zippy is observing a game.\r
+\r
+* Set ICS Interaction title bar to "user@server".  User name is\r
+determined by parsing message during the login sequence.  Zippy now\r
+uses this method to get its name too, so ZIPPYNAME is eliminated.\r
+Problem: with xboard, the title bar gets set to "xterm" upon exit,\r
+since we didn't know what it was to start with.\r
+\r
+* Fixed xboard-only bug in -colorChannel1 command line option.  Thanks\r
+to Fredrik Sandstrom for the bug report and fix.\r
+\r
+* Check for overflow of MAX_MOVES.  Still not sure this is checked for\r
+everywhere it needs to be.\r
+\r
+* Added .epd to suffixes recognized by WinBoard as position files.\r
+This is a bit of a kludge, as the .fen reading code was not written\r
+with .epd files in mind, but reading them with it is said to work.\r
+\r
+* Added ZIPPYGAMESTART feature, suggested by Jason Hoblit.  See\r
+zippy.README.\r
+\r
+* Restored the feature of soaking up the moves from a user-typed "moves",\r
+"oldmoves", or "smoves" ICS command when xboard/WinBoard is idle, but\r
+changed it so that the move list is also echoed to the screen.  Some folks\r
+still liked the old feature since it is faster than examine mode, and\r
+printing the moves to the screen should eliminate the confusion it caused\r
+for other people.\r
+\r
+* Bugfix: in WinBoard, starting a click-click move and then clicking on\r
+a black line would cause the source square to be forgotten without taking\r
+the highlight down.  Now the errant click is ignored.\r
+\r
+* Corrected shortcut key labels for LoadNext/PrevPosition in WinBoard's\r
+File menu.  Thanks to Andreas Stabel for the bug report.\r
+\r
+* Bugfix: if you had a completely full ICS context menu in WinBoard\r
+(90 items), the last one would do nothing if selected.\r
+\r
+* The "computer" engine command added in 4.0.1 was not working; I had\r
+left out part of the code patch.  Oops.\r
+\r
+4.0.1 -- Fri Feb 12 21:24:15 PST 1999  Tim Mann\r
+\r
+This is a minor bugfix release.  The first item listed below is the\r
+only interesting new feature.\r
+\r
+* You can now type in moves from the keyboard in WinBoard.  Either\r
+select TypeInMove from Step menu, or (if you are not in ICS mode),\r
+just start typing.  In ICS mode you can type moves into the ICS\r
+interaction window anyway, so I've retained the feature that typing\r
+switches you there.  Not implemented in xboard.\r
+\r
+* Removed the "noise 1000" command that used to be sent to the chess\r
+engine when entering analysis modes.\r
+\r
+* Deleted the feature where we soak up the output of a user-typed ICS\r
+"moves" or "oldmoves" command.  This ancient feature is not really\r
+useful anymore, now that "examine" exists, and it caused a lot of\r
+complaints.\r
+\r
+* Increased maximum size of ICS text menu to 90 entries and added\r
+overflow checking.\r
+\r
+* The command sent to ICS by Zippy at the end of each game can now be\r
+customized with the ZIPPYGAMEEND environment variable.\r
+\r
+* We treat xboard.info as a pseudo-source since most people don't have\r
+the tools to rebuild it.  But "make install" erroneously had a\r
+dependency on it, even though "make all" did not.  Fixed.\r
+\r
+* Miscellaneous minor updates and clarifications to engine-intf.txt.\r
+In particular, documented the st and sd commands (support for command\r
+line options -searchTime and -searchDepth), warts and all.\r
+\r
+* Added a small code patch from Bob Hyatt to detect when Zippy's ICS\r
+opponent is a computer and send the command "computer" to the engine.\r
+Added this command to engine-intf.txt.  Thanks, Bob.\r
+\r
+* Bugfix: configure was looking for usleep(), but config.h.in didn't\r
+have an entry for it, so HAVE_USLEEP was never defined.  Also, in the\r
+non-HAVE_USLEEP case, there was a possible race condition between the\r
+signal handler and the pause() call.  Thanks to Ben Dean-Kawamura for\r
+the bug reports.\r
+\r
+* Bugfix: a "1..." preceding Black's first move (usually present if\r
+there is a comment on White's first move) would cause the parser\r
+to think a new game started there and report "End of game" on the\r
+current game.  Thanks to Dell Garner for the bug report.\r
+\r
+* Changed the abbreviation for -searchDepth from -sd to -depth to fix\r
+a clash with -secondDirectory.\r
+\r
+* Changed -searchDepth to be orthogonal to the various timing options.\r
+Previously it would search for an unlimited time to the given depth;\r
+now the engine is allowed to choose its search time in the normal way,\r
+but is told to cut off the search early if it reaches the given depth.\r
+\r
+* Bugfix: SaveSettings in WinBoard was saving both the long form\r
+option highlightSquareColor and its abbreviation (hsc).\r
+\r
+* Fixed a redisplay bug in DisplayBothClocks that could cause White's\r
+clock to be highlighted in EditPosition mode when Black's should have been.\r
+\r
+* Fixed Zippy's feature of passing on draw offers from the ICS opponent.\r
+The colorization code was eating the offer before Zippy saw it, so I disabled\r
+colorization of offers while in -zp or -zt mode.  (Other types of\r
+colorization are already disabled in Zippy mode for similar reasons.)\r
+\r
+* Added some more commands to the default ICS context menu in WinBoard,\r
+and put "(name)" on the ones that insert a playername (or game number).\r
+\r
+* Added missing documentation to WinBoard help file: PonderNextMove, the\r
+-ponder/-xponder argument, and the up/down arrow history feature in the\r
+ICS Interaction window.\r
+\r
+* Fixed        ZIPPYNOPLAYCRAFTY feature to fire only if the opponent is Crafty,\r
+not if some other Crafty is observing the game and kibitzes.\r
+\r
+* Fixed bugs in generating "partner" commands when Zippy is playing\r
+bughouse.\r
+\r
+4.0.0 -- Sat Jun 20 16:59:47 PDT 1998  Tim Mann\r
+\r
+* Fixed WinBoard resizing so that the edges you do not drag remain in\r
+place, even when the final size is different from what you dragged to.\r
+(This doesn't work on NT 3.51 or earlier, if anyone cares.)\r
+\r
+* Fixed problems with resizing WinBoard on Windows NT: you no longer get\r
+whitespace around the board, a clipped board, or a lot of flashing during\r
+the drag.\r
+\r
+* Added customization for highlight-square color.\r
+\r
+* Bugfix: backend.c wrote to stderr in a few obscure places, which doesn't\r
+work in WinBoard.\r
+\r
+* Added Index Number field back to LoadGame/LoadPosition dialog boxes in\r
+WinBoard.  This required some extra code to work with both the\r
+Explorer-style dialog boxes and the old-style NT 3.51 dialog boxes.  Ugh.\r
+\r
+* WinBoard startup dialog now understands -zp mode.  The first chess\r
+engine selector is enabled and the value is used.\r
+\r
+* Bugfix: ResetGame would send "exit" to engine twice if it was in an\r
+analysis mode.\r
+\r
+* Bugfix: The response "Illegal move: bk" to the "bk" command, indicating\r
+that it is not implemented, would confuse xboard.\r
+\r
+* Bugfix: Ignore empty hints ("Hint:\n") instead of printing a message\r
+saying that some bogus string (often "Hint:") is illegal.\r
+\r
+* Bugfix: LoadNextGame/LoadPreviousGame/ReloadSameGame were broken.\r
+\r
+3.6.12 -- Sat Jun 13 14:57:10 PDT 1998  Tim Mann\r
+\r
+Beta test release of xboard and WinBoard.\r
+\r
+* Spruced up xboard man page a bit.\r
+\r
+* Added Highlight Last Move to xboard too.\r
+\r
+* The revamped xboard mouse click code had several more bugs than the\r
+previous version, so I revamped it again.  All fixed now, I hope.\r
+\r
+* xboard bugfix: crash in CreatePieceMenu.\r
+\r
+* Oops.  winboard-3_6_11beta.exe installed 3.6.10beta, not the new version.\r
+\r
+3.6.11 -- Fri Jun 12 20:00:48 PDT 1998  Tim Mann\r
+\r
+Beta test release of xboard and WinBoard.\r
+\r
+* Major reorganization to engine-intf.txt.  Some new features added,\r
+many existing features clarified and hints for engine programmers added.\r
+Support for new features added to program.\r
+\r
+* Changed defaults for -scp (etc.) back to being independent of -fcp, as\r
+in 3.6.2. That is, the default is no longer to copy the value from -fcp if\r
+-scp is not specified.  This will sometimes make command lines longer but\r
+will remove some confusing situations.\r
+\r
+* Split -reuseChessPrograms into two options: -reuseFirst and\r
+-reuseSecond.  Fixed obscure bugs when reuse is off.\r
+\r
+* Detect ICC and change some command usage slightly there: only ICC has\r
+set-quietly; only FICS has iset and bsetup clear.  With this feature, we\r
+can now safely use bsetup clear when appropriate instead of deleting each\r
+piece one by one.\r
+\r
+* Added indent to lines that are wrapped by WinBoard ICS Interaction\r
+window.  This seems to tickle a Microsoft bug in the RichEdit control:\r
+occasionally the start of the next line after the wrapped line is indented\r
+too.  I think the wrapped indent feature is useful enough that it's worth\r
+having in spite of the bug.\r
+\r
+* WinBoard bugfix: bounding box for the board was computed incorrectly by\r
+mouse code.  It would think you moved off the bottom of the board before\r
+you really did, so it was hard to drag pieces along the bottom rank on\r
+smaller board sizes.\r
+\r
+* Fixed obscure parser.l bug: ambiguity between capture using : instead of\r
+x and email header line.  Also removed or simplified a lot of complex\r
+patterns for English (as opposed to PGN) end-of-game indications while I\r
+was in there.\r
+\r
+* Added PonderNextMove option.\r
+\r
+* xboard EditPosition piece menus now let you set the side to play by\r
+selecting the "White" or "Black" label at the top of the menu, like\r
+WinBoard.  (Both xboard and WinBoard still let you set the side to play by\r
+clicking on the clock.)\r
+\r
+* Merged documentation of Crafty and GNU Chess thinking output in\r
+engine-intf.txt.  Corrected code in backend.c to match documentation; it\r
+used to require the PV to start in column 27 (!).\r
+\r
+* Fixed bug that caused crashes in "-reuseChessProgram false" mode.\r
+\r
+* Draw by agreement in Two Machines mode now works as it is supposed to.\r
+Other minor bugs in handling game end messages from machines are also\r
+fixed, and engine-intf.txt is revised in this area.\r
+\r
+* Revamped xboard code for handling mouse clicks on the board.  In\r
+particular, it had a bug if a click-click promotion move was made.\r
+\r
+* Fixed and reinstated optimization for << in analysis modes: send\r
+initString and re-send the board if needed.  Sending repeated undos\r
+is bad because Crafty prints some analysis after every one.\r
+\r
+* Don't go into a spin loop while pausing between xboard animation frames.\r
+This caused problems, especially when compiling with -O2 on HP-UX.\r
+\r
+* WinBoard Options/Colors/RevertToDefaults now also turns off Monochrome\r
+if it was on, and similarly for Options/ICSInteractionColors/RevertToDefaults.\r
+This seemed to confuse people before.\r
+\r
+* Bugfix: ICS Interaction context menu items with neither of the two\r
+optional flags set did not work.\r
+\r
+* Bugfix: PGN move numbers are optional, but we were insisting on "1"\r
+right after the tags.\r
+\r
+* Bugfix: only the first game of an -mg match was loading -lpf or -lgf.\r
+\r
+* Other minor fixes and code cleanup.\r
+\r
+3.6.10 -- Mon Jun  1 01:32:31 PDT 1998  Tim Mann\r
+\r
+* Added ZIPPYNOPLAYCRAFTY feature; see zippy.README.\r
+\r
+* Added timestamps for chess engine interaction to -debug output.\r
+\r
+* Now allow 10 seconds (was 5) between games in match mode for engines to\r
+respond to "force" command that ended previous game.\r
+\r
+* When a game is picked from the game list and the names of White and\r
+Black are known, display them in the window banner instead of the filename\r
+and game number.\r
+\r
+* Changed default for -scp and -sd to be the values of -fcp and -fd.\r
+\r
+* Added boxes for both engines to WinBoard startup dialog.  Changed to\r
+dropdown boxes whose content can be set from winboard.ini, similar to\r
+the box for ICS name.\r
+\r
+* Accept "offer draw" (or "*offer*draw*") from engine to offer a draw.\r
+\r
+* Accept "move mmmm" from engine as well as silly "1. ... mmmm" syntax.\r
+\r
+* Added support for bughouse engines (Zippy mode only).\r
+\r
+* Move bombproofing for engines sending illegal or out of turn moves.\r
+\r
+* Always send "xboard\n" to engine as first command.  Eliminates need\r
+to run crafty as "crafty xboard".\r
+\r
+* Rewrote xboard code for input from engines to fix longstanding bugs.\r
+Previously an engine that sent one line in two separate writes with \r
+some time lapse in between (or perhaps that sent several lines in one\r
+write) could make xboard hang.  WinBoard did not have this bug.\r
+\r
+* Fixed minor bugs in dealing with illegal moves.\r
+\r
+* Added "iset startpos 1" for FICS.\r
+\r
+* Removed special support to put "GNU Chess" or "Crafty" in the window\r
+banner instead of the engine's base filename.  This gives a more level\r
+playing field for other engines.  Also fixed bugs in the code that finds the\r
+engine's base filename.\r
+\r
+* Bugfix: Abort or Resign at the very start of a game in chess engine mode\r
+would fail to send "force" to the engine.\r
+\r
+* Fixed some minor bugs in new "result" messages, and changed format to\r
+include a trailing PGN comment giving the reason the game ended.\r
+\r
+* Changed syntax of /font options in WinBoard; old syntax was assuming\r
+that a font name can't contain a digit, which is wrong.  Old font names in\r
+WinBoard.ini files are still accepted.\r
+\r
+* Serious further work on getting WinBoard to read/write files in the\r
+"right" directories and documenting exactly what it does.\r
+\r
+* Added LoadPreviousPosition, LoadNextPosition, ReloadSamePosition.\r
+\r
+* Misc. tiny fixes and cleanup.\r
+\r
+3.6.9 -- Sun May 24 20:53:08 PDT 1998  Tim Mann\r
+\r
+xboard and WinBoard beta release.\r
+\r
+* Tightened up illegal move handling.  Illegal or meaningless moves from a\r
+file or chess engine should no longer get translated into a1a1 and blindly\r
+applied.  Explicit moves to the same square (like a1a1) no longer make the\r
+piece on that square capture itself and vanish.\r
+\r
+* Added AlwaysOnTop feature to winboard.\r
+\r
+* Fixed bug in winboard "@" command line indirection operator.\r
+\r
+* Removed buggy "optimization" code for ToStart in analysis modes.\r
+\r
+* Fixed typo bug in zippy.c that would often cause winboard to crash\r
+right after starting a game in -zp mode.\r
+\r
+3.6.8 -- Sat May 23 22:23:19 PDT 1998  Tim Mann\r
+\r
+xboard and WinBoard beta release.\r
+\r
+* Added -firstDirectory and -secondDirectory so that chess engines can\r
+be started in a different directory from xboard/WinBoard itself.\r
+\r
+* Added -matchGames to allow more than one game in -matchMode.  The games\r
+are played with colors alternating between the two chess engines.  Had to\r
+add a time delay at the end of each game to catch up with game ending\r
+messages from both chess engines -- yuck.\r
+\r
+* Changed TwoMachines mode to have firstChessProgram play White by\r
+default.  Added -firstPlaysBlack to restore old behavior.\r
+\r
+* Major rework of code in backend.c for dealing with first and second\r
+chess engines.  Generalized the code and created a struct type with one\r
+instance for each engine.  Several small bugs fixed along the way. \r
+\r
+* Fixed bugs in Abort in local chess engine mode.\r
+\r
+* Tightened pattern matching to recognize moves from machine.  Should cure\r
+bogus "Illegal move" errors while Crafty is pondering with Show Thinking\r
+on, among other things.\r
+\r
+* WinBoard keeps focus in board window after popping up a comment due to\r
+Forward/Backward/ToStart/ToEnd commands.\r
+\r
+* Finally got rid of warnings on compiling moves.c under Windows.\r
+\r
+* Fixed so WinBoard will compile on machines where WM_MOUSELEAVE is not\r
+defined.\r
+\r
+* Removed various bits of unused code.\r
+\r
+* Parse (and ignore) NAGs in PGN files.\r
+\r
+* Updated engine-intf.txt.\r
+\r
+* Send "result R" to the chess program at the end of each game, where\r
+R is the PGN result 1-0, 0-1, 1/2-1/2, or *.\r
+\r
+* Bugfix: suppress animation when loading a game with timeDelay=0.\r
+\r
+* Bug fix: pondering output from Crafty that contained "..." could be\r
+mistaken for a move, causing bogus error messages and general chaos.\r
+\r
+* xboard "make clean" bug fix: moved things created by configure to be\r
+removed only by "make distclean".\r
+\r
+* Fixed a remaining case where move was being animated before being\r
+relayed to opponent.\r
+\r
+* Backend was reversing time/otim commands to the chess program (new bug),\r
+and was often not sending them on the first move of a game or the first\r
+move after a mode change (old bug).  Fixing the latter required a kludge\r
+to work with both GNU Chess and Crafty, because Crafty swaps white and\r
+black clock times when it swaps sides, while GNU Chess does not.  The\r
+kludge is that we always make sure the chess engine thinks its opponent is\r
+on move before we set the clock.  This will sometimes result in sequences\r
+like "white\ntime xxx\notim yyy\nblack\ngo", or the same with white and\r
+black interchanged.\r
+\r
+* Removed last trace of old -whiteString and -blackString arguments.\r
+\r
+* Fixed so that you can type "bd" into the Direct Command dialog when\r
+debugging gnuchess, without having xboard parse the clock display\r
+(starting with "White") as "White wins" and end the game.\r
+\r
+* Changed moves.c to make a distinction between IllegalMove (where we\r
+could tell what move was intended, but it violates the chess rules) and\r
+MeaninglessMove (where we could not tell).  This is a step towards getting\r
+rid of cases where we translate meaningless moves into "a1a1", but some\r
+work is probably needed to track them all down.\r
+\r
+* Fixed bug in WinBoard monoMode dragging.\r
+\r
+* Changed WinBoard to new style file dialogs.  In the process, disabled\r
+the feature that let you enter the index number of a game or position within\r
+the file in the dialog.  This is no loss in LoadGame, as you can pick your\r
+game from the game list dialog that follows, but it does remove some\r
+functionality from LoadPosition.\r
+\r
+3.6.7 -- Mon May 18 21:25:00 PDT 1998  Tim Mann\r
+\r
+xboard and WinBoard beta test release.  I've been unable to reproduce some\r
+reported drawing bugs, so they may still not be fixed.\r
+\r
+* Changed PopUpErrors option to PopupMoveErrors, which is more useful, and\r
+changed default to off.  Errors other than move errors should always be in\r
+popups; they are often too big for the message area and too important to\r
+put where they can be easily missed.  But it seems good to get rid of the\r
+popups for move errors by default.\r
+\r
+* xboard analysis window no longer forces itself to top whenever there is\r
+new output.  Also, now uses built-in Xaw word wrapping instead of trying\r
+to do its own; works better.\r
+\r
+* Bugfix: Reset did not take Crafty out of analyze mode.\r
+\r
+* A chess engine no longer has to claim to be Crafty to be able to use\r
+AnalysisMode and AnalyzeFile; it just has to implement the analyze\r
+command as Crafty does.  Put in heuristics to generate more informative\r
+error messages if the engine does not support analyze, and checked that\r
+they work at least with GNU Chess.\r
+\r
+* Added click-click moving, HighlightLastMove, and HighlightDragging to\r
+WinBoard.  The highlight features are unlikely to go into xboard unless\r
+the xboard drawing code is cleaned up to do *all* drawing on the board\r
+from DrawPosition, as WinBoard does.  This is low priority for me.\r
+\r
+* Eliminated bogus "Error gathering move list: no header" popup.  You\r
+could get this by observing two fast games at once without turning off\r
+GetMoveList.\r
+\r
+* Disable WinBoard Sounds menu entirely in -ncp mode, since not even\r
+MoveSound is used in that mode.\r
+\r
+* WinBoard bugfix: Several problems were caused if the user changed \r
+WinBoard's current directory in a Load, Save, or Browse dialog.  In\r
+particular, WinBoard.ini would get saved in the wrong directory, and\r
+sound .wav file names would not get saved with a full pathname.  I think\r
+all such problems are now fixed.\r
+\r
+* WinBoard bugfix: iconizing the board after an aborted mouse resize would\r
+(partially) resize it to Tiny.\r
+\r
+* WinBoard bugfix: board was not being drawn in color on 256-color\r
+displays.  This bug was introduced in 3.6.6.\r
+\r
+3.6.6 -- Tue May 12 17:43:43 PDT 1998  Tim Mann\r
+\r
+xboard and WinBoard beta release.  Note: not all reported bugs are fixed.\r
+\r
+* Move animation in WinBoard, programmed by Henrik Gram.  Great stuff!\r
+\r
+* Animate backward moves too.\r
+\r
+* xboard bugfix: -font (and friends) can now specify a font alias (such\r
+as "fixed"), not just a full X Consortium name pattern.  Previously this\r
+would give a resource conversion error message.\r
+\r
+* Some coding style cleanup in xboard.c.\r
+\r
+* Earlier error check for moving wrong color piece in EditGame mode.\r
+\r
+* Completed fix to pattern matching; see 3.6.5.\r
+\r
+* Fixed some software rot bugs in Zippy.\r
+\r
+* Split AnimateDragging as separate option from AnimateMoves.\r
+\r
+* Added FlashMoves to options menu and -flash/-xflash to command line\r
+options (xboard only).\r
+\r
+* Some preliminary work on visible bughouse holding support.  Most of the\r
+code is not present in this release because I have not gotten it working\r
+properly yet; my first approach went down a blind alley and I had to\r
+remove most of the partially working code in preparation for a rewrite.\r
+\r
+3.6.5 -- Fri May  8 14:22:09 PDT 1998  Tim Mann\r
+\r
+Not generally released.\r
+\r
+* Pack bughouse holdings display in banner more tightly when board is one\r
+of the smaller sizes (when smallLayout or tinyLayout is true, that is).\r
+An interim measure, but should help.\r
+\r
+* Completed fix to make move list parsing recognize the end condition and\r
+final comment.\r
+\r
+* Fixed pattern matching for chatter (tells, etc.) to be more reliable.\r
+This should reduce the incidence of colors starting in the wrong place and\r
+of incorrectly matching things that look like other patterns inside\r
+chatter, such as "shout <12>".  (These errors were already rare.)\r
+\r
+* WinBoard now lets you customize the list of ICS's in the startup dialog.\r
+For now, at least, requires editing WinBoard.ini with a text editor.\r
+\r
+* Bug fix: WinBoard window sizing and position setting save/restore did\r
+not work right when the taskbar was at the top (or left side) of the\r
+screen and not in autohide mode.\r
+\r
+* Merged xboard click/click mode and drag mode, and deleted\r
+ClickClickMoving option on menu.  Now if you click on a piece, it\r
+highlights and a further click on another square will move it.  (A second\r
+click on the same square takes down the highlight.)  Or if you press down\r
+on a piece and start to drag, you can drag it to a new square.\r
+\r
+* When making click/click style moves, if your second click is on a piece\r
+of the same color, instead of saying "Illegal move", we now cancel the first\r
+starting square, replace it with the second, and wait for another click to\r
+finish the move.\r
+\r
+* Separate -secondInitString.  Default: same as -initString.  Suggested by\r
+Remi Coulom.\r
+\r
+* Patch from Frank McIngvale to make animation work with XIMs.  Yay!\r
+\r
+* Changed move animation to happen after move is passed on to ICS or the\r
+chess engine, where applicable.  Fixed problems with updating moveList\r
+that this uncovered.\r
+\r
+* Changed game list to show PGN result token for each game.\r
+\r
+* The usual minor bug fixes.\r
+\r
+3.6.4 -- Thu Apr 30 23:14:43 PDT 1998  Tim Mann\r
+\r
+xboard and WinBoard beta test release.\r
+\r
+* xboard documentation updated, both man page and info file.  An attempt\r
+to generate both from the same source with LinuxDocSGML was abandoned, at\r
+least for now.  WinBoard doc updated too.\r
+\r
+* Merged updates to animation code from Hugh.  Fixed a couple of remaining\r
+bugs, mostly to do with handling Pause mode correctly.\r
+\r
+* Added SaveSettingsOnExit to WinBoard.\r
+\r
+* WinBoard now saves the last screen position of the Comment, Edit Tags,\r
+Game List, and Analysis windows (in addition to the board and ICS\r
+Interaction windows) in WinBoard.ini.\r
+\r
+* WinBoard now provides a way to customize the right-button context menu\r
+in the output area of the ICS Interaction window.  For now, requires\r
+editing WinBoard.ini with a text editor.  \r
+\r
+* Various minor fixes to ICS message recognition, most affecting only Zippy.\r
+\r
+* Colorize the notification when someone sends you a message while you are\r
+logged in, not the output of the "messages" command.\r
+\r
+* Fixed colorization to turn off at the right place more reliably.\r
+\r
+* Added a new color and WinBoard sound for "requests": abort, adjourn,\r
+draw, pause, and takeback.  The same color and sound are used for all of\r
+these.\r
+\r
+* Added GUI to change sounds in WinBoard.\r
+\r
+* Suppressed WinBoard error popup when a sound can't be played.  They were\r
+popping up when two separate WinBoards tried to play a sound at the same\r
+time (such as during a bughouse match).\r
+\r
+* Fixed WinBoard crash when a sound file didn't exist.\r
+\r
+* WinBoard ports of timestamp and timeseal now produce decent error\r
+messages if they fail to connect, and WinBoard captures the messages and\r
+puts them into a popup.  Previously WinBoard would exit with no message on\r
+such errors.\r
+\r
+* WinBoard resizing with mouse improved; now accurately picks the largest\r
+size that fits in the new area.\r
+\r
+* Added option to turn off error message popups.\r
+\r
+* Added sizes slim, dinky, and teeny.\r
+\r
+* Fixed some minor problems with error message wording.\r
+\r
+3.6.3 -- Mon Feb 23 19:08:57 PST 1998  Tim Mann\r
+\r
+xboard beta test release only.  Man page is updated for the changes, but info\r
+file is not.\r
+\r
+* Bug fix: LoadGame could not load a PGN game whose first move was\r
+castling (which is possible from setup positions).\r
+\r
+* Bug fix: we were ignoring illegal move messages from chess engines in\r
+modes where the engine is refereeing but not participating (EditGame,\r
+LoadGame, AnalyzeFile).  The problem was in a workaround for a Crafty bug,\r
+where Crafty generates a bogus illegal move message if a "." (used by\r
+the PeriodicUpdates feature) is sent in analysis mode when the current\r
+analysis reveals a forced mate.  Installed a different workaround (that\r
+works in most but not all cases) and reported the Crafty bug.  Bob Hyatt\r
+replied with a fix, so the Crafty bug should be gone in Crafty 14.12 or so.\r
+\r
+* WinBoard only: enabled resizing board with the mouse.  It snaps to the\r
+nearest (but not too much larger) predefined size.\r
+\r
+* The xboard default font is now sized according to piece size, just as\r
+clockFont and coordFont have always been.\r
+\r
+* Added more sizes: bulky, moderate, average, middling, mediocre, petite.\r
+       \r
+* xboard only: Added Animate Moves and Click-Click Moving to Options menu.  \r
+\r
+* xboard only: Added code to animate piece movement, from Hugh Fisher.\r
+\r
+* New feature: autoflag is implemented in MachineWhite, MachineBlack, and\r
+TwoMachines modes.  If it is on and either a chess program or the user\r
+oversteps his time, xboard will automatically call the flag and end the\r
+game.  This feature was requested by someone who runs matches between\r
+programs and wants to penalize GNU Chess for its habit of running slightly\r
+over at the end of a time control.  I personally think it's pointless.\r
+\r
+* Fixed a bug in Zippy's pattern matching; he can now reply to ICC\r
+messages again.\r
+\r
+* Generate prettier notation for illegal moves.  If a move is illegal only\r
+because it leaves the player in check, generate notation as if that were\r
+not illegal.  For instance, if two knights are a knight's move away from\r
+f3, one on g1 and one on e5 that is pinned, the notation would be Nf3 to\r
+move the g1 knight, Nef3 to move the e5 knight.  (Suggested by Philippe\r
+Schnoebelen.)  In addition, if a move is illegal because the type of piece\r
+moved cannot go that way, would be jumping over another piece, etc., we\r
+give fully disambiguated coordinate notation; for example, Ng1g3, Ke1xe8,\r
+d2xd8=Q, etc.  An alternative would be to still write Ng3 if there is only\r
+one knight on the board, or Ngg3 if the other knight is not on the g file,\r
+but life is too short to code up all this stuff, and perhaps the way I did\r
+it is better as it emphasizes that this move was really made despite being\r
+illegal.  I wonder if the new PGN standard revision will speak to notation\r
+of illegal moves?\r
+\r
+* Fixed gross bug from 3.6.2: if a chess program said "checkmate" and\r
+White was left on move, the PGN outcome was "1-0 {Black mates}" instead\r
+of "0-1 {Black mates}"!  The bug occurred only for that specific string.\r
+\r
+3.6.2 -- Wed Jul 23 16:47:29 PDT 1997  Tim Mann\r
+\r
+* There was a bug in backing up from the end of a game against a chess\r
+engine, introduced when -reuse mode was added.  Fixed.\r
+\r
+* Recognize "{" as terminating an ICS move list.  Previously we needed to\r
+see a prompt (containing %), but occasionally ICC can send more stuff\r
+right after a move list with no prompt in between.\r
+\r
+* In WinBoard, -mm now implies -cp, so you don't get the startup dialog.\r
+\r
+* WinBoard startup dialog no longer sets -scp.  People used to get\r
+confused because they would give the -fcp and -scp arguments, but omit\r
+-cp.  This would bring up the startup dialog, which would set both -fcp\r
+and -scp to the value in the engine name box.  Now you can change -scp\r
+only with the command-line argument.  That will confuse some people too,\r
+but hopefully fewer.  I think overall it's better than putting spaces for\r
+both -fcp and -scp in the dialog, which would puzzle newbies.\r
+\r
+* Bug fix: Analyze File mode now works in WinBoard.\r
+\r
+* Bug fix: WinBoard window no longer cuts off part of the bottom row if\r
+the menu bar wraps to a second line.\r
+\r
+* Accept game end messages of the form "PGN-result {comment}" from the\r
+chess engine, where PGN-result is 0-1, 1-0, or 1/2-1/2.  Accept "resign"\r
+or "computer resigns" from the chess engine as a synonym for "0-1 {White\r
+resigns}" or "1-0 {Black resigns}". Accept any message from the chess\r
+engine containing "game is a draw" as a synonym for "1/2-1/2 {Draw}".\r
+Accept "White resigns" or "Black resigns".\r
+\r
+* Enable "Action / Draw" menu item in chess engine mode.  It sends the\r
+command "draw" to the engine.  Accept any message from the chess engine\r
+containing "offers a draw" as a draw offer.  WARNING: Draw offers from the\r
+user and the engine (or from two engines) are not yet matched up by xboard\r
+in chess engine mode.  Two engines could get into a loop offering each\r
+other draws.\r
+\r
+* Bug fix: Game end messages from the chess engine are always ignored in\r
+Zippy mode.  Previously they could sometimes be processed, which was\r
+sometimes making Zippy hang at the start of a new game that followed\r
+quickly after an old one.\r
+\r
+* Zippy can now respond to titled players in channels.  Zippy will avoid\r
+talking to himself in a channel if he knows his own name.\r
+\r
+* Bug fix: in colorization arguments, the bold setting was being ignored\r
+if the background color was defaulted.  (xboard only.)\r
+\r
+* Extended ParseFEN to accept Crafty 12.2's interpretation of FEN.\r
+If fewer than 8 squares are given in a row, or fewer than 8 rows are\r
+given, the uncovered squares are empty.  Also, there can be a / after the\r
+8th row.\r
+\r
+3.6.1 -- Sat May 17 01:02:33 PDT 1997  Tim Mann\r
+\r
+* Bug fix: Hitting escape while entering a password on WinBoard no longer\r
+sets the font color back to black (which made further typing visible).\r
+\r
+* Bug fix: On Windows NT 4.0, WinBoard /ics /icshelper=timestamp would\r
+often hang if you tried to exit with the Exit menu item, the [X] button,\r
+etc.  The same fix may also have corrected the problem where running a\r
+chess program with /xreuse would sometimes crash Windows 95 (but not NT)\r
+when the chess program was killed and quickly restarted.\r
+\r
+* Bug fix: Periodic Updates would not work if turned on after having been\r
+off.  Also, the default was needlessly "off" in WinBoard.\r
+\r
+* Zippy bug fix: Continuing an adjourned game was totally broken.  The\r
+wrong moves, or no moves at all, were being fed to the chess program.\r
+\r
+* WinBoard change: Giving -ics without -icshost now pops up the startup\r
+dialog with "Use an Internet Chess Server" pre-selected, so that you get a\r
+menu of chess servers instead of going directly to ICC.\r
+\r
+* Bug fix: WinBoard's SaveSettings was saving -icshost, -icsport, and\r
+-icshelper in winboard.ini.  This causes a problem if you use a different\r
+icshost later that needs the default values for icsport (5000) and\r
+icshelper ("", meaning none).\r
+\r
+* Disabled complaints about unexpected "[Ii]llegal move" messages from\r
+the chess program; we still get them at times.\r
+\r
+* Greatly simplified the code for Move Now and SIGINT (ATTENTION).  Fixes\r
+the bug where Move Now did not work with GNU Chess in WinBoard, and\r
+several more obscure bugs as well.  Reintroduces a minor bug: GNU Chess might\r
+not think on your time after a Move Now command.  Trying to fix this\r
+causes too many other problems.  Documented change in engine-intf.txt.\r
+\r
+* Cleaned up code for obtaining ratings from ICS.  It was kludgey and may\r
+have had bugs on systems with no "Creating:" message.  It should fail\r
+gracefully there, just not finding the ratings.\r
+\r
+3.6.0 -- Thu May  8 19:55:58 PDT 1997  Tim Mann\r
+\r
+* WinBoard now has right-button context menus in the ICS Interaction\r
+window.  Some of the items do immediate commands on the player name you\r
+have selected or pointed to.  (Suggested by Paolo Casaschi.)  Also, the\r
+middle button or shift+right does a immediate Copy and Paste.\r
+\r
+* Fixed a bug in Zippy's wild rejection.  The bug was causing Zippy to\r
+reject all forms of wild.  Now it rejects only 1, 9, 16, 17, and 24, as\r
+was intended.  These variants have different rules, while the other\r
+variants defined so far only have different starting positions.\r
+(Actually, wild 2, 3, and 4 never allow castling, but may sometimes by\r
+chance have king and rook start on squares where castling appears legal.\r
+This could cause a problem later.)\r
+\r
+* Zippy now resumes adjourned games by feeding the chess program \r
+the move list instead of the position.  Setting -getMoveList to False \r
+restores the old behavior.  Feeding in the move list is better because \r
+it enables the chess program to correctly handle en passant legality, \r
+castling legality, draw by repetition, and draw by the 50 move rule. \r
+\r
+* Added a WinBoard startup dialog for people who run WinBoard.exe without\r
+using the Start menu or reading the help file.  Instead of being dumped\r
+directly into GNU Chess mode, you now get a menu of choices.  You now have\r
+to give the new WinBoard -cp option to go directly into chess engine mode.\r
+I did not add this feature to xboard.\r
+\r
+* Handling of "illegal move" from Crafty is now back on.  (It was turned\r
+off in 3.4.6; see below.)  Crafty 12.0 doesn't seem to send bogus ones\r
+anymore.  I did have to suppress sending time and otim in analyze mode to\r
+make this work, but there is no harm in that.\r
+\r
+* Zippy now sends "gameend" to ICS at the end of each game.  You can alias\r
+this to "seek" or whatever you like.\r
+\r
+* Added Crafty support for Move Now, using the "?" command.  We test\r
+whether this command exists by trying it once at the start of the first\r
+game, before it really makes sense.  If we don't get a message like\r
+"Illegal move ... ?", we assume it's OK.  (We're careful about this\r
+because sending a "?" to GNU Chess on Move Now keeps it from pondering the\r
+next move as it should.)\r
+\r
+* Added support for a tellusererror command from the chess engine.  See\r
+engine-intf.txt.\r
+\r
+* Attempted to make engine-intf.txt complete.\r
+\r
+* Minor fixes/cleanup to GameEnds code, to be sure we always interrupt\r
+when needed, and always undo an extra move generated by stopping the chess\r
+program while it is thinking.\r
+\r
+3.5.7 -- Sat May 03 22:37:44 PDT 1997  Tim Mann\r
+\r
+Beta release of both xboard and WinBoard.\r
+\r
+* Updated xboard documentation.  I really wish the man page was built from\r
+the info file instead of being separate!  It's a pain to update them both.\r
+\r
+* Updated documentation of the interface between XBoard/WinBoard and chess\r
+programs, and renamed it to engine-intf.txt.\r
+\r
+* Added support for tellics, telluser, and askuser commands from the chess\r
+engine.  See engine-intf.txt.\r
+\r
+* Various bug fixes.  On WinBoard, 256 color displays are finally handled\r
+right; no more color flashing when you switch windows unless the colors\r
+really need to be updated.  Also, I think the problem of the console font\r
+failing to change or changing back by itself is finally fixed.\r
+\r
+3.5.6 -- Tue Apr 29 03:08:00 PDT 1997\r
+\r
+Beta release, WinBoard only.  ChangeLog was out of date in release,\r
+updated here.\r
+\r
+* Added ICC timestamp and FICS timeseal to WinBoard distribution.  These\r
+are my own ports to Win32, based on and used by permission of the owners\r
+of the proprietary source code (Daniel Sleator for timestamp, Henrik Gram\r
+for timeseal).  The owners permit these programs to be distributed only in\r
+binary form (to help prevent cheating), so to avoid running afoul of the\r
+GPL, I have kept them as separate programs, not linked into the WinBoard\r
+address space.  Updated Start menu icons to use them.\r
+\r
+* Miscellaneous smaller changes.\r
+\r
+3.5.5 -- Fri Apr 25 03:06:00 PDT 1997\r
+\r
+Beta release, WinBoard only.  ChangeLog was out of date in release;\r
+updated here.\r
+\r
+* Added simple sound support to WinBoard.\r
+\r
+* Updated WinBoard documentation.\r
+\r
+* Internal implementation of the telnet protocol is now more complete.\r
+You can now hop through a VMS host on the way to ICS.  For example, do\r
+"xboard -ics -icshost vms.host.edu -icsport 23", then log in.  Do not use\r
+the -telnet flag; that says to use an *external* telnet program.  To avoid\r
+double echoes, you need to force character mode in VMS telnet after\r
+connecting from VMS to ICS.  Do "^]^Mset mode char^M^M".\r
+\r
+* Display opponent names in the title bar for MachineWhite, MachineBlack,\r
+and TwoMachines modes.\r
+\r
+* WinBoard now has an installer, built with InstallShield.  The installer\r
+works with a binary-only distribution.  Sources are still freely\r
+available, but now separately.\r
+\r
+* Added SaveSettings to WinBoard, which saves current option settings to\r
+winboard.ini.  Made sure all options can be saved and loaded, including\r
+fonts and com port settings.\r
+\r
+* If the game ends while you are dragging a piece, we now don't let you\r
+finish the move.  Formerly the move was accepted and your opponent's clock\r
+would start running again.\r
+\r
+3.5.4 -- Fri Apr 18 01:15:24 PDT 1997  Tim Mann\r
+\r
+Beta test release of WinBoard and xboard.  The documentation remains\r
+out of date.\r
+\r
+* Many fixes and improvements to new WinBoard user interface code.\r
+\r
+* In Zippy mode, avoid sending another copy of the same move to the chess\r
+program if ICS sends us another copy of the board image.  Hard to believe\r
+it took me until now to diagnose and fix this problem!\r
+\r
+3.5.3 -- Sat Apr 12 19:49:33 PDT 1997  Tim Mann\r
+\r
+Beta test release of WinBoard and xboard.\r
+\r
+* Fixed fatal bug in WinBoard input handling.\r
+\r
+* Made code to stop chess program for reuse a bit smarter.  Removed kludge\r
+of "white" in initString; it didn't work well, and is unneeded\r
+with Crafty 11.21 and later.\r
+\r
+3.5.2 -- Sat Apr 12 15:40:01 PDT 1997  Tim Mann\r
+\r
+Beta test release of WinBoard.\r
+\r
+* Ignore check and permit promotion to King during suicide games; no need\r
+to turn off TestLegality.\r
+\r
+* Renamed CheckLegality to TestLegality to avoid confusion with the chess\r
+term "check".\r
+\r
+* Added Rematch to Action menu.\r
+\r
+* WinBoard now has a custom ICS interaction window with scrollback, a\r
+separate line for input, and colorization.  Accelerators that conflict\r
+with normal editing keys were changed (by requiring Alt+) so they can work\r
+in both the console and the main window.\r
+\r
+* WinBoard error popups are now non-modal and disappear when you make a\r
+new move, as in xboard.\r
+\r
+* Configure now defaults to --disable-ptys on all systems.  If anyone has\r
+an ancient SysV system where pipes don't work with select, they can still\r
+do "configure --enable-ptys" explicitly.  I would appreciate getting a bug\r
+report if this happens to anyone, with complete output from configure and\r
+"uname -a".\r
+\r
+* "make install" now makes the installation directories too.\r
+\r
+* Fixed a bug that would cause an "Illegal move" message for Black from\r
+GNU Chess to be incorrectly considered bogus.\r
+\r
+* Handle name changes during an ICS game (FICS bname and wname commands).\r
+\r
+* You can force both chess programs to be killed at the end of each game\r
+by turning off the reuseChessPrograms option.  There are still some\r
+problems with reusing Crafty even in version 11.20.\r
+\r
+* Now the second chess program stays around by default too, if it ever\r
+gets started.\r
+\r
+3.5.1 -- Sat Apr  5 16:47:48 PST 1997  Tim Mann\r
+\r
+Beta test release.\r
+\r
+* Don't kill off and restart the chess program for each game; keep the\r
+same one running, using the "new" command to start a new game.  This\r
+change works around the problem in Windows 95 that makes WinBoard crash it\r
+at times, and is generally desirable to make new games start faster.  The\r
+second chess program (for TwoMachines) is still killed at the end of the\r
+game, and unfortunately this can still crash Windows 95.  Temporarily\r
+added "white" to the initString to make this work with Crafty 11.20, which\r
+has a minor bug in "new".  Older versions of Crafty have worse bugs in\r
+"new"; they should not be used with this version of xboard.\r
+\r
+* Support for FICS suicide chess: Parse illegal moves (that leave King in\r
+check) in game history.  If CheckLegality is off, allow promotion to King\r
+and illegal moves in game files.  We still generate e2e4 style notation\r
+for illegal moves.\r
+\r
+* Handle FICS "has timeseal; checking" message.\r
+\r
+* Changed the coords from white back to black; this was a bug.\r
+\r
+* Fixed problems compiling with K&R compilers.\r
+\r
+* Fixed an old bug in RegisterMove that was crashing cmail on some systems\r
+(notably linux).\r
+\r
+3.5.0 -- Thu Jan  2 16:59:49 PST 1997  Tim Mann\r
+\r
+Thanks to Frank McIngvale for much of the work on versions 3.4.4 and above!\r
+\r
+* Fix Crafty resumed game time bug (frankm)\r
+\r
+* Word wrap text in Analysis window (frankm)\r
+\r
+* More debug info for XPM loading (frankm)\r
+\r
+* Replaced config.sub, config.guess, etc., with up-to-date versions from\r
+autoconf 2.12.  Hopefully this will fix problems on Pentium Pro machines.\r
+\r
+* Removed some Makefile gunk that was causing looping for one person.\r
+\r
+3.4.7 -- Thu Dec 19 14:22:41 PST 1996  Tim Mann\r
+\r
+All changes from Frank:\r
+\r
+* Retrieve ratings from ICC (and FICS, etc., when they add the Creating:\r
+message), save them in the PGN tags, and pass them to Crafty in Zippy mode.\r
+\r
+* Add settable time delay between characters in ICS login script.\r
+\r
+* Colorize messages like personal tells.  Fix false recognition of channel\r
+tells.\r
+\r
+* Pass "tells" from Crafty through to ICS (in Zippy mode).\r
+\r
+* Implement ~/ filename convention from C shell for game and position file\r
+names.\r
+\r
+* ZIPPYACCEPTONLY feature for testing.\r
+\r
+3.4, patchlevel 6 -- Sat Nov 23 16:58:50 PST 1996  Tim Mann\r
+\r
+* Put recognition of "illegal move" messages from Crafty for\r
+illegal castling, etc., inside an #if that is currently turned off,\r
+because of a bug in Crafty that generates bogus "illegal move" messages\r
+after some moves that are actually legal and accepted by Crafty.\r
+\r
+* Added -checkLegality option; previously this could not be turned off.\r
+\r
+* Fixed an old bug in finding default board size parameters.\r
+\r
+* Differentiated among channel tell, kibitz/whisper, and personal tell/say.\r
+\r
+* Fixed a bug in detecting Xpm in the configure script.\r
+\r
+3.4, patchlevel 5 -- Mon Nov 18 16:22:53 PST 1996  Tim Mann\r
+\r
+* Added zic2xpm to the kit; it had been omitted by mistake.\r
+\r
+* Added some default colors for -colorize\r
+\r
+3.4, patchlevel 4 -- Sat Nov 16 18:10:17 PST 1996  Tim Mann\r
+\r
+This is meant to be a beta release in preparation for version 3.5.\r
+\r
+* Added InfoXBoard and ManXBoard to the Help menu.\r
+\r
+* Made Frank's ICS input box optional, defaulting to off.\r
+\r
+* Merged in Frank McIngvale's XbKit.  Many new features, including\r
+-clickClick mode, the Analysis modes, piece flashing, ZIICS import,\r
+ICS text colorization, and the ICS input box.  Many thanks to Frank for\r
+supplying and documenting this code.\r
+\r
+3.4, patchlevel 3 -- Mon Nov 11 18:23:14 PST 1996  Tim Mann\r
+\r
+Small set of changes made while Frank McIngvale was working on XbKit in\r
+parallel.  Unreleased in this form.\r
+\r
+* Updated zippy.README.\r
+\r
+* Removed useless X event handler and removed strange code for copying\r
+form translation table to board that worked around the bug it caused.\r
+This makes changing bindings in .Xdefaults more straightforward.\r
+\r
+* Now pressing the Control key steps back one move, and releasing it steps\r
+forward again.\r
+\r
+* Moved quit from "q" to "Q" for greater safety.\r
+\r
+* Use "unobserve" instead of "observe" to stop observing; needed on FICS.\r
+\r
+* Support for interface variable.\r
+\r
+* Strip titles from people who are talking to us, so (for example) Zippy\r
+won't try things like "tell Darooha(*) hello".  Needed on FICS.\r
+\r
+3.4, patchlevel 2 -- Tue Jul  9 19:06:42 PDT 1996  Tim Mann\r
+\r
+This patchlevel is not planned to be an announced release.  It's in\r
+preparation for integrating Frank McIngvale's XbKit.  It mostly contains\r
+minor fixes I've accumulated since 3.4.pl1.\r
+\r
+* WinBoard /telnet option now fires up an external program, as\r
+with xboard, instead of trying to use a feature of NT 3.1 that does not\r
+exist in later versions of NT or in Windows 95.  ChangeLog for 3.4.pl1\r
+said this had been implemented there, but it really wasn't.\r
+\r
+* Indicating player to move by the icon color now works under Windows 95.\r
+\r
+* WinBoard now kills the chess program when you exit using the system menu\r
+or the [X] button.  Thanks to Michael Lowe.\r
+\r
+* Minor changes to Zippy, including: Now understands wild challenges on\r
+FICS; these used to crash it.  Removed limit on how fast a game will be\r
+accepted.  Use "set formula ..." on the chess server to limit this if you\r
+are using GNU Chess.  Now sends correct opponent name to Crafty.\r
+\r
+* Added some missing default values to documentation.  Thanks to Stuart\r
+Cracraft.\r
+\r
+* Bugfix: Trying to print "No fonts match pattern" error message would\r
+crash.  This can happen to Linux users who don't install Helvetica, for\r
+example. \r
+\r
+* Bugfix: Defaulting feature in -size n,n,n,n,n,n would put us in an\r
+infinite loop.\r
+\r
+* Added more directories to search for Athena widgets on HPUX.\r
+\r
+* New cmail (3.12) from Evan Welsh; includes small fix from Kayvan Sylvan.\r
+\r
+* Recognize "illegal move" messages from Crafty for illegal castling, etc.\r
+\r
+* Bugfix: "name" command added to zippy.c for Crafty was producing error\r
+message if GNU Chess was in use.\r
+\r
+* In bughouse mode, suppress holding messages from console window; show\r
+holdings only in banner.\r
+\r
+* Minor fixes/cleanup to Makefile.in and configure.in.\r
+\r
+3.4, patchlevel 1 -- Mon Dec 11 13:43:12 PST 1995  Tim Mann\r
+\r
+* This patchlevel updates WinBoard to match xboard, and includes a few\r
+fixes and minor improvements.  "-size tiny" and "-size n,n,n,n,n,n"\r
+are still not implemented for WinBoard.\r
+\r
+* Installed support for Crafty based on code from Bob Hyatt.\r
+Currently the only documentation for this is in the FAQ, and a few\r
+things don't work with Crafty 8.23.  Please do not report these\r
+problems as bugs in either xboard or Crafty.  Bob and I know about\r
+them.  The worst ones (if not all of them) should be fixed in Crafty\r
+8.24.\r
+\r
+* Changed the kludge command we send when gnuchess wants to print\r
+something that doesn't end with a newline, from "help" to "bogus".\r
+This works because the error message gnuchess prints ends with a\r
+newline.  It also improves compatibility with Crafty, which doesn't\r
+need the kludge, but for which sending "help" causes a problem.\r
+\r
+* Don't draw grid at all if lineGap is 0; previously we drew the grid\r
+with X "0-width" lines (usually 1 pixel wide) and then overwrote it.\r
+\r
+* Makefile: Removed xboard.info from "all" target so we won't try to\r
+rebuild it, because this fails on hosts that don't have makeinfo\r
+installed.  Other minor fixes to "clean" targets, etc.\r
+\r
+* Fixes and cleanup to Auto Comment code that handles continuation\r
+lines and highlighting.\r
+\r
+* Auto Observe now tries to observe the game from the point of view of\r
+the player who was on your gnotify list.  Requested by rng.\r
+Limitations: We can't tell which player it was unless you have ICS\r
+highlighting turned on.  Also, currently "observe foo" works as\r
+required (observing from foo's point of view) only on ICC, but FICS\r
+will probably implement this soon.\r
+\r
+* "-size tiny" now makes the default font smaller automatically.  This\r
+was implemented by introducing an extra Form widget in the hierarchy\r
+for all xboard windows, named either normalLayout, smallLayout, or\r
+tinyLayout.  So you can have resource specifications that apply only\r
+to certain layouts; in particular, XBoard*tinyLayout*font.\r
+\r
+* Bug fix: EditGame or EditPosition while playing or examining still was\r
+not really being permitted.\r
+\r
+* WinBoard bug fix: On the EditPosition menu, King did not work.\r
+\r
+* Added text catalog of WinSock error messages to WinBoard, because\r
+Microsoft still has not put them in the system message catalog.\r
+\r
+* Removed support for older ICS game-ending messages that do not have\r
+a PGN result token (*, 0-1, 1-0, or 1/2-1/2) after the closing '}'.\r
+The code for older messages was sometimes firing on the newer\r
+messages, due to parsing ambiguity.  If the current code sees an old\r
+message, it will understand that the game is over, but will always\r
+display * as a result token instead of trying to guess the result by\r
+interpreting the text message.\r
+\r
+3.4, patchlevel 0 -- Tue Nov 21 01:02:50 PST 1995  Tim Mann\r
+\r
+* This patchlevel was released for xboard only.\r
+\r
+* Updated the info file.  It should now be as up-to-date as the man page,\r
+with good English except in the parts that pertain only to AmyBoard.\r
+\r
+* Added "-size tiny", requested by Bob Hyatt.  Also cleaned up bitmap\r
+support and added "-size n,n,n,n,n,n" to allow arbitrary-sized bitmaps,\r
+if the actual bitmaps are supplied by the user.\r
+\r
+* Updated bughouse support.\r
+\r
+3.3, patchlevel 4 -- Sat Nov 18 02:27:21 PST 1995  Tim Mann\r
+\r
+* Unreleased beta that works with preliminary FICS bughouse code.  Will\r
+need changes before release to track FICS message changes.\r
+\r
+* Removed use of .EX macro from man page.  It is not supported by some\r
+nroff -man macro packages, notably the one on Slackware Linux.  Switched\r
+to boldface for references to xboard and other commands within the man\r
+page, as this seems to be the modern way.\r
+\r
+* Bug fix: If ICS rejected a move, it was correctly undone on the board,\r
+but the message widget still displayed the bad move.  Reported by DAV.\r
+\r
+* Normally, xboard in ICS mode fetches the move list whenever the board\r
+display switches to a new game.  Doing this is now an option\r
+(getMoveList) that can be turned off, which is useful if you are watching\r
+multiple blitz games.  Requested by rng.\r
+\r
+* Move list fetching code is now smarter: it ignores a move list if it is\r
+not for the right game.\r
+\r
+* Added support for bughouse as implemented on FICS.  Holdings are shown\r
+in the window title in place of the strength numbers.  A menu on mouse\r
+buttons 2 and 3 (same on both) lets you drop pieces.  There is no checking\r
+as to whether you actually hold the piece you are trying to drop; we rely\r
+on ICS to check that.  Notation of the form P@f7 is generated and parsed.\r
+The mate detector does not understand that non-contact mate is not really\r
+mate in bughouse, but this does no real harm.  It results in a "#"\r
+suffix being displayed on the move notation, but xboard does not assume the\r
+game is over.\r
+\r
+* Bug fix: Promotion to a knight was not working with ICC!  Thanks to\r
+Wendigo for the report.\r
+\r
+* Bug fix: Special pty code for host types *-*-aix3* and *-*-irix3*\r
+(supplied from configure.in) had a bug that would cause childio.c to\r
+fail to compile, due to a "continue" that was not within a loop.\r
+\r
+* Bug fix: In pgntags.c, memory was being freed while still in use.  One\r
+symptom this caused was that on some machines, cmail would fail with a\r
+message that it could not find the BlackNA tag.  The error was in some\r
+submitted code that I included in version 3.2.pl3 without reading\r
+carefully enough.  Anders Forberg noticed the symptoms, and Evan Welsh\r
+(who had nothing to do with causing the bug) found the bug and submitted a\r
+fix; thanks to them both.\r
+\r
+* Removed restriction against using EditGame while playing, observing,\r
+or examining on ICS.  You still get a warning popup.\r
+\r
+3.3, patchlevel 3 -- Sat Sep 16 11:44:05 PDT 1995  Tim Mann\r
+\r
+* Bug fix: Going directly from MachineWhite to TwoMachines mode would kill\r
+off the second chess program after Black's first move.\r
+\r
+* Added -timeIncrement feature.  Thanks to Joel Rivat.\r
+\r
+* Deleted code that tries to keep you from observing more than one game,\r
+or observing while playing or examining.  There is actually no problem in\r
+doing this, except that every time an update comes in from a different\r
+game than is currently being displayed, xboard fetches the history of the\r
+new game, which may be time-consuming if you are on a slow link.\r
+\r
+* Fixed configure so as not to crash when neither lex nor flex is found.\r
+lex or flex is needed only if the user wants to rebuild parser.c.  Thanks\r
+to Phil Humpherys for reporting the crash.\r
+\r
+* Bug fix: config.h.in used #define instead of #undef for some macros used\r
+in the pty code in childio.c.  This causes the code to fail to compile on\r
+some architectures, because the symbols are supposed to be undefined, not\r
+defined to empty, when they are not set in configure.  Bug originated in\r
+3.3.pl0 when config.h was introduced.  Thanks to Phil Humpherys for report.\r
+\r
+* Bug fix: ShowThinking would not show anything when current position had\r
+no move to display in the move window.  E.g., if position was created by\r
+LoadPosition or EditPosition.\r
+\r
+3.3, patchlevel 2 -- Mon Aug 28 11:11:11 PDT 1995  Tim Mann\r
+\r
+* Zippy code was omitted from xboard-3.3.pl1 by mistake; now included.\r
+\r
+* For WinBoard, added hint to help file that you may need to turn off\r
+LocalLineEditing while typing dialing commands to your modem.\r
+\r
+3.3, patchlevel 1 -- Sat Aug 19 15:13:30 PDT 1995  Tim Mann\r
+\r
+* Zippy distribution is no longer separate from regular xboard distribution.\r
+\r
+* Deal properly with Show Thinking output from GNU Chess when it is\r
+thinking on its opponent's time.  In TwoMachines mode this output is\r
+suppressed to avoid interfering with the output from the machine that is\r
+on move; in other modes it is displayed (including the move that GNU Chess\r
+is predicting the user will make next).  GNU Chess produces this output\r
+only if it is built without -DQUIETBACKGROUND defined; this symbol is\r
+defined by default in patchlevels before pl75, but undefined by default in\r
+pl75.\r
+\r
+* Bug fix: Handling of initial board position in move list for wild games\r
+was broken, so wild games could not be observed and adjourned wild games\r
+could not be continued.  Thanks to "Maximum Entropy" for the bug report.\r
+\r
+* Added feature: algebraic notation now shows "+" indicator for check\r
+and "#" for checkmate, as called for in PGN standard.  Thanks to Kevin\r
+Maher for the suggestion.\r
+\r
+3.3, patchlevel 0 -- Thu Jul 27 22:21:07 PDT 1995  Tim Mann\r
+\r
+* Changed configuration to use a config.h file instead of passing zillions\r
+of -D options on the cc command line.\r
+\r
+* Merged a small fix and some updates to the texinfo file from Jochen\r
+Wiedmann.  The texinfo file still needs work.\r
+\r
+3.2, patchlevel 5 -- Tue Jul 18 20:29:39 PDT 1995  Tim Mann\r
+\r
+* Beta test release of xboard only.\r
+\r
+* Updated WinBoard code to include new xboard features.\r
+\r
+* Added texinfo file from Jochen Wiedmann to the release, but not as the\r
+primary documentation.  It needs updating, and the English needs work.\r
+I did make a few improvements, mostly to change incorrect uses of @var to\r
+either @samp or @code as appropriate.\r
+\r
+* Merged in code changes to 3.2.pl4beta from Jochen Wiedmann.\r
+\r
+* Fixed EditComment; did not pop up window in previous beta.\r
+\r
+* Added AutoComment feature.\r
+\r
+* Added GameListDestroy to disable the outdated game list popup in cases\r
+where we load a new game file without building a new popup.\r
+\r
+* Added yyskipmoves feature to parser.l to speed up building of gamelist.\r
+\r
+* gamelist.c wouldn't compile with a non-ANSI compiler.  Fixed.\r
+\r
+* Change to yy_text handling in patchlevel 3 still had problems.  Can't\r
+use AC_DECL_YYTEXT in configure.in, because that defines YYTEXT_POINTER\r
+according to whether the lexer on the current host makes yytext a pointer.\r
+But most people will be using a parser.c that was generated on another\r
+host and shipped with the package.\r
+\r
+3.2, patchlevel 4 -- Sun Jun 25 19:13:43 PDT 1995  Tim Mann\r
+\r
+* Beta test release of xboard only.  \r
+\r
+* Added FIREWALLS section to man page.\r
+\r
+* Changed -icsport to be a string.  Now with the -telnet option,\r
+specifying -icsport "" suppresses the second argument to telnet.\r
+\r
+* Added EditTags feature.  Removed AboutGame from menu, because EditTags\r
+subsumes it.  EditTags suggested by Jochen Wiedmann and first implemented by\r
+him in AmyBoard.  xboard implementation is my own.\r
+\r
+* Fixed some missing or incorrect prototypes.\r
+\r
+3.2, patchlevel 3 -- Sat Jun  3 18:57:38 1995  Tim Mann \r
+\r
+* Beta test release of xboard only.  \r
+\r
+* New version of cmail from Evan Welsh, to fix compatibility problems with\r
+perl 5.0.\r
+\r
+* Added game list feature on Load Game, based on code from Jochen\r
+Wiedmann.  Integrated it with cmail.\r
+\r
+* Several bug fixes from Jochen Wiedmann, including one to my yy_text\r
+workaround for the difference in the type of yytext between lex and flex.\r
+\r
+* Handle clock pause on FICS.\r
+\r
+* Suppress clocks in untimed FICS games (time control 0 0).\r
+\r
+* Rebuilt configure script with autoconf 2.3.  This fixes a bug in\r
+configuring for X11R6, where -lSM -lICE would not be added when needed.\r
+\r
+* Fixed inconsistent type declarations on IntSigHandler and\r
+CmailSigHandler.  Bug report from Josh Daynard.\r
+\r
+* backend.c wouldn't compile with a non-ANSI compiler.  Fixed.\r
+\r
+3.2, patchlevel 2 -- Tue Feb  7 14:50:30 1995  Tim Mann \r
+\r
+* Minor release of both xboard and WinBoard.\r
+\r
+* Added recognition of some FICS messages.  On the other hand FICS is also\r
+changing some of its messages to match what xboard already recognizes.\r
+\r
+* Temporarily went back to using "promote" command on ICS instead of\r
+"a7a8=Q", because FICS doesn't implement the latter yet.\r
+\r
+* We now avoid using overlapped I/O on pipes in WinBoard, to make Windows\r
+95 beta 2 happy.  This lets WinBoard work with GNU Chess on Windows 95!\r
+\r
+* Installed patches from Jochen Wiedmann to coordinate with Amiga XBoard.\r
+\r
+* Installed patch to cmail bug in LoadGame from Evan Welsh.\r
+\r
+* Bugfix: checkmate and stalemate moves entered with EditGame in ICS mode\r
+were not being handled correctly.  Bug was in GameEnds().\r
+\r
+* Implemented EchoOn and EchoOff for xboard, using system("stty echo\n").\r
+Now passwords won't be echoed when you connect directly to ICS.  Also,\r
+telnet negotiation characters aren't displayed (when possible).\r
+\r
+* Implemented more of the telnet protocol.  Now connecting to a telnet\r
+server with "-icsport 23" should work even without giving the -telnet\r
+option.  The telnet is in "old line-by-line mode".\r
+\r
+3.2, patchlevel 1 -- Sat Dec 10 13:50:46 1994  Tim Mann \r
+\r
+* This patchlevel released for WinBoard only.\r
+\r
+* winboard.c: Fixed ConsoleInputThread().  Needed to change CRLF to LF,\r
+not to CR.  This was stopping normal /ics mode from working.  Thanks to\r
+Asher Kobin for the bug report.\r
+\r
+* winboard.c: Fixed Raw(), EchoOn(), EchoOff().  Now they take effect\r
+immediately, not on the next console read after the one in progress.\r
+\r
+* winboard.c: Attempted to make WinBoard work with gnuchessx running\r
+directly on Windows (not remotely via rsh).  It now works on NT, but only\r
+if gnuchess is told not to think on its opponent's time ("easy\n" removed\r
+from initString).  The problem seems to be that GenerateConsoleCtrlEvent\r
+is not doing anything.  On Windows 95 beta 2, we get error messages on\r
+both reading and writing to gnuchessx; I didn't investigate why.\r
+\r
+3.2, patchlevel 0 -- Wed Dec  7 13:23:36 1994  Tim Mann \r
+\r
+* Thanks to all the beta testers who gave me feedback: Josef Nelissen,\r
+Steve Booth, Evan Welsh, Dima Dakhnovsky, Chris Petroff, Peter Jansen,\r
+Derek Terveer, Michel van der List, Richard Lloyd, Shelly Mistry, and Mike\r
+Lee.  Sorry if I forgot anyone.  Thanks to Virendra Kumar Mehta for\r
+information about DYNIX/ptx.\r
+\r
+* Don't exit on keyboard EOF unless we get two in a row.\r
+\r
+* WinBoard only: added -localLineEdit switch to allow turning off local\r
+line editing if you really want to.  It is still a bad idea to let the\r
+echoing be done remotely, however; see below.\r
+\r
+* Fixed some configure problems on HP-UX.  [Steve Booth]\r
+\r
+* Fixed (I hope) configure problem on SunOS 5.3/Solaris 2.3.  [Josef Nelissen]\r
+\r
+* cmail bugfix from Evan Welsh (cmail 3.4).\r
+\r
+3.1, patchlevel 9 -- Fri Dec  2 23:54:56 1994  Tim Mann \r
+\r
+* Beta distribution only\r
+\r
+* Always do local echo/edit of user typing in ICS mode.  Doing the echo\r
+downstream may seem nicer in some modes, and it can be hard to turn that\r
+echo off, but the echoed characters can be interleaved with ICS output\r
+and make it impossible to parse correctly.  For xboard this involved only\r
+a change to recommendations in the man page, as Raw() isn't implemented.\r
+For WinBoard, removing Raw() made a real difference.  Added code in \r
+WinBoard to change /r/n back into /r on keyboard input, as we get the \r
+former when Raw() is not called.\r
+\r
+* Do not issue ICS "refresh" command after we start to observe a game\r
+unless we get to the next prompt without seeing a board image.  Newest\r
+version of ICS doesn't require this refresh, but old versions around still\r
+do.\r
+\r
+* cmail bugfix and small code cleanup in LoadGame, from Evan Welsh.\r
+\r
+* Added keyboard accelerators N/P for LoadNextGame/LoadPreviousGame.  Evan\r
+Welsh request.\r
+\r
+* Using "-" on the command line as a filename for loading (saving) games\r
+or positions specifies the standard input (standard output).  Alain Picard\r
+suggestion.\r
+\r
+* On WinBoard only, a command line option without a leading '-' or '/' is\r
+now taken as the value of -lgf.\r
+\r
+* Changed to not use stdin, stdout, stderr as initializers in backend.c;\r
+needed for GNU libc compatibility.  You also must build parser.c with flex\r
+(not lex) if you are using GNU libc, to avoid having the same problem\r
+there.\r
+\r
+* Changed WinBoard to avoid using "overlapped" input on the console.  It\r
+now seems to fully work on Windows 95 beta 2.\r
+\r
+* Improved comment popups on WinBoard.  Now newlines are handled properly,\r
+and the plain Comment popup window doesn't disappear and reappear when we\r
+step to a new move with a new comment.\r
+\r
+* Fixed bugs in detecting the absence of the time and otim commands.\r
+\r
+* Added built-in implementation of rcmd protocol to WinBoard.  Windows NT\r
+does not implement passing signals through rsh, and Windows 95 does not\r
+have rsh at all.\r
+\r
+* Added -remoteUser option.\r
+\r
+3.1, patchlevel 8 -- Mon Nov 28 15:26:07 1994  Tim Mann \r
+\r
+* Beta distribution only\r
+\r
+* Rearranged ChangeLog file into reverse chronological order to be closer\r
+to GNU standards.\r
+\r
+* Integrated new cmail code from Evan Welsh (including cmail RCS rev 3.2).\r
+Includes a bug fix to TruncateGame.\r
+\r
+* Updated ICS address to be chess.lm.com.\r
+\r
+* Bug fixes to handling the aftermath of FatalError.  Thanks to Chris\r
+Petroff for the bug report.\r
+\r
+* Test for remsh before rsh, other fixes for HP-UX.  Thanks to Richard\r
+Lloyd.  I wasn't able to do all the things he suggested, so there may\r
+still be some rough edges in building on HP-UX.  See the FAQ file for hints.\r
+\r
+* Bug fix; added missing check for HAVE_SYS_SYSTEMINFO.  Thanks to Josef\r
+Nelissen for testing on Solaris 2.x.\r
+\r
+* Updated WinBoard to match xboard.  (WinBoard still has a few option\r
+dialogs that don't exist in xboard.)\r
+\r
+* Changed Hint output to a popup.\r
+\r
+* ShowThinking output and move output no longer overwrite each other.\r
+ShowThinking output won't appear if the displayed position is not current. \r
+ShowThinking output in TwoMachines mode made clearer and documented.\r
+\r
+* Implemented --enable-ptys and --disable-ptys arguments to configure.\r
+\r
+* Fixed Book and Hint code to work over a pty with echo enabled and tabs\r
+expanded to spaces.  Thanks to Dima Dahknovsky for the bug report.\r
+\r
+* Moved Attention calls from all over xboard to one place, inside\r
+SendToProgram.\r
+\r
+* Added bulletproofing to ShowThinkingEvent.\r
+\r
+* Added code to handle "refresh N" boards that come in from ICS properly,\r
+assuming ICS is changed to mark them with a new relation code (-3).\r
+\r
+3.1, patchlevel 7 -- Sun Nov 13 22:16:01 PST 1994 -- Tim Mann\r
+\r
+* Beta distribution only\r
+\r
+* Changed ShowThinking to just show the current best line in the\r
+DisplayMessage area, instead of dumping everything to stdout.\r
+\r
+* Installed new cmail (RCS rev 3.1) and cmail.man (RCS rev 1.10), and\r
+changes to cmail code in backend.c, from Evan Welsh.\r
+\r
+* Miscellaneous minor fixes.\r
+\r
+3.1, patchlevel 6 -- Fri Nov  4 12:53:53 PST 1994 -- Tim Mann\r
+\r
+* This patchlevel was not actually released to anyone.\r
+\r
+* Updated the pty code to be based on GNU Emacs 19.24, and moved it to a\r
+separate file.  It was hard to split out just the pty configuration from\r
+all the stuff emacs does with its custom configure script and .h files,\r
+but I did my best.\r
+\r
+* Converted from imake to GNU autoconf.  This was a serious upheaval.  \r
+\r
+* Put in code to help trap "error gathering move list" problem reported by\r
+Michel van der List if it recurs.  I couldn't reproduce it.\r
+\r
+3.1, patchlevel 5 -- Mon Oct 31 21:12:00 PST 1994 -- Tim Mann\r
+\r
+* Beta distribution only.\r
+\r
+* We now test for checkmate or stalemate in EditGame mode after every user\r
+move, and in LoadGame mode whenever we hit the end of a game without\r
+seeing a PGN end marker.  cmail needs an update to deal with this\r
+correctly; Evan promises one.\r
+\r
+* Bugfixes in new move generator.  Thanks to Mike Lee for reporting one of\r
+the bugs.\r
+\r
+* Imakefile was omitted from patchlevel 4.\r
+\r
+3.1, patchlevel 4 -- Mon Sep 19 18:19:46 PDT 1994 -- Tim Mann\r
+\r
+* Beta distribution only.\r
+\r
+* The move generator includes a mate tester.  Initially this is used only\r
+by cmail, and even that usage needs further work.\r
+\r
+* Wrote a true move generator and used it to replace all the move\r
+disambiguation and legality checking code in parser.l.  The move generator\r
+is capable of dealing correctly with en passant and castling availability,\r
+but the rest of the program still does not keep track of this information.\r
+\r
+* Bug fix: xboard did not handle "foo has made you an examiner of game 23"\r
+message.  Thus you could not use examine features until the next board\r
+came in, showing your new relation to the game.  Thanks to POOKIEWOOKIE on ICS\r
+for the bug report.\r
+\r
+* Added AutoObserve feature.  Thanks to Chris Petroff for the idea.\r
+\r
+* Added Book feature to use new gnuchess "bk" command.  Mike McGann request.\r
+\r
+* Redid code to handle missing "time" command in gnuchess, because latest\r
+gnuchess no longer sends a response to this command.  \r
+\r
+* Eliminated need for -DFLEX.  Thanks to Michael Shields (Vladimir?) for\r
+the idea.\r
+\r
+* Added missing code to implement MoveNow in TwoMachines mode.\r
+\r
+* Added ShowThinking feature.  Thanks to Richard Lloyd for the idea.\r
+\r
+* Applied patches from Evan Welsh; some fixes and improvements to the\r
+cmail code.\r
+\r
+* Fixed bug in moving from EndOfGame mode to MachineWhite or MachineBlack,\r
+introduced in previous patchlevel.  Also fixed related bug in ending a\r
+game in ICS mode; was entering EndOfGame mode instead of IcsIdle.\r
+\r
+* Added patch to implement internetChessServerLogonScript flag, from Kevin\r
+O'Connor.  Thanks!\r
+\r
+3.1, patchlevel 3 -- Wed Sep  7 13:22:07 PDT 1994 -- Tim Mann\r
+\r
+* Beta distribution only.\r
+\r
+* Merged in new cmail code from Evan Welsh.  He added the ability to have\r
+more than one game per message, needed for official IECG matches.  I added\r
+the ability to resign or offer/accept/decline a draw in a cmail game.\r
+\r
+* Bugfix: invalid -tc option caused segmentation fault; DisplayFatalError\r
+was called too early in initialization.  Georges Honore reported this bug.\r
+\r
+* Decided to keep EndOfGame mode as an element of the user interface---it\r
+means that a gnuchess game or loaded game has ended, and the user must\r
+explicitly select EditGame to edit it, rather than just being able to\r
+enter more moves freely.  But internally there is no longer an invariant\r
+tying this mode to whether the chess program is running.\r
+\r
+* Zippy bugfix: Was saving only the final position in the -sgf file when\r
+the game ended by something other than resignation or flag.  Also fixed\r
+the longstanding bug that Zippy would think the final board of such a game\r
+was a new game and restart the chess program.\r
+\r
+* Now does a better job of faking castling availability in FEN.  We still\r
+don't really keep track of it, but now at least we don't say that castling\r
+is still available when the king or rook is not on its home square.\r
+\r
+* Bugfix: Initial board of game history for wild games was going through\r
+too much processing, causing us to forget the game length, which is now\r
+needed by ParseGameHistory.  This was causing problems with resuming\r
+adjourned wild games.\r
+\r
+* Updated ICS host to ics.onenet.net.\r
+\r
+* Zippy now accepts challenges where the opponent specified his color.\r
+\r
+* Added ZIPPYPASSWORD2 to let operator give commands directly to gnuchess.\r
+\r
+* Bitmap directory can include alternative icons now, too.\r
+\r
+* Handle "Game * (*) has no examiners" message from ICS.\r
+\r
+* Revamped window title and icon name selection.\r
+\r
+3.1, patchlevel 2 -- Sun Jun 12 17:16:28 PDT 1994 -- Tim Mann\r
+\r
+* "Beta" distribution for Zippy users only.\r
+\r
+* Bugfix: common.h was assuming that X11 type Boolean is char, which is\r
+not always true.  This might have caused all sorts of obscure bugs!\r
+\r
+* Installed new bitmaps from Elmar Bartel as the default.  Many thanks!\r
+The old bitmaps can be used by changing the "bitmaps" symbolic link before\r
+compiling xboard, or by using the -bitmapDirectory option at runtime.\r
+\r
+* Loading a game that ends with the PGN unfinished symbol ("*") now always\r
+leaves you in EditGame mode.\r
+\r
+* Added documentation of -icscomm to man page.  Thanks to Maarten Remkes\r
+for the linux script.\r
+\r
+* ^C now kills gnuchess as well as xboard.  Thanks to Dima Dakhnovsky for\r
+reminding me how to do this.\r
+\r
+* Bitmap icon color now indicates player to move.  Stuart Cracraft\r
+suggestion.\r
+\r
+* Changed piece bitmap flags to have just one flag, which points to a\r
+directory full of bitmaps, instead of a flag for each bitmap.  Also\r
+changed bitmap naming convention.\r
+\r
+* "Connection closed by ICS" is no longer a FatalError popup.  This was\r
+too annoying in the normal case where the user typed "quit".\r
+\r
+* Changed default font to 14 pixels instead of 10 points.  This seems to\r
+make it close to the size I want it to be on more displays.\r
+\r
+* Major mode (GNU Chess, etc.) appears in title bar.  Stuart Cracraft\r
+request.\r
+\r
+* Bug fix: EditGameEvent, MachineBlackEvent, MachineWhiteEvent, and\r
+TwoMachinesEvent were calling PauseEvent to get out of pause mode, which\r
+now has undesired side effects, such as advancing the display to the\r
+forwardMostMove.  It works fine to just set pausing = FALSE instead.\r
+\r
+* IcsExamining mode now lets you access ICS edit position commands using\r
+the same popup menus as xboard's EditPosition mode.  Thanks to DAV on ICS\r
+for inspiring the idea.\r
+\r
+* Corrected test for gcc on HP in Imakefile; thanks to Richard Lloyd.\r
+\r
+3.1, patchlevel 1 -- Wed Jun  1 16:25:11 PDT 1994 -- Tim Mann\r
+\r
+* Added parser.c.lex and parser.c.flex to the distribution.\r
+\r
+* Added HP gcc options to Imakefile, from Mats Nylen.\r
+\r
+* EndOfGame mode no longer highlights EditGame mode indicator, because the\r
+modes really do differ.  I would like to get rid of EndOfGame mode in the\r
+future, at least as far as users can see.\r
+\r
+* Larger %a in parser.l, needed for RS/6000 users.\r
+\r
+* Minor improvements to Mail Move error messages.\r
+\r
+* When -debug flag is given to xboard, -v is passed to cmail.\r
+\r
+* Old Save Style uses "1. ..." instead of "1..." when black moves after a\r
+comment; more like xboard 3.0's actual style.\r
+\r
+* New version of cmail from Evan Welsh.  Looks for UCB Mail in a more\r
+portable way and has some minor bug fixes.\r
+\r
+* Bug fix: Saving a FEN position while in EditPosition mode with black to\r
+play was showing white to play in the saved position.\r
+\r
+3.1, patchlevel 0 -- Fri May 20 16:36:15 PDT 1994 -- Tim Mann\r
+\r
+* This is the first general release since 3.0, patchlevel 9.  Releases\r
+since then have been limited-distribution or beta releases.\r
+\r
+* Thanks to my version 3.1 beta testers: Dmitry Dakhnovsky, Ed Hanway,\r
+Richard Lloyd, Mike McGann, Shelly Mistry, Josef Nelissen, Chris Petroff,\r
+Jack Robertson, Michel van der List, Ky Macpherson, Derek Terveer, and\r
+Evan Welsh.  Sorry if I've forgotten anyone who gave me feedback.\r
+\r
+* Updated man page.\r
+\r
+* Minor cleanup on menu sensitivity code.\r
+\r
+* Integrated another even better version of cmail from Evan Welsh,\r
+including some code he supplied in xboard itself.\r
+\r
+* A few more fixes to cmail support.\r
+\r
+* Automatically update clocks after an ICS "moretime" command.\r
+\r
+* Handle ICS automatic examine mode (set examine 1) after a game.\r
+\r
+3.0, patchlevel 14 -- Tue May 17 13:41:44 PDT 1994 -- Tim Mann\r
+\r
+* Beta test release only.\r
+\r
+* Don't suppress prompt on first board of game being examined; otherwise\r
+it looks like nothing happened at all (i.e., like you're lagged).\r
+\r
+* Added StopExamining and StopObserving (Chris Petroff suggestion).\r
+\r
+* Made Reset do a refresh on ICS.  John Chanak's original ICS code for\r
+xboard tried to do this; I finally decided it was a good idea after all.\r
+\r
+* Fixed bugs in handling updates that come in while you are pausing in\r
+examine mode.  This is pretty tricky to do right.\r
+\r
+* Made un-Pausing immediately pop you to the current position.  This is\r
+always necessary in examine mode, since the game may have changed under\r
+you; your remembered moves might no longer be right.  So I made it do the\r
+same in all modes.\r
+\r
+* Took Detach Examine mode back out...used Pause mode for this instead!\r
+\r
+* Put in a trap for the GNU Chess bug of printing an Illegal Move message\r
+when its own hint move is illegal.\r
+\r
+* Attempted to fix a Zippy bug; bogus "exited unexpectedly" messages after\r
+it checkmates its opponent.  This involved adding an argument to GameEnds\r
+to say who says it ended (ICS, GNU, etc.)  and taking different actions in\r
+different cases.  Unfortunately, this just restored an older Zippy bug, where\r
+Zippy restarts gnuchess when it gets the board with the final position,\r
+because GameEnds still puts xboard in EndOfGame mode.  Sigh.\r
+\r
+* We now capture elapsed time on last move when getting game history.\r
+(Josef Nelissen bug report)\r
+\r
+* Rewrote code to redisplay last file title so it really works.\r
+\r
+* Fixed bug in oldSaveStyle.\r
+\r
+* Larger %a and %o were needed for lex.\r
+\r
+3.0, patchlevel 13 -- Mon May 16 16:26:22 PDT 1994 -- Tim Mann\r
+\r
+* Beta test release only.\r
+\r
+* FatalError popups stay on the screen now.  If the error is really fatal,\r
+all functions are disabled, and the program exits when you press OK.\r
+\r
+* Redisplay last file title when using Load (Next/Previous/Same) Game.\r
+\r
+* Zippy understands new match challenge message format on ICS.\r
+\r
+* Added Revert command.\r
+\r
+* When examining a game on ICS, < > buttons do ICS backward/forward\r
+commands, unless you set the Detach Examine option.  Thanks to Dima\r
+Dakhnovsky for the idea.\r
+\r
+* Fixed various minor problems in cmail mode.\r
+\r
+* cmail generates the tags now.  New version of cmail from Evan Welsh.\r
+\r
+* cmail mode won't let you do MailMove unless the currently displayed\r
+position is exactly one move past the end of the game you loaded.\r
+\r
+* Fixed building of man pages in Imakefile\r
+\r
+* Updates to INSTALL file\r
+\r
+3.0, patchlevel 12 -- Sat May  7 21:10:03 PDT 1994 -- Tim Mann \r
+\r
+* Beta test release only.\r
+\r
+* Brought man page up to date.\r
+\r
+* Added Shift+R to resign from keyboard.\r
+\r
+* Some items on Action menu available in GNU Chess mode now.\r
+\r
+* Revamped Action menu.\r
+\r
+* Reordered functions in backend.c as a small step toward reorganizing\r
+this whole mess.\r
+\r
+* Generate TimeControl PGN tag.\r
+\r
+* Get type of ICS game (e.g., rated blitz) and save in PGN tags.\r
+\r
+* Bug fix: Clocks were not redisplayed when entering EditGame mode.\r
+\r
+* Bug fix: Clocks were not being redisplayed after loading a game file\r
+with -td 0, so they could show the wrong color active.\r
+\r
+* Bug fix: Chess programs would be killed and match mode would exit\r
+prematurely when loading a PGN game fragment ending with "*".\r
+\r
+* ICS command "sposition" no longer confuses xboard.\r
+\r
+* Integrated new version of cmail (with support code in xboard) from Evan\r
+Welsh.\r
+\r
+* Added TruncateGame, MoveNow, RetractMove, and QuietPlay.\r
+\r
+* Bug fix: switching between MachineWhite and MachineBlack was not calling\r
+Attention().  Reported by Dino Dini.\r
+\r
+* More improvements to INSTALL and Imakefile.\r
+\r
+* Pack moves into 79 character lines in PGN output.  We don't generate\r
+check indications, and we always break the line before the result,\r
+so this is not quite PGN export format.\r
+\r
+* Use FEN tag in PGN.\r
+\r
+* Improved finding and counting of game starts in save files.\r
+\r
+* Negative position or game numbers in -lpi/-lgi mean to seek to that byte\r
+offset.  Hook for possible future features, not in man page.\r
+\r
+* Detect and handle absence of either "time" or "otim" commands in\r
+gnuchess.\r
+\r
+* Don't use "promote" command to ICS anymore.\r
+\r
+* Handle switching sides and taking back moves on FICS.\r
+\r
+* Handle flip state flag in style 12 board.\r
+\r
+* Handle examine mode on ICS.\r
+\r
+* Improved error popups for various kinds of illegal moves.\r
+\r
+* Suppress unasked-for hints from gnuchess (which it generates in post\r
+mode).\r
+\r
+* Load/save position functions use FEN.  Old style also supported.\r
+\r
+* Added detailed error messages if loading a bitmap file fails.\r
+\r
+* Small board has 2-pixel lines between squares instead of 3-pixel.\r
+\r
+* Added OldSaveStyle and AboutGame.\r
+\r
+* Renamed ForceMoves to EditGame.\r
+\r
+3.0, patchlevel 11 -- Tue Sep 21 15:25:36 PDT 1993 -- Tim Mann \r
+\r
+* The following changes were present in xboard 3.0, patchlevel 11, but the\r
+first group did not make it into WinBoard 3.0 until later.  xboard\r
+3.0.pl11 was a limited-distribution release only, mostly to Zippy users.\r
+\r
+* Man page minor fixes.\r
+\r
+* Added a missing file close.\r
+\r
+* Removed automatic error popdown on Reset, which was destroying some\r
+error messages before they could be read.\r
+\r
+* Fixed char vs. unsigned char warnings on bitmaps.\r
+\r
+* Use ICS board style 12.  Some improvements to ICS parsing.\r
+\r
+* Comment window is now labelled with the move the comment is on, and\r
+comments don't pop down when you step to the next move.\r
+\r
+* Save files now in PGN format.\r
+\r
+* Support for loading PGN files.  PGN tags pop up when a PGN game file\r
+is loaded.\r
+\r
+* More info in INSTALL and Imakefile about building for Suns (and\r
+other systems).\r
+\r
+* WinBoard 3.0 patchlevel 11 split off from an early version of xboard\r
+3.0 patchlevel 11, so it does not have all the features of that\r
+patchlevel.  The following changes made it into both xboard and\r
+WinBoard:\r
+\r
+* Made Comment dialog non-modal in WinBoard.\r
+\r
+* EndOfGame mode is now more transparent.  It looks like ForceMoves\r
+mode except that there is no chess program running.\r
+\r
+* Small bug fixes in clock management.  Most noticeably, pausing when\r
+it is gnuchess's move now works as documented (again).\r
+\r
+* Add minimal support for -icscomm option.  Not documented yet because\r
+I haven't sorted out the issues with setting the tty modes on the comm\r
+port device, or with locking it properly.  But it's usable by wizards.\r
+\r
+* Don't restart the chess program upon Backward event from EndOfGame mode.\r
+\r
+* Suppress extra prompt after ICS sends us a board.\r
+\r
+3.0, patchlevel 10 -- Sat Sep 11 18:44:03 PDT 1993 -- Tim Mann \r
+\r
+* Beta test release only.\r
+\r
+* Zippy now plays chess.  zippy.c and zippy.h are still not included\r
+in the standard distribution, but are available on request.\r
+\r
+* Switched to using style 12 on ICS.\r
+\r
+* Updated man page, and documented use of XBoard*form.translations to\r
+add more shortcut keys.\r
+\r
+* Added shortcut keys "d" to claim/offer/accept a draw, and "t" to\r
+call flag.  Suggested by venu on ICS.\r
+\r
+* More explicit instructions in INSTALL file.\r
+\r
+3.0, patchlevel 9 -- Tue Sep  7 14:02:00 PDT 1993 -- Tim Mann\r
+\r
+* General release, minor update to 3.0.pl8.\r
+\r
+* Loosened checking on whether it's okay to start a move, to satisfy\r
+ICS ultra-blitz players.  Now we don't check whether it's your turn\r
+until you let go of the piece.\r
+\r
+* Parser now recognizes "+-+" as meaning the game ended in a draw.\r
+\r
+* Got rid of S_NONE symbol, which seems to conflict with some symbol\r
+Sun defines.\r
+\r
+* Tweaked the man page.  Clarified that there is currently no way for\r
+two people running copies of xboard to play each other without going\r
+through the Internet Chess Server.\r
+\r
+* Fixed a bug in color name conversion.  Asking for two different\r
+colors whose names were the same in the first four characters would\r
+get you two copies of the first one.  Thanks to Volker Zink for the\r
+bug report.\r
+\r
+* Improved confusing Usage() message.\r
+\r
+* Added a bunch of Sun information to the Imakefile and INSTALL file.\r
+Thanks to Ed Hanway, Arik Klingensmith, and others who responded.\r
+\r
+* Test for defined(WIN32) instead of !defined(unix).\r
+\r
+* Avoid using (void *) type with non-ANSI C compilers.  Thanks to\r
+James Altucher for the bug report.\r
+\r
+3.0, patchlevel 8 -- Thu Sep  2 12:23:01 PDT 1993 -- Tim Mann\r
+\r
+* Note: Patchlevel 8 was the first non-beta release of xboard 3.0\r
+\r
+* Added cmail to distribution.  Contributed (and still maintained) by\r
+Evan Welsh.\r
+\r
+* Bug fix: -queen option wasn't initializing menu check.  Reported by\r
+Pat Surry.\r
+\r
+3.0, patchlevel 7 -- Thu Aug 26 13:23:24 PDT 1993 -- Tim Mann\r
+\r
+* Sent WinBoard 3.0.pl7 to Torre on ICS\r
+\r
+* Added parser.h to hold the interface to parser.l\r
+\r
+* Upgraded COPYING file and copyright notices to GNU GPL version 2.\r
+\r
+3.0, patchlevel 6 -- Tue Aug 24 15:16:13 PDT 1993 -- Tim Mann\r
+\r
+* We no longer display intermediate positions or intermediate comments\r
+while loading a game file with -timeDelay 0 or loading an opening to\r
+start up a -matchMode game.\r
+\r
+* Loading an empty game from an xboard save file now gives a status\r
+message "No moves in game" instead of an error popup saying "Game not\r
+found in file."\r
+\r
+* Added comment.awk to distribution.\r
+\r
+3.0, patchlevel 5 -- Tue Aug 17 16:45:54 PDT 1993 -- Tim Mann\r
+\r
+* Bug fix:  xboard would crash if it couldn't get all its colors; now\r
+it switches to monoMode instead.  Also, xboard was trying to convert\r
+color resources even when using a b/w display.  Reported by Larry\r
+Rogers.\r
+\r
+* Bug fix: Declared fields of TimeMark as signed so that we get signed\r
+instead of unsigned arithmetic.  SubtractTimeMarks was breaking on\r
+Alpha AXP (which has 64-bit longs) with old declarations.  Reported by\r
+Michel van der List.\r
+\r
+* Bug fixes:  Keyboard accelerators now work after EditComment window is\r
+popped down.  Iconize keyboard accelerator now works even if xboard\r
+was started with -iconic flag and later deiconized.\r
+\r
+* Bug fix:  The routine that tests whether a move is illegal because it\r
+would leave you in check was not handling e.p. captures properly.\r
+Reported by Patrick Surry.\r
+\r
+* Bug (?) fix:  Was adding time to clocks at time control even when\r
+loading a game file.  Actually it's not entirely clear how time\r
+controls should be dealt with when some moves are loaded from a file\r
+or clicked in with ForceMoves.  For now ForceMoves mode does add the\r
+time (because it can be used to change moves during a live game), but\r
+LoadGame mode does not.\r
+\r
+* Updated usage message.\r
+\r
+* Previous attempted fix to matchMode had broken TwoMachines mode and\r
+generally needed more work.  Also simplified command line interface to\r
+matchMode.\r
+\r
+3.0, patchlevel 4 -- Thu Aug  5 14:17:18 PDT 1993 -- Tim Mann\r
+\r
+* Thanks again to the beta testers listed for 3.0 patchlevel 3, and also\r
+Desnogues, Steve Cariglia, Niklas Engsner, Mark Silver, and Roger Rowe.\r
+\r
+* Reorganized man page, splitting OPTIONS into subsections.\r
+\r
+* matchMode was very broken; fixed.\r
+\r
+* Changed convention for turning off command line options from --opt\r
+to -xopt, to be less inconsistent with GNU standards.  Also changed\r
+the long command line options to take True/False arguments like\r
+resources; seems to make more sense this way.\r
+\r
+* Added AlwaysQueen option -- suppresses promotion dialog and always\r
+promotes to a queen if you move a pawn to the last rank.  Has no\r
+effect on gnuchess (or your ICS opponents!) -- they can still\r
+underpromote.\r
+\r
+* Subtracted an extra fudge term when determining how wide message and\r
+title widgets should be.  This fixes a problem some beta testers had.\r
+Wish I knew why it's needed.\r
+\r
+* Bugfix in parser; symptom was that you couldn't do LoadGame after\r
+observing a game on ICS.\r
+\r
+* Bugfix in Forward; didn't work after game ended while Pause was turned on.\r
+\r
+* Removed bogus execute bits on .h files.\r
+\r
+* Use REMOTE_SHELL and TELNET_PROGRAM definitions.\r
+\r
+* MachineWhite and MachineBlack now work from TwoMachines mode.\r
+\r
+* Popping down an error message with the [ok] button was not turning off\r
+the errorUp flag, so the next move would cause xboard to try to pop it\r
+down again, resulting in a wild memory reference and sometimes a crash.\r
+\r
+3.0, patchlevel 3 -- Tue Aug  3 17:40:27 1993  -- Tim Mann\r
+\r
+* Thanks to my beta testers: Patrick Surry, Takuya Kojima, Robert J. Luoma,\r
+Chris L.  Petroff, Richard K. Lloyd, Michel van der List, Craig Metz,\r
+Antoon Frehe, Simon Clift, Shelly, Eric Peterson, Christopher Mitchell,\r
+Martin Koch, Ed Hanway, Steve Booth, Udo, Ken Hobday, and Joseph Duhamel.\r
+\r
+* Improved error messages for trying to move the wrong color pieces or\r
+to move when it's not your turn.\r
+\r
+* Special code for monoMode on 1-bit displays now understands displays\r
+where 1=white and 0=black.\r
+\r
+* Declare getenv() if <stdlib.h> not included; avoids a compiler warning.\r
+\r
+* Documented borderXoffset and borderYoffset.\r
+\r
+* Added -titleInWindow option for use with X window managers that\r
+don't let us set the title in the window banner.\r
+\r
+* Fixed error message printing in WinBoard; system error messages no\r
+longer appear as numeric codes.\r
+\r
+* The error message popup is now non-modal; you don't have to press the\r
+[ok] button before you can do something else.  In addition, the popup is\r
+positioned so that it doesn't cover up the board (too much), and making a\r
+move or otherwise clicking on the board pops it down.  (Not implemented in\r
+WinBoard.)\r
+\r
+* You can now call your opponent's flag in ICS mode by clicking on his\r
+clock. \r
+\r
+* Fixed minor bugs in -flipView option and documented exactly how xboard\r
+decides which way to flip the view.\r
+\r
+3.0, patchlevel 2 -- Fri Jul 30 22:20:23 PDT 1993 -- Tim Mann\r
+\r
+* Added Autosave to Options menu.  Would be better to have Save\r
+Options dialog as in WinBoard, but this was quick to do and gives the\r
+most-needed functionality.\r
+\r
+* Changed "Reload Game" on menu to "Reload Same Game".\r
+\r
+3.0, patchlevel 1 -- Thu Jul  8 21:22:59 PDT 1993 -- Tim Mann\r
+\r
+* Sent a copy of patchlevel 1 to Patrick Surry to beta-test.\r
+\r
+* Added -cmail option that sets appData.cmailMode.  Currently a no-op.\r
+In the future this may set special modes for use by the cmail script\r
+for playing chess by email.\r
+\r
+* Added LoadNextGame, LoadPreviousGame, and ReloadGame to File menu.\r
+ReloadGame suggested by Patrick Surry.\r
+\r
+* Added -flipView command-line option.  Suggested by Patrick Surry.\r
+\r
+* Fixed bugs in parser.l:  (1) Pattern for "# xboard game file ..."\r
+needed to match to end of line.  (2) Start of a new file was not matching\r
+the ^ start-of-line character.  The fix for this is a kludge.\r
+\r
+* Made game counting code in LoadGame more robust, and made LoadGame\r
+able to detect the end of a saved partial game (by noticing the start\r
+of the next game) in game files created by XBoard itself.  We don't\r
+try to find the start of the next game that way in other kinds of game\r
+files, because the only way I can think of to do that is to look for\r
+another move #1, and that technique gets too many false hits.\r
+\r
+* Fixed recently introduced bug in LoadGame when game starts with a\r
+position diagram.\r
+\r
+3.0, patchlevel 0 -- Fri Jun 25 14:17:17 PDT 1993 -- Tim Mann\r
+\r
+* Changes in this patchlevel were too numerous to list.  Larger ones are\r
+listed below.\r
+\r
+* Added a popup dialog to enter and edit comments.  Inspired by some\r
+code from Patrick Surry.  Changed the normal read-only comment popup\r
+to the same style.\r
+\r
+* Added ICS init script feature from Karl Schwamb.\r
+\r
+* Added some ESIX fixes and OMIT_SOCKETS ifdef option, from Kayvan Sylvan.\r
+\r
+* Revamped code to allow use of flex instead of lex on parser.l.\r
+Using flex requires adding -DFLEX to defines in Imakefile.\r
+\r
+* Source code is split into front end (xboard.c), which knows about X\r
+and Unix, and back end (backend.c), which knows about chess, gnuchess,\r
+and the ICS.  There is also a front end for Windows NT.\r
+\r
+* Boolean command line options now use "-foo" to turn on and "--foo"\r
+to turn off instead of "-foo true" and "-foo false".  [Later -xfoo;\r
+see above.] \r
+\r
+* Added menu commands to control autoflag, bell, and coords options.\r
+\r
+* User interface has a new look: (1) Menu bar instead of array of\r
+buttons.  A few very commonly used features have small buttons in\r
+addition to being on the menus. (2) Large font for clock.  (3) Pop-up\r
+dialogs for errors.\r
+\r
+2.1, patchlevel 11 -- Sat Jun  5 00:01:01 PDT 1993 -- mann@src.dec.com\r
+\r
+* Added code to deal with "wild" games on ICS.  This includes allowing\r
+castling with the king on d1 or d8, which is allowed in wild(1) games\r
+if the king started there.  Notation is o-o to castle "short"---to\r
+whichever side the king is closer to---and o-o-o to castle "long."\r
+Right now wild castling is always allowed by xboard; we rely on ICS or\r
+gnuchess to reject it when we aren't really in wild mode.\r
+\r
+* memcpy call had arguments in wrong order.\r
+\r
+* Removed April Fool code\r
+\r
+2.1, patchlevel 10 -- Mon Feb 15 10:19:31 PST 1993 -- mann@src.dec.com\r
+\r
+* Avoid trying to select on a pipe when using System V.  Needed to\r
+copy some code from InitChessProgram() up into establish().\r
+\r
+* Bug fix in disambiguating pawn moves like "ed".\r
+\r
+* Fix to error handling in ReceiveFromProgram.\r
+\r
+* Bug fix: entering EditPosition mode with black to play highlighted\r
+White's clock instead of Black's.\r
+\r
+* Added telnetProgram resource in case "telnet" is not the name of the\r
+telnet program.\r
+\r
+2.1, patchlevel 9 -- Fri Jan 22 19:08:27 PST 1993 -- mann@src.dec.com\r
+\r
+* Entering Force Moves mode clears "flag has fallen" messages from display.\r
+\r
+* ICS host name can now be in numeric format; for example 128.2.232.4.\r
+\r
+* Bug fix: LegalityTest was failing to test whether a pawn move was\r
+illegal because the move would discover a check.\r
+\r
+* Handle ICS message "mann asserts a win over manntest, who disconnected."\r
+\r
+* Bug fix: A recent change to PromotionCallBack had broken\r
+underpromotion to a knight.\r
+\r
+* Bug fix: In EditPosition mode, dragging a piece onto a square border\r
+would make it vanish.  xboard wasn't distinguishing this case from\r
+dragging the piece off the board.  Thanks to Matthew Kidd.\r
+\r
+* Removed "static" declaration from yywrap for compatibility with IRIX\r
+version of lex.  Thanks to stiller@blaze.cs.jhu.edu.\r
+\r
+* Added substitutes for bzero, bcopy, and gethostname for Solaris\r
+SVR4.  Thanks to Michael Grant.\r
+\r
+* Bug fixes to queen move disambiguation.  Bugs showed up only when\r
+promotion resulted in more than one queen on the board.\r
+\r
+2.1, patchlevel 8 -- Fri Dec 11 17:54:18 PST 1992 -- mann@src.dec.com\r
+\r
+* parser bug fix: It now really works to leave off the piece a pawn is\r
+promoting to and let it default to queen.\r
+\r
+* When starting to observe or play an ICS game, don't draw board in\r
+initial position and then immediately redraw it in the current\r
+position.\r
+\r
+* Handle ICS messages when an "abuser" forfeits a game by\r
+disconnecting and when a game is aborted ("removed") by an\r
+administrator.\r
+\r
+* Bug fix: A user move when in LoadGame+Pause mode was resuming the\r
+game load instead of putting us in force mode.\r
+\r
+* It seems that crashes inside sscanf when xboard is compiled with gcc\r
+(as on IBM PS/2 AIX, mentioned below, and also on VAX Ultrix 3.1) are\r
+caused by an incompatibility between gcc and the sscanf implementation\r
+on these platforms.  A workaround is to specify -fwritable-strings to\r
+gcc (see the gcc documentation).  Added info on how to do this to the\r
+Imakefile.  Thanks to Tom McConnell for this information.\r
+\r
+* Clocks are allowed to go negative.  This is mostly for ICS\r
+compatibility, but it affects gnuchess mode too.  Also, we give the\r
+time bonus when a player hits the time control boundary even if his\r
+flag is already down.  This choice is a bit debatable, but it makes\r
+things look better when you are in TwoMachines mode and gnuchess's\r
+time management screws up causing it to exceed its time limit.\r
+\r
+* Implemented move legality checking code.  Moves made with the mouse\r
+or parsed from a file are checked for legality before being made.\r
+This is mostly in preparation for future extensions, such as\r
+human-human play.  For now it makes -noChessProgram mode more useful.\r
+\r
+* If the user takes back moves, we restore the clocks to the earlier\r
+settings.\r
+\r
+* We now handle the output of the ICS oldmoves command, including\r
+parsing the game end condition.\r
+\r
+* Added autoCallFlag mode.\r
+\r
+* Fixed glitches in the medium size outline king and rook bitmaps, and\r
+touched up the medium size solid king and outline queen.\r
+\r
+* bug fix: DisplayMove would not display backwardMostMove - 1.\r
+\r
+* Added CallFlag button and removed AcceptMatch.  CallFlag is more\r
+important with new ICS, and accepting the current match offer is easy\r
+with the new ICS command "accept" (can be abbreviated "ac").\r
+\r
+* LoadGame and LoadPosition display tail of file name (plus index\r
+number, if any) as title.\r
+\r
+* MachineWhite, MachineBlack, and TwoMachines now work properly from\r
+LoadGame and LoadGame+Pause mode.\r
+\r
+* Use o-o and o-o-o to castle on ICS, not 00 and 000.\r
+\r
+* Stripped out code for old ICS messages; new ICS is now installed.\r
+\r
+* Bug fix: don't offer autosave when paused during LoadGame.\r
+\r
+2.1, patchlevel 7 - Fri Dec 11 17:40:56 PST 1992 - mann@src.dec.com\r
+\r
+* Track change to "Illegal move" message in new ICS.\r
+\r
+2.1, patchlevel 6 -- Tue Dec  8 10:48:44 PST 1992 -- mann@src.dec.com\r
+\r
+* Kludged around bug in keeping comment popup where you put it by\r
+adding borderXoffset and borderYoffset resources that give the width\r
+of the borders added by the window manager.  Yucch.\r
+\r
+* Changed searchDepth kludge back to using "help" instead of "bd"; the\r
+latter didn't work because the output contains a line starting with\r
+"White", so we think gnuchess is telling us that White won.  Oops.\r
+\r
+* Removed some code that uses an X11R5 feature, XrmGetDatabase.\r
+Without this, the auto font sizing code is harder to make work, so to\r
+keep my sanity I had to change it to affect only the fonts that appear\r
+in the main window and the comment popup, not the other popups.  Maybe\r
+this is better anyway.\r
+\r
+* AcceptMatch button now works after a counterchallenge, too.\r
+\r
+* Added code for more variants of messages about games being adjourned\r
+or aborted.  These messages need to be unified in new version of ICS.\r
+\r
+* Added workaround for minor bug in ICS; game number on first board\r
+can be wrong.\r
+\r
+* Removed code to say "refresh n" instead of "refresh"; was broken and\r
+wasn't needed anyway.\r
+\r
+* Added missing casts for compilers that distinguish enums from ints\r
+and missing cast in connect call.\r
+\r
+* Added code to recognize "both sides are out of time" draw message\r
+proposed for next version of ICS.\r
+\r
+* Thanks to Danny Sleator and Joe Peterson for bug reports.\r
+\r
+2.1, patchlevel 5 -- Sun Dec  6 19:52:40 PST 1992 -- mann@src.dec.com\r
+\r
+* Removed gcc and CDEBUGFLAGS from Imakefile.\r
+\r
+* Corrected setting of mode to ForceMoves when game file ends or\r
+contains an AmbiguousMove or BadMove.  Previous bug was harmless.\r
+\r
+* Added AcceptMatch button and mention of 50-move rule for Draw button\r
+to man page.\r
+\r
+2.1, patchlevel 4 -- Sun Dec  6 02:55:42 PST 1992 -- mann@src.dec.com\r
+\r
+* Now handles revised messages from new version of ICS.  New ICS is\r
+not released yet, so this code might change further.  Next patchlevel\r
+will remove support for old ICS; both are there now.\r
+\r
+* Initial processing for a new game being watched or played now\r
+happens when we see the first board image.  Removes the need to parse\r
+some messages and unifies some code.\r
+\r
+2.1, patchlevel 3 -- Tue Dec  1 19:40:40 PST 1992 -- mann@src.dec.com\r
+\r
+* Handles ICS messages "Draw : neither player has mating\r
+material" and "Draw : White has no material, Black has no time."\r
+\r
+* Added AcceptMatch button for ICS mode.\r
+\r
+* Fixed bug in previous fix to yylexstr().\r
+\r
+* Fixed bugs in code for loading old position files that don't start\r
+with "#" and for handling case where user asked for nth position in\r
+file but there aren't that many.\r
+\r
+* Handles ICS message "* has restored your old game"\r
+\r
+* ResetProc always clears title line now.\r
+\r
+* Don't issue just "refresh" when watching a game; use game number.\r
+Upcoming new version of ICS may need this.\r
+\r
+* Added code to try to prevent user from watching and/or playing more\r
+than one game at a time.  There is a race condition inherent here; if\r
+we get more than one board from the game before our command to stop\r
+watching it takes effect, we'll think the user started it again.  Not\r
+clear how to fix this.\r
+\r
+* Redid ParseBoard8 to use sscanf.  Code is a good deal cleaner now.\r
+Also, we now parse out the game number too, though we don't make much\r
+use of it yet.\r
+\r
+* (Tried to put in a feature that recognizes the current game in a\r
+game file must have ended when we see the start of a new one, but had\r
+to disable it because we have too many false hits with the current\r
+parser, especially in gnuchess listing files.)\r
+\r
+* Moves read from game files or received from ICS are now translated\r
+into canonical algebraic form just like all other moves.  Minor nit:\r
+If you use Reset while playing or observing a game in ICS mode, the\r
+game history (including the current board position) is lost, so the\r
+next move of the current game can't be translated.\r
+\r
+* Default fonts now vary with board size, and are chosen by pixel size\r
+instead of point size (since piece bitmaps have a fixed pixel size).\r
+\r
+* Bug fix: An extra Forward was required to skip over time indications\r
+in game files.\r
+\r
+2.1 patchlevel 2 -- Fri Nov 27 23:30:00 PST 1992 -- mann@src.dec.com\r
+\r
+* If you move the comment popup, the next time it pops up it will come\r
+back where you put it.\r
+\r
+* Fixed yylexstr() so calls to it can be interspersed with calls to\r
+yylex().\r
+\r
+* Fixed bugs in Forward/Backward while in LoadGame mode.\r
+\r
+* Changed Save{Game,Position} functions to append instead of\r
+overwriting if file exists.  Changed Load{Game,Position} functions to\r
+deal with multiple games/positions per file.\r
+\r
+* Changed load{Game,Position}File resources to trigger automatic load\r
+on program startup.  Changed save{Game,Position}File resources to\r
+trigger automatic save after every completed game and on program exit.\r
+\r
+* Added autoSaveGames mode.\r
+\r
+* Fixed bug with PromoPiece in call to MakeAlg from MakeMove.\r
+\r
+* Many changes to get rid of picky compiler warnings and generally\r
+clean up the code.\r
+\r
+2.1 patchlevel 1 -- Fri Nov 27 02:45:00 PST 1992 -- mann@src.dec.com\r
+\r
+* A last minute change before patchlevel 0 went out broke\r
+ParseGameHistory().  Immediately fixed in patchlevel 1.\r
+\r
+Version 2.1, patchlevel 0 -- Fri Nov 27 02:00:00 PST 1992 -- mann@src.dec.com\r
+\r
+* Uses "time" command of gnuchess 4.0 and following to keep clocks in\r
+sync.  Still works with older versions without this command; we test\r
+whether the command is present the first time each chess program is\r
+started.\r
+\r
+* File name dialog pops up under the mouse cursor, so that it's got the\r
+keyboard focus if the window manager is using pointer focus.\r
+\r
+* Attempts to move the wrong color piece or an empty square are filtered\r
+out in xboard instead of being passed on to GNU Chess or the ICS.\r
+\r
+* The reason a game ended is now remembered even if you move backward\r
+and forward after it ends.  It is forgotten only if you make a move\r
+(which is as it should be---this is now a different game, which hasn't\r
+ended yet).  The message saying why the game ended no longer wipes out\r
+the last move.\r
+\r
+* Pause, Backward, Forward, ForceMoves, and EditPosition now work from\r
+TwoMachines mode.\r
+\r
+* Forward and Backward now change only the board display unless you\r
+are in ForceMoves mode.  Pause mode keeps new moves that are received\r
+from being displayed on your screen until you unpause (or use\r
+Forward).\r
+\r
+* Added option to ring the bell after opponents' moves.\r
+\r
+* Saved games that start from other than the standard initial position\r
+now begin with a postion diagram as in saved position files.  The\r
+loader is modified to understand such save files.\r
+\r
+* Improved error checking when trying to read from gnuchess.\r
+\r
+* Parser understands things that look like time indications, e.g., (0:12),\r
+instead of popping them up as comments.\r
+\r
+* Send "quit" to gnuchess before trying to kill it.  I needed this\r
+locally because sending a SIGTERM to rsh was not killing the remote\r
+program on some internal field test systems we have.\r
+\r
+* Merged in code from John Chanak to make xboard a front end to the\r
+Internet Chess Server, and added several improvements of my own.\r
+(These include parsing end of game messages, loading the current state\r
+and previous history of a game that's joined in progress via "watch"\r
+or "load", automatic switch from board style 1 to 8 when needed,\r
+removing irrelevant buttons and adding some new ones, adding the\r
+useTelnet and gateway resources, and miscellaneous code cleanup, bug\r
+fixes, and documentation.)  Many thanks to John for writing and\r
+contributing the initial version of this code.\r
+\r
+Fri Oct 30 20:16:40 PST 1992 (patchlevel 25) mann@src.dec.com\r
+\r
+* gnuchess now castles by sending us "o-o" or "o-o-o" (starting with a\r
+preliminary version of 4.0.pl60 that I have).  Added code to handle\r
+this.  The old format ("e1g1", etc.) still works too.\r
+\r
+* Added code to format moves in normal abbreviated algebraic notation\r
+(for example, e4, exd4, f8Q, Nf6, 0-0) instead of coordinate algebraic\r
+(for example, e2e4, e3d4, f7f8q, g1f6, e1g1).  Moves entered with the\r
+mouse or received from gnuchess are translated into this canonical\r
+format for display on the message line or in saved game files.  Moves\r
+read from game files are not translated, however; they are shown and\r
+saved just as they appear in the file.\r
+\r
+Mon Sep 14 13:19:01 PDT 1992 (patchlevel 24) mann@src.dec.com\r
+\r
+* It's not really correct to write an ep capture of a pawn on e5 as\r
+fxe5; this should be written as fxe6 because e6 is where the capturing\r
+pawn ends up.  Nevertheless, the parser now interprets fxe5 as the ep\r
+capture f5xe6 unless there is a pawn on f4, in which case it\r
+interprets fxe5 as f4xe5.  By design, the parser does not flag fxe5 as\r
+ambiguous if there are pawns on both f4 and f5; instead it prefers the\r
+more legitimate f4xe5 interpretation.\r
+\r
+* A move like fxe6 or fe6 is now interpreted as an e.p. capture of the\r
+pawn on e5 if there is one there and e6 is empty.\r
+\r
+* A move like fxe5 can no longer be interpreted as an e.p. capture if\r
+there isn't a pawn on e5 to be captured.  Previously this could happen\r
+erroneously if there were pawns on both f4 and f5, and the f4 pawn was\r
+capturing a piece on e5.\r
+\r
+* The parser no longer munges the move it is parsing; in the past, for\r
+instance, it would remove the "x" from a move like dxc5 before echoing\r
+it to the screen.\r
+\r
+* The parser now detects when a move is ambiguous and returns an\r
+error, instead of arbitrarily choosing one possibility as it used to.\r
+\r
+Mon Aug 10 18:40:47 PDT 1992 (patchlevel 23) mann@src.dec.com\r
+\r
+* Added code so parser can handle fully qualified algebraic, e.g.,\r
+Ng1-f3, N/g1-f3, Ng1f3, or even Pe2-e4.  The "P" and "/" work only for\r
+fully qualified moves, not generally.\r
+\r
+* Fixed parser bugs in handling moves with rank or file disambiguator,\r
+e.g. N1f3 or Ngf3.\r
+\r
+Mon Jul  6 17:55:32 PDT 1992 (patchlevel 22) mann@src.dec.com\r
+\r
+* AIXV3 patch from Tom McConnell; thanks!\r
+\r
+* After hitting the Backward button we see the last move made instead of\r
+the word "Pausing" displayed.\r
+\r
+* Fixed a couple of problems compiling on IRIX; thanks to Michel Arsenault\r
+and Alan Walsh for bug reports and help with fixes.\r
+\r
+* Added optional display of algebraic notation coordinates along left and\r
+bottom edges of board.  This was inspired by some code from Jean-Christophe\r
+Engel; thanks!\r
+\r
+* Swapped EditPosition and Pause buttons to reduce danger of losing the\r
+game in progress by hitting EditPosition when you wanted Backward.  Thanks\r
+to Ove Lundberg for complaining (though it bugged me too).\r
+\r
+* Despite one complaint, I kept the feature of changing both clocks when black\r
+makes time control, rather than changing each individually when the player\r
+involved makes it.  This is to avoid having it look like White is way ahead on\r
+time while Black is thinking about the last move of the time control period\r
+(i.e., when White has made time control but Black hasn't yet).\r
+\r
+* Corrected clocks to work as in real tournaments.  Time is *added* when you\r
+reach time control; previously the clocks were simply set to the length of the\r
+new time period.  Also, when a player's flag falls, he still does not receive a\r
+new time allotment at the next time control, but his opponent does still\r
+receive more time if *his* flag has not fallen; previously, time controls were\r
+ignored for both players if either flag fell.  I forget who reported this bug.\r
+\r
+* Added a small ESIX patch from Kayvan Sylvan.\r
+\r
+Mon Jun 22 13:24:38 PDT 1992 (patchlevel 21)\r
+\r
+* Added some SVR4 support code from Ronald Cole.  It's Greek to me.\r
+\r
+* Note:  Stephen Meatheringham reports a bug causing xboard to crash with an\r
+error from the X server when run on a Sun Sparcstation IPX with Solaris 1.0.1\r
+and OpenWindows 3.0.  This bug has not been tracked down yet.\r
+\r
+* Fixed a problem with ATTENTION code.  On some operating systems, you have to\r
+be even more cautious about when you send a SIGINT to gnuchess, because the\r
+signal handler gets deinstalled each time it is used, and gnuchess does not\r
+reinstall it immediately.  In particular, if you send a SIGINT and make an\r
+illegal move or ask for a hint, gnuchess does not reinstall the handler until\r
+*after* you make your next move, so you had better not send a SIGINT before\r
+it.  I put a workaround for this case into xboard; I hope there are no more.\r
+\r
+* The ATTENTION code is needed when compiling for the ESIX operating system,\r
+because ESIX has a bug in the FIONREAD ioctl, so the code in gnuchess that\r
+lets you interrupt its thinking on your time just by typing in your move does\r
+not work.  Perhaps gnuchess will have a workaround for this eventually.\r
+\r
+* Fixed yet another bug in using XtGetValues; code to inhibit shell resizing\r
+was leaving a null pointer as the place to store the current sizes.\r
+\r
+* Man page fixes: corrected -sl to -sd, updated LIMITATIONS.\r
+\r
+* Added include of <sys/time.h> conditional on HAS_GETTIMEOFDAY.  I hope this\r
+works for all systems; on mine, <time.h> and <sys/time.h> are the same file,\r
+but with an #ifndef that makes it harmless to include both.\r
+\r
+* Thanks for reports from Mike Pearlman, Stephen Meatheringham, Kayvan Sylvan,\r
+d87-mal@nada.kth.se, Urban Koistinen, and Ronald Cole.\r
+\r
+Mon Jun  8 11:39:18 PDT 1992 (patchlevel 20)\r
+\r
+* Documented default value of initString and explained what it means.  This\r
+paragraph also serves to inform the user that xboard by default will tell\r
+gnuchess to think on his time, something one user apparently didn't understand.\r
+\r
+* Redid -searchDepth (formerly -searchLevel) and -searchTime code.  They both\r
+work correctly with gnuchess 3.1 now.  The -searchDepth option also works\r
+correctly with gnuchess 4.0.  The -searchTime option does not work with\r
+gnuchess 4.0.pl50 or earlier because those gnuchess versions do not have a\r
+working searchTime feature.  Instead of having xboard do a half-baked emulation\r
+of this feature by using a 1-move time control, I will be submitting a patch to\r
+the gnuchess folks to restore the feature as in 3.1.\r
+\r
+* Improved clock code.  It now keeps accurate track of fractional seconds of\r
+clock running time, if your system has gettimeofday(); if not, it is generous\r
+about them---if a clock has been going for n.m seconds when it is stopped, only\r
+n seconds are charged.  Previously, xboard would charge one second immediately\r
+when a clock was started, so if n.m had elapsed when it was stopped, n+1 would\r
+be charged.  This should stop xboard from thinking gnuchess has let its flag\r
+fall on the last move of a time control, as it often did before.  I also\r
+improved the comments and condensed the code a little.  I hope there are no\r
+systems that have X11 and don't have gettimeofday(), but if there are, I'd like\r
+to know what to replace it with.\r
+\r
+* "Flag dropped" messages now show up on the top line, beside the clocks, so\r
+that they don't obscure more interesting messages on the second line.\r
+\r
+* Fixed confusion of NULL and '\000'.\r
+\r
+* Include time.h to get ctime() declaration.\r
+\r
+* Fix to "parser bug" messages in parser.l.\r
+\r
+* Changed code to work with old-fashioned tolower() macro that requires its\r
+argument to be an uppercase letter.\r
+\r
+* Minor fix to some usage error messages; was reversing program name and\r
+erroneous argument value.\r
+\r
+* Thanks to Mitch Wright, Ranier Orth, and Henrik Schmiediche for bug reports.\r
+\r
+Fri Jun  5 13:06:08 PDT 1992 (patchlevel 19)\r
+\r
+* Note: xboard does not seem to work when compiled with gcc 1.40 on a\r
+PS/2 running AIX.  It crashes at the sscanf in line 768 of xboard.c.\r
+You can work around the problem by specifying the -timeControl option\r
+on the command line instead of defaulting it.  This does not seem to\r
+be a bug in xboard itself; it runs okay on PS/2 AIX when compiled with\r
+MetaWare High C.  [But see 2.1.pl8 above.]\r
+\r
+* Removed bogus files from distribution.\r
+\r
+* Changed variable name that conflicted with SVR4 ttyname function.\r
+\r
+* Thanks to Christoph Strozyk for another bug report, and to several\r
+of the folks mentioned under patchlevel 18 for testing it.\r
+\r
+Wed Jun  3 17:50:37 PDT 1992 (patchlevel 18) mann@src.dec.com\r
+\r
+* Added an include of sys/fcntl.h to pick up the definition of O_RDWR for\r
+System V users.\r
+\r
+* Fixed a bug in CatchPipeSignal; was testing the wrong variable to determine\r
+which chess program got the signal.\r
+\r
+* Removed the declaration of strrchr, which was causing problems for some\r
+people, and added an include of <string.h> or <strings.h> instead.\r
+\r
+* Fixed a bunch of type errors uncovered by compilers that check more carefully\r
+than the one I was using.  I just patched many of them with casts---typically\r
+cases where a function didn't take the same number and type of arguments as the\r
+X header file prototype said it should---because I didn't see any other way to\r
+fix them.  The versions of the X header files that I have don't actually have\r
+full prototypes for these function types; they declare only the return type and\r
+just give the argument types as comments.\r
+\r
+* InitChessProgram returns immediately if chess program died while we were\r
+waiting for it to say "Chess".  I think this fixes a bug that could make xboard\r
+crash or go into an infinite loop printing "Warning: Select failed; error code\r
+9" if gnuchess crashed there.\r
+\r
+* Removed code that tries to put the file descriptor used to read messages from\r
+gnuchess into nonblocking mode.  I don't see how this kludge could ever have\r
+fixed the problem it was intended to (see below), and it seemed to be causing\r
+a race condition when we were waiting for the initial message from gnuchess\r
+after it started up.\r
+\r
+* Thanks to Richard K. Lloyd, Konstantinos Konstantinides, Mark\r
+Seiden, Erik Schoenfelder, Andreas Stolcke, Rainer Orth, Henry Thomas,\r
+and Kris Van Hees for bug reports and help with fixes.\r
+\r
+Sun May 31 08:00:00 PDT 1992 (patchlevel 17) Bart Massey bart@cs.uoregon.edu\r
+\r
+*  'xboard' suffered from a couple of serious bugs.  An initial\r
+   size needed to be given to the message label to avoid a race\r
+   condition (!) so I gave it some text (otherwise occasionally\r
+   xboard would fail because the message widget was 0 width under\r
+   MIT X11R4).  The sizes needed to be Dimension, not int, because\r
+   they were written in by Xt -- on my big-endian box Dimension\r
+   is short, causing chaos.  Also, I hacked a declaration in for\r
+   strrchr() to shut the compiler up -- this is arguably a kludge,\r
+   but I couldn't think of anything better; maybe you can.\r
+\r
+Fri May 22 13:40:50 PDT 1992 (patchlevel 16)\r
+\r
+* First real (non-beta) release of version 2.0.\r
+\r
+* Added GNU copyleft notices covering version 2.0 enhancements.\r
+\r
+Thu May 21 12:30:09 PDT 1992 (patchlevel 15)\r
+\r
+* Removed -g from Imakefile.\r
+\r
+* Added casts in parser.l to prevent warning messages from some C compilers.\r
+\r
+* Bugfix: code to exit if chess program couldn't be started had bug in error\r
+message printing.\r
+\r
+Tue May 19 11:58:06 PDT 1992 (patchlevel 14)\r
+\r
+* Fixes one small bug: If LoadGame does not find a game in the file, it resets\r
+xboard to BeginningOfGame mode (as if the Reset button was pressed), instead of\r
+leaving it in LoadGame mode.\r
+\r
+Mon Apr 13 18:32:27 PDT 1992 (patchlevel 13)\r
+\r
+* Improved error handling when gnuchessx crashes.  Now displays a message and\r
+enters EndOfGame state without exiting.  This should help with diagnosing\r
+gnuchessx problems, since the position and move history are not lost.\r
+\r
+* Debugged man page.\r
+\r
+Version 2.0 -- Thu Apr  2 16:04:54 PST 1992 (patchlevel 12)\r
+\r
+* Added small 40x40 pixel pieces; board size now specified as small, medium, or\r
+large. \r
+\r
+* Improved man page.\r
+\r
+* Saved position files now say "white to play" if it's white's move.\r
+\r
+* SavePosition while in EditPosition mode now gets side to play right.\r
+\r
+* Made "Pawn" the default on edit position menus.\r
+\r
+* Removed "To play" from edit position menus, since it's redundant.  Left\r
+support code in so it can be restored if someone wants it.\r
+\r
+* Tightened parser's definition of a move number to help further with skipping\r
+over stuff before the first move.\r
+\r
+* Put back feature of skipping over stuff in game files before a start of game\r
+marker.  This helps when loading electronic mail messages that have things\r
+like "00" in the header (looks like castling), or that talk about moves in\r
+running text before the actual game score.  Tradeoff is that we can't load\r
+games that don't either have move numbers or say "gnuchess game" just before\r
+the moves.\r
+\r
+* Changed version number to 2.0 because others have used "1.3" for patched\r
+versions of 1.2.  Display version number and patchlevel at startup.\r
+\r
+Thu Apr  2 15:30:22 PST 1992 (patchlevel 11)\r
+\r
+* Bugfix:  Match started with TwoMachines button now handles the case where\r
+user loaded/edited a position *and* forced some moves.\r
+\r
+* added error message feedback to many cases where the user's button press is\r
+rejected because it isn't allowed in the current mode.\r
+\r
+* added -noChessProgram option to allow use as a passive chessboard without\r
+gnuchess, replacing old buggy scheme that tried to do this automatically when\r
+gnuchess was not found on the search path.\r
+\r
+* parser accepts "=" in front of promotion piece\r
+\r
+* parser accepts ":" notation for captures\r
+\r
+* Removed SwitchSides button to make room for EditPosition.  Left code in\r
+place, ifdef'ed out.\r
+\r
+* Added EditPosition mode.\r
+\r
+* Reformatted xboard.c to eliminate long lines.\r
+\r
+* Promotion popup now appears near rank to which pawn is moving.\r
+\r
+* UI improvement: Button representing current program mode is kept highlighted.\r
+\r
+* Bug fix:  Hint button is now disabled when machine is on move.\r
+\r
+Sat Mar 21 14:57:37 PST 1992 (patchlevel 10)\r
+\r
+* TwoMachines now works from MachineWhite or MachineBlack mode.\r
+\r
+* ForceMoves and Backward/Forward now work at the end of a game started by\r
+the TwoMachines button.\r
+\r
+* Sends o-o or o-o-o to gnuchess instead of O-O or O-O-O.\r
+\r
+* Bug fix:  SwitchSides button is now disabled when machine is on move.\r
+\r
+* Added -searchLevel option and corrected handling of -searchTime to reflect\r
+the way gnuchess really handles command line options instead of what the\r
+documentation used to say.  Allowed optional ":seconds" on times.\r
+\r
+Tue Mar 17 21:00:35 PST 1992 (patchlevel 9)\r
+\r
+* Removed non-working code that tried to recover when a remote chess program\r
+could not be started; now exits with a message instead.\r
+\r
+* Now waits for chess program to print its first message (normally "Chess")\r
+before sending it any commands.\r
+\r
+* Matches between two machines can now start from a black-to-play position or\r
+black-to-play opening.\r
+\r
+* Bug fix: The program would sometimes lose track of the board position after\r
+the end of the game, drawing a board full of white pawns next time it got an X\r
+redraw request.  Now fixed.\r
+\r
+* Cleaned up handling of illegal moves in game files.  Now we just stop reading\r
+and go into ForceMoves mode.\r
+\r
+* Saved games against gnuchess indicate who won (restored and debugged 1.2\r
+feature). \r
+\r
+* Setting -searchTime turns off -clockMode.\r
+\r
+* My trick for setting up a black-to-play position broke in the transition from\r
+gnuchess 3.1+ to 4.0.  Installed a different trick that works with both.\r
+\r
+* Bug fix: Was clobbering memory by mallocing one byte too few for the file\r
+name in SetupPositionFromFileProc.  This usually resulted in a crash on the\r
+second attempt to load a position from a file.\r
+\r
+Mon Mar 16 16:49:00 PST 1992 (patchlevel 8)\r
+\r
+* Game and position files are saved in CHESSDIR as well as loaded from there.\r
+We actually chdir there, so gnuchess listing files also wind up there.\r
+\r
+* Underpromotion moves from gnuchess really work now.\r
+\r
+Sat Mar 14 14:55:24 PST 1992 (patchlevel 7)\r
+\r
+* Cleaned up lots of bugs and kruft in parser.l.  It's a wonder the old version\r
+worked at all.  Improved rejection of random text interspersed with the moves.\r
+\r
+* Relabeled buttons to reduce confusion (Play From File --> Load Game;\r
+Setup From File --> Load Position).\r
+\r
+* Bug fix:  Doesn't exit at the end of a game that was started by pressing\r
+the Two Machines button.\r
+\r
+* Bug fix:  Doesn't get confused if you hit Machine Black (White) while\r
+the machine is already playing black (white) and is on move.\r
+\r
+* Prints "White to play" or "Black to play" after loading a position file.\r
+\r
+* Bug fix:  No longer hangs if no start-of-game is found in a game file.\r
+\r
+* More permissive about game file format.  The first line is not assumed\r
+to be a header comment unless it starts with "#".  We don't insist on\r
+seeing a "1." before the first move.\r
+\r
+* Added pop-up dialog to allow underpromotion.  Moving a pawn to the last rank\r
+pops up a dialog to let you select what piece to promote to.  Also added code\r
+to handle underpromotion moves from gnuchess or from a game file correctly.\r
+\r
+* Added code to send SIGINT to gnuchess before trying to move, if gnuchess\r
+might be busy thinking on our time.  The code is ifdef'ed out because it's\r
+not necessary; only beta-test versions of gnuchess 4.0 at patchlevel 19 or\r
+below require it.\r
+\r
+Mon Feb 24 20:10:22 PST 1992\r
+\r
+* Merged fixes received from Stuart Cracraft and Mike McGann, to iconic mode\r
+and to ShutdownChessPrograms.  (They both sent the same fixes.)  I did not\r
+install the change that removed "easy" from the initialization string, so\r
+xboard will still try to run gnuchessx in "hard" mode (thinking on opponent's\r
+time) by sending this command.\r
+\r
+Version 1.3 -- Thu Dec 19 18:19:00 PST 1991  mann@src.dec.com (Tim Mann)\r
+\r
+* I've fixed a slew of bugs in this version of xboard:\r
+\r
+* You can now back up from the end of a game, even if gnuchess was playing\r
+against you.  Since gnuchess exits upon mate or draw (when it's not in force\r
+mode), this feature works by starting up a new copy of gnuchess and feeding it\r
+the saved starting position and moves.  Drawback: the new gnuchess starts with\r
+clocks at the beginning of a fresh time control.\r
+\r
+* Note: the "force" command to gnuchess is a toggle.  I fixed a couple of\r
+places in xboard where "force" was being issued when gnuchess was already in\r
+force mode, which resulted in chaos.  I don't know if they were in 1.2 or if I\r
+added them myself in the course of putting in new features.\r
+\r
+* ForceMoves button is now legal in PlayFromFile mode.  It closes the game file\r
+and lets you force moves (or go Backward) from whatever position you've\r
+reached.\r
+\r
+* The parser now recognizes "white resigns" and "black resigns" (in any\r
+combination of upper and lower case, with or without the closing "s").  These\r
+used to be misinterpreted as meaning "white wins" or "black wins" respectively!\r
+Added "1 - 0" and "0 - 1" as equivalents for "1-0" and "0-1".\r
+\r
+* I removed the parser feature of considering "!" as a comment delimiter.\r
+"!" is so common as an annotation in game scores that this feature seems like a\r
+very bad idea.\r
+\r
+* Added a wait() after each successful call to kill() to avoid leaving zombie\r
+processes around.\r
+\r
+* Removed the feature of putting an indication of how the game ended into the\r
+internal move list when playing from a file.  The only benefit of this was that\r
+it would get written back out if you saved the game at that point.  This\r
+feature doesn't seem too useful, since you are unlikely to save a game you've\r
+read in without making any changes, and it caused a lot of problems in the code\r
+and user interface.  The end condition is still displayed as a message when\r
+it's first read in from the file.  End conditions when playing against gnuchess\r
+are still saved, too.\r
+\r
+* programName is now the last file name component of argv[0], not all of it.\r
+\r
+* xboard.c got three compiler warnings due to arguments that didn't match the\r
+prototypes on X toolkit functions.  I got rid of them by adding some casts, and\r
+adding extra unused arguments to the ReceiveFromProgram function.\r
+\r
+* As I received it, the distribution had an extra period glued on the front\r
+of every line that started with a period.  This broke the manpage in an\r
+obvious way.  It also broke parser.l in a nonobvious way that stopped\r
+PlayFromFile from working.\r
+\r
+* Fixed one or two bugs where the clock was started when it shouldn't have\r
+been.  I think one example was if you tried an illegal move in ForceMoves mode.\r
+\r
+* Now starts the machine's clock if you hit MachineWhite when white is on move\r
+or MachineBlack when black is on move.\r
+\r
+* Now updates the to-move indicator (highlight on clock display) when you use\r
+Forward/Backward or ForceMoves.\r
+\r
+* gnuchess 3.1+ has a bug that makes it try to think on its opponent's time\r
+even when in force mode; this causes problems with xboard's SetupFromFile\r
+command because gnuchess's saved hint move is garbage after the new position is\r
+loaded, so gnuchess prints out an error message when it tries to think about\r
+what it would do if the user made this move.  Here is a patch for gnuchess\r
+3.1+:\r
+\r
+*** nondsp.c~   Mon Dec  2 12:37:18 1991\r
+*-- nondsp.c    Thu Dec 19 15:36:06 1991\r
+***************\r
+*** 1223,1229 ****\r
+    ok = flag.quit = false;\r
+    player = opponent;\r
+    ft = 0;\r
+!   if (hint > 0 && !flag.easy && Book == NULL)\r
+      {\r
+        fflush (stdout);\r
+        time0 = time ((long *) 0);\r
+*-- 1223,1229 ----\r
+    ok = flag.quit = false;\r
+    player = opponent;\r
+    ft = 0;\r
+!   if (hint > 0 && !flag.easy && Book == NULL && !flag.force)\r
+      {\r
+        fflush (stdout);\r
+        time0 = time ((long *) 0);\r
+\r
+* SavePosition/SetupFromFile now handle black-to-play positions.  If it's\r
+black's move in a saved position, the line "black to play" is printed\r
+immediately after the board display.  Upon loading a position, xboard\r
+looks for "black" at the beginning of this line to determine whether it's\r
+black's move.\r
+\r
+* SetupFromFile now leaves you (effectively) in ForceMoves mode.  This\r
+eliminates some cases where the program would get into an inconsistent state,\r
+and hopefully is more intuitive for the user, too.\r
+\r
+* PlayFromFile now leaves xboard in ForceMoves mode after playing through all\r
+the moves in the file.  You can use Backward/Forward, make moves, get gnuchess\r
+to join the game with MachineWhite or MachineBlack, etc.  The game file can end\r
+with either white or black to play.\r
+\r
+* Backward/Forward now seem to work in all cases.  Previously using these\r
+buttons during a game against the machine would get xboard out of sync with\r
+gnuchess's idea of what was going on, resulting in chaos.  Now using these\r
+buttons puts xboard in ForceMoves mode; you can bring gnuchess back into the\r
+game using the MachineWhite or MachineBlack buttons.\r
+\r
+Thu Jun 27 15:06:25 PDT 1991\r
+\r
+  * Remove comment popups during a reset.\r
+\r
+  * Bug in my forward move fix.  Didn't work for playgamefile mode.\r
+\r
+Thu Jun 20 15:04:06 PDT 1991\r
+\r
+  * Can't do a backward move when it isn't your turn because gnuchess\r
+    gets confused.  Similar bug for forward move.  Do a bunch of moves,\r
+    back up move and go forward.  These get filtered out now.\r
+\r
+  * Put easy back into the initString.  This DISABLES easy mode which by\r
+    default is ON.\r
+\r
+  * New-line wasn't always being added to forward move strings sent to gnuchess.\r
+\r
+  * Parsed comments as [ ..............text follows ] into d7d5\r
+\r
+  * Long game file comments cause core dumps on HP systems.\r
+\r
+  * Multiple uses of the get positition file button got confused\r
+    on the second click.\r
+\r
+  Minor fixes to the 1.2 release\r
+\r
+Version 1.2 -- Tue Jun 11 17:14:12 PDT 1991\r
+\r
+  * For version 1.2, Jeff Kenton, Richard LLoyd, David Jensen, Martin D.,\r
+    Bill Schmidt, Scott Hemphill, Paul Vaughan and Bill Shauck all found\r
+    a lot of bugs that we put into xboard just to see if they were paying\r
+    attention.  They were.\r
+\r
+  * Changed the protocol that xboard uses to work with the new version of\r
+    gnuchessr.\r
+\r
+  * There was an off by one error with the clock resetting code.  Also,\r
+    the clock display highliting was wrong.  Thanks to Bill Shauck for\r
+    pointing these out.\r
+\r
+  * enumerations are not really integers on some C compilers.  I added casting.\r
+    The new version of gnuchess expects the "go" command for two machine\r
+    and machine plays white cases.  The whiteString resource is for\r
+    compatibility with previous gnuchess versions which get confused by go.\r
+    Thanks to Martin D. for catching these.\r
+\r
+  * Fixed a bug where the checkmate message wasn't being parsed and xboard\r
+    kept playing.  Also, the message was added to game file if saved.\r
+    Thanks to Scott Hemhill for pointing this out.\r
+\r
+  * Fixed a bug where saving a long game, resetting and saving a short game\r
+    resulted in appending the end of the long game to the short one.\r
+    If a game is just being played out and there is no reason for gnuchessr\r
+    to be used, ignore pipe signals.  This allows people to use xboard\r
+    as a chess board without need for gnuchess.  Also, trivially bad moves\r
+    such as e2e2 are not passed on to gnuchessr but instead ignored out of\r
+    hand.  This allows people using xboard as a chessboard with gnuchessr\r
+    to pick a piece up, think and put it back down without making a move.\r
+    Thanks to Jeff Kenton for pointing these out.\r
+\r
+  * Added the CHESSDIR environment variable.  Game and position files are\r
+    found in this directory.  If this variable is not declared, then the\r
+    current directory is used.  File names starting with / are treated\r
+    specially.\r
+\r
+  * The bitmap file names were changed so that none exceeded 14 characters.\r
+    This is necessary for R5.\r
+\r
+        fcntl(from_prog[0], F_SETFL, O_NDELAY);\r
+\r
+    The xboard fix was to set non-blocking i/o on the read pipe for gnuchessr\r
+\r
+        printz ("Illegal move (no matching move generated)");\r
+\r
+  * fixed a problem with the new version of gnuchessr where xboard wasn't\r
+    getting gnuchessr error messages for illegal moves.  The problem seems\r
+    to be fixed *without* any gnuchess changes but this is likely to be\r
+    highly system dependant.  There should be a new line on line 246 of nondsp.c\r
+\r
+  * -iconic doesn't work at all now.  The Iconify() does work.  This was\r
+    a tradeoff and it is really an Xt bug.\r
+\r
+  * Fixed a compiler warning for gcc and an error for the IBM RT compilers.\r
+    This is the VOID_PROC macro in xboard.h.  Thanks to David Jensen for this.\r
+\r
+  * If the DisplayWidth or DisplayHeight is less than 800, use small size mode.\r
+    Also the size of the name widget was reduced from 500 pixels to 400 pixels\r
+    because in small size mode there was a gap on the right.\r
+    Changed the default font from fixed to helvetica_oblique14 to:\r
+        **-helvetica-bold-r-normal--14-*-*-*-*-*-*-*\r
+    helvetica_oblique14 is a font alias not on all R4 systems.\r
+    Curiously enough, the 17 point is not available on 75dpi systems\r
+    and the 18 point font is not available on 100dpi systems.\r
+    Thanks to Richard K. Lloyd for pointing these out.\r
+\r
+  * Minor hacks to work with R5 alpha.  Had to add an event handler to the\r
+    boardWidget to get translations to work.  This may go away with the real R5.\r
+    Added <Message>WM_PROTOCOLS: QuitProc() for R5 ICCCM compatibility.\r
+\r
+  * If the first character of the file is not `1' then the first line\r
+    of a game or position file is displayed as the name in a label widget.\r
+\r
+  * Added a PopUp dialog for getting file names.\r
+\r
+  * Modified the code to use the R4 routines rather than R3 compatibility.\r
+\r
+  * Changed the forwards/backwards/readgamefile code to allow a play to step\r
+    back and forth in a game.  If he steps all the way to the beginning\r
+    he has to restart the game.  If he gets into a mated position, same problem.\r
+\r
+  * Moved the man page from xboard.1 to xboard.man.  This makes imake man page\r
+    installs work correctly.  Thanks to Richard K. Lloyd for pointing this out.\r
+\r
+  * Corrected the queening code.  XBoard was sending the wrong syntax.\r
+    It was sending for example h8(Q) when it should have been sending h8q.\r
+    Thanks to Paul Vaughan and Mike McGann for pointing this out.\r
+\r
+  * Added a lex parser for algebraic games.  It should be easy to use the parser\r
+    for other interfaces such as the Microsoft Windows version.\r
+    It parses comments of the form [anything] and ! to the end of a line.\r
+\r
+Version 1.1 -- Mon Jan  7 14:46:03 PST 1991\r
+\r
+  * Roger Dubar, Konstantinos Konstantinides, Wolfgang S. Rupprecht,\r
+    Paul Scowen, Mvh Smidt and Kayvan Sylvan all helped immensely during\r
+    beta-testing.\r
+\r
+  * older non-ANSI versions of Sun compilers complain vociferously.\r
+\r
+  * the remoteShell resource was added for HP-UX systems\r
+    and other systems where the remoteShell isn't rsh.\r
+\r
+  * -iconic doesn't work properly.  If XBoard is opened iconic then\r
+    iconifying it later with a keystroke doesn't work.  I think\r
+    this is an Xt bug.\r
+\r
+  * For systems with smaller screens, XBoard can use smaller pieces,\r
+    and a smaller board.  -bigSizeMode False uses a smaller set of pieces.\r
+    These are scaled versions of the large pieces.  They look ok but could\r
+    be improved.\r
+\r
+  * getlogin() does not work in all cases.\r
+    It was replaced by getpwuid(getuid())->pw_name).\r
+\r
+  * Warning messages get displayed in the message box.\r
+\r
+  * Any button restarts a paused game.\r
+\r
+  * Kayvan Sylvan contributed a patch for ESIX.\r
+    It seems that select() on pipes is broken on his system.  We declined\r
+    to incorporate his patch though, because it was a work-around for\r
+    something that was broken on one system, and selfishly, that system\r
+    was not my own.  Nevertheless, it is likely that other System V users\r
+    on PC's may need to use this patch and it is is included as the file\r
+    ESIX.patch.  To use it, type\r
+\r
+        patch xboard.c ESIX.patch\r
+\r
+  * Fixed a bug where hint didn't work.  The local version of gnuchessr\r
+    had been hacked.  The fix was to clone stderr and stdout for gnuchessr.\r
+\r
+  * Fixed a bug where a player could play after a game had been finished.\r
+\r
+  * The bitmaps have been pushed into the bitmaps directory.\r
+\r
+  * Substantially rewrote and simplified the Two Machine code.\r
+\r
+  * Added StrStr() because many systems don't have this ANSI function.\r
+\r
+  * Added keyboard equivalents.  Added an iconify keystroke, C or c.\r
+\r
+  * Works with gcc now.  gcc complained about casting float constants\r
+    as XtPointers.\r
+\r
+  * Detect if the visual doesn't support color.  If so, run in monoMode.\r
+    An alternative would be to detect grayscale visual and use a collection\r
+    of gray user interface colors.\r
+\r
+        XBoard.clockMode:    False\r
+\r
+  * For people who don't like or use chess clocks a clockMode switch\r
+    has been added.  It is on by default.  It can be turned off in the\r
+    .Xdefaults file with\r
+\r
+  * Added a declaration, xtVersion, which will quickly break on R3 Intrinsics.\r
+\r
+  * Hal Peterson contributed a new Imakefile.\r
+\r
+  * Rewrote DisplayClocks().\r
+\r
+  * Rewrote TwoMachinesPlay mode.\r
+\r
+  * Konstantinos Konstantinides added the -searchTime option.\r
+\r
+  * Substantially rewrote and simplified the clock code.  If a game was paused\r
+    and then resumed, the clocks were out of sync.\r
+\r
+  * Fixed a bug in HandleUserMove() where the user could make a move while the\r
+    machine was thinking.  The fix detects and ignores these moves.  onMove\r
+    was not being used and was removed.\r
+\r