added missing library for build on OS X
[xboard.git] / ChangeLog
index 7338258..66983be 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
-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
+ChangeLog for XBoard/WinBoard
+-----------------------------
+
+(latest entries created by git log --no-merges --pretty="%ai %an <%ae>:%n%s%n%n%b" vnew vold)
+
+2009-10-30 19:59:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+cleaned up ChangeLog and NEWS
+
+2009-10-30 20:02:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+use xtell instead of tell in wchat
+
+2009-10-28 20:35:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+prevent buffer overflow
+
+This is a buffer-size adjustments to prevent the JAWS version from
+crashing when it has to read out loud very long comments.
+
+2009-10-28 02:17:16 -0700 Tim Mann <tim@tim-mann.org>:
+Further copy/paste fixes
+
+We needed to implement the XA_TARGETS target in order for more
+sophisticated apps to really believe we put anything on the clipboard
+they can use.
+
+2009-10-27 23:57:25 -0700 Tim Mann <tim@tim-mann.org>:
+Make copy/paste position and game use clipboard, bug #27810
+
+Copy actually sets both the clipboard and the selection for
+convenience and compatibility with the old way of doing things.
+Paste pastes from the clipboard by default, but the new -pasteSelection
+option lets you get back the old behavior of pasting from the
+selection.
+
+2009-10-27 15:44:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+switch focus to the board after loading a game
+
+2009-10-27 15:32:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27826: fixed autoDisplayComment
+
+apparently the -autoDisplayComment option was not working,
+not even in WinBoard. This patch should fix it,both for WB and XB.
+(Unfortunately xboard.c and winboard.c were using a different name
+for the same front-end variable I needed, so I had to change one of them.)
+
+2009-10-27 12:24:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27826: ported two options to xboard
+
+also updated the documentation
+
+2009-10-27 12:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed jaws version
+
+turns out the new mouse handler broke the JAWS patch, as I discarded
+the function IsPromotion. I adapted it to call HasPromotionChoice instead.
+Also fixed two arnings by removing a no-longer needed debug print.
+
+2009-10-27 12:03:02 -0700 Arun Persaud <arun@nubati.net>:
+reformated html to be correctly validated
+
+2009-10-27 10:33:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+quick fix for "White Mates" in parser.l
+
+2009-10-27 10:32:24 -0700 Arun Persaud <arun@nubati.net>:
+fixed a regression
+
+2009-10-26 20:45:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changed stderr to debug output, since stderr is closed in winboard
+
+2009-10-26 20:42:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+removing empty lines from ICS play
+
+this patch causes removal of spurious prompts during ICS play
+also if the prompt is preceeded by a number of empty lines
+(as the board for the opponent move is on FICS).
+
+2009-10-26 20:40:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+another bug in VariantSwitch: an unitialized board was printed.
+
+Must have been there a long time, but this time it crashed WinBoard.
+
+2009-10-26 20:38:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+more work on variant switch
+
+the previous solution to the cosmetic problem of displaying a wrong shuffle
+in an ICS game that was observed from the very start unfortunately turned
+out to cause a real error in diplaying a stored game through the smoves
+command, for variants not using the FIDE setup as standard.
+
+This patch displays the position from before setting up the start position
+of the new variant, but does setup boards[0] to the initial position of that
+variant. (If this is a wrong shuffle, it is thus ot displayed, and a new board
+will immediately be sent from the ICS to correct the shuffle.)
+
+2009-10-26 20:34:04 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+force full redraw in winboard
+
+Full redraw is now always forced when highlightMovesWithArrow is on,
+rather than only when highlight info is available. (As in drop moves the
+latter is invalid, but we must still erase the arrow from the previous move.)
+
+2009-10-26 20:25:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27790 and #277772. Suppressing the display of a wrong shuffle
+when observing shuffle games from the first move (#27790 bis),
+and the sounding of the FICS bell on crazyhouse captures (#27772 bis).
+
+2009-10-26 20:22:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed bug related to unsigned char in convert.c
+
+I also fixed the unsigned-char bug in the convert.c for bitmaps that caused the
+129x129 XBoard bitmaps to be defective, and a bug that required fixup with sed
+afterwards (so I could use it to create a new m33s.bm)
+
+2009-10-25 23:37:48 -0700 Arun Persaud <arun@nubati.net>:
+unguarded debug printf. added the appropiate if statement
+
+2009-10-25 23:31:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for two compiler warnings
+
+2009-10-25 23:29:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27799: fix for nested-nested-nested variations
+
+2009-10-25 23:21:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+The book-probe code forgot to close the book file after opening it.
+
+fixed by adding an fclose at two points.
+
+2009-10-25 23:18:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+removed unused v54?.bm bitmaps from resource file
+
+it seems the v54?.bmp bitmaps were actually included in the WinBoard build
+(in the resource file), although they were never actually used. So I have
+removed their inclusion in the resource file now.
+
+2009-10-25 23:05:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+replaced defective bitmaps with copies from 4.2.7
+
+2009-10-25 23:02:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+removed bitmaps files that are not needed any more
+
+2009-10-25 22:58:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed some bitmaps
+
+2009-10-24 09:41:39 -0700 Tim Mann <tim@tim-mann.org>:
+Drop an obsolete script that was only used to update my personal web site
+
+2009-10-24 01:23:29 -0700 Tim Mann <tim@tim-mann.org>:
+Silence warnings when compiling 64-bit xboard
+
+Some harmless warnings were caused by 64-bit mode having 32-bit
+int but 64-bit long and pointer.  Add casts (etc.) to silence them.
+This might require adding a definition of intptr_t (a signed int
+type that is the same width as a pointer) on old systems that don't
+have it.
+
+2009-10-24 00:56:37 -0700 Tim Mann <tim@tim-mann.org>:
+Fix up man page some more
+
+Sigh, the project history was still partly in reverse chronological
+order and partly in forward order.  Swapped the order of some
+sentences to help straighten it out.  I don't really care about this,
+so other project members should feel free to do what they like here,
+but the messed-up order was bugging me.
+
+2009-10-24 00:46:20 -0700 Tim Mann <tim@tim-mann.org>:
+Fix some issues in the XBoard man page
+
+Correct places where the XBoard man page was calling XBoard
+"WinBoard".  Change references to "WinBoard engines" and "WinBoard
+protocol" to "XBoard/WinBoard ...".  Update bug reporting guidelines.
+Reorganize project history to something more like chronological order
+-- it had gotten pretty randomly ordered.
+
+2009-10-22 21:45:32 -0700 Arun Persaud <arun@nubati.net>:
+new pre-release version; updated version numbers
+
+2009-10-22 21:33:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+This patch adds <Enter> to the characters that cause an automatic
+switch to the ICS console when typed to the board window.
+
+2009-10-22 21:31:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix to the minor graphics issue contained some typos,
+as was remarked in the bugs reports
+
+2009-10-22 21:30:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+improved mouse handler
+
+The improved mouse handler still needed an extra call to DrawPosition to
+work in XBoard.
+
+2009-10-22 21:28:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+NPS plays and pondering
+
+Clock updating did not work correctly in node-based time controls when the
+engine was pondering. (It was not really meant for use with pondering. Oh well...)
+This patch checks if the engine reporting the node count is indeed thinking
+(as opposed to pondering).
+
+2009-10-22 21:25:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+holdings update and regression fix
+
+The holdings-update patch was not yet satisfactory, because FICS seems to send
+holdings both before and after the board! And those received before did overwrite
+the holdings received after the previous board. I know tried to fix that in a kludgey
+way, by hiding a flag in the board that tells if the holdings have already been written
+by the ICS or not, and ignore new holdings when they are. (Except in bughouse,
+where holdings updates cannot be tied to a particular board and multiple updates
+between boards are normal. (I hope?).)
+
+I also undid a regression in my previous fix for the minor graphics problem,
+and solved it in a slightly different way to prevent flicker.
+
+2009-10-22 21:23:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+improved mouse handler
+
+I improved the mouse handler in a way which will preclude disappearence of pieces
+on off-board or ambiguous (in-between squares) drag & drop moves. (As was reported
+in the "premove bug?" thread. Also the command-line premove problem reported there
+is now fixed, by removing the prefixing.
+
+2009-10-22 21:18:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #8847: moving backward while examining on FICS not reported to engine
+
+I moved Daniel's code that backs up the engine when a bord with a
+lower number is received to a place where it is always done in zippy mode,
+rather than only when the engine is analyzing.
+
+Apart from taking back moves, there was also the case where the
+user moves forward by more than one move (usually immediately to
+end-of-game). In this case a new movelist is fetched from the ICS
+to recover the moves that were skipped. But this assumes that the
+engine is at the start of the game and feeds all these moves to the
+engine. So the engine had to be reset in this case to stay in sync.
+
+2009-10-22 21:16:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+better init for random number generator
+
+2009-10-21 23:01:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27772: holdings not updated
+
+holdings lines from the ICS nor update the holdings
+of boards[forwardMostMove] in stead of boards[currentMove].
+
+2009-10-21 21:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+allowe parsing / disambiguation of SAN moves like Xe4 in certain situations
+
+This patch allows parsing / disambiguation of SAN moves like Xe4, if there
+is only one wild-card piece X on the board. Moves with wild-card pieces
+are now considered illegal if they leave the King in check by a piece of
+known gait.
+
+2009-10-20 19:09:46 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed bug when switching to variantsuper
+
+2009-10-20 19:06:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27715: 2 (minor) graphic issues
+
+I forced a total redraw when Reset is called from the ICS code in case a
+new game is encountered, in the hope it will make the reported
+(irreproducible) problem go away. As game switches are not frequent, I
+guess there is hardly any downside to this.
+
+2009-10-20 18:57:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27667: PV line missing in analysis window, part 3
+
+"3. Wish for Engine state string (right to the icon):
+Can you add the actual search depth in analyzing mode? A change like "
+
+I also added the requested display of depth of the analysis move in the
+EngineOutput window. I guess a similar change could be made to wengineo.c
+(as this is in the code they share in common), but no one ever requested
+that in the 5 years since Alessandro wrote it. So for now I leave it alone.
+
+2009-10-20 18:52:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27760: debug printf in backend.c and additional check for variant
+
+2009-10-19 23:17:46 -0700 Arun Persaud <arun@nubati.net>:
+fix for bug #10990: cmail does not seem to support .cmailgames or .cmailaliases
+
+this is correct, deleted the text out of the documentation that claims we support it
+
+2009-10-19 18:40:40 -0700 Arun Persaud <arun@nubati.net>:
+new alpha version; first one with new naming scheme
+
+2009-10-19 18:07:21 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+smarter analysis of the boards that XBoard receives from an ICS
+
+I added smarter analysis of the boards that XBoard receves from an ICS,
+based on board size and piece types in the position, to recognize cases
+where the board does not match the current variant, and switch to an
+appropriate variant.
+
+2009-10-19 18:04:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27667: window should be reference to toplevel
+
+The remaining objections of #27667 should be fixed by bringing the
+EngineOutput window under control of the TOPLEVEL compile-time switch.
+
+2009-10-19 18:02:42 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+partly fix for bug #27715: scaling of menu bar
+
+the menu bar to the left edge of the window.
+
+2009-10-19 17:59:43 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed bug reported in WB forum: second game of a match would
+not start when using the GUI book
+
+2009-10-19 17:57:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27751: negative holding counts displayed
+
+I put code in the back-end to prevent holdings counts from
+becoming negative when a drop move is made from empty holdings.
+(This can happen when re-loading ICS bughouse games,
+as the smoves command fails to fill the holdings.)
+
+2009-10-18 20:54:53 -0600 Eric Mullins <emwine@earthlink.net>:
+Updated compiling instructions.
+
+2009-10-18 11:32:55 -0600 Eric Mullins <emwine@earthlink.net>:
+Changes to allow fonts with any charset (such as terminal)
+
+Affects winboard only.
+
+2009-10-16 23:02:41 -0600 Eric Mullins <emwine@earthlink.net>:
+Moved SIGWINCH signal so it can be used...
+
+I goofed putting this in StartChildProcess() originally.
+
+2009-10-16 22:54:12 -0600 Eric Mullins <emwine@earthlink.net>:
+Added internal wrapping ability.
+
+New options:
+  -wrapContinuationSequence "foo"  (default: "\\   "
+  -useInternalWrap (Winboard default: false, XBoard default: true)
+
+Note: -keepLineBreaksICS if set, prevents wrapping, usurping the
+   useInternalWrap setting.  The idea is if you want to keep ICS line
+   breaks, then you don't want internal wrapping.  Because of this,
+   the new default for keepLineBreaksICS is now false for XBoard.
+
+2009-10-16 19:14:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed segfaul in convert.c used to convert pixmaps
+
+2009-10-15 19:46:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+new mousehandler to correct for premove and promotion popup
+
+this is the new mouse handler for XBoard, which should fully implement
+premove, including promotion popup, and yet suppress the promotion popup
+on illegal moves that are not premoves. It is almost completely moved to
+the back-end now, so that WinBoard will be able to use it as well. I just
+must hook it up to winboard.c, in particular harmonize the call-backs of
+the mouse driver into the front-end for grabbing and releasing pieces for
+dragging, to make sure they have the same names and arguments.
+
+2009-10-15 19:32:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated black fairy pieces
+
+here is a set of black fairy pieces with opaque white details,
+so they have the same style as the orthodox XBoard pieces.
+
+2009-10-15 16:54:51 -0600 Eric Mullins <emwine@earthlink.net>:
+Adjustment to joining to work around server not always including space.
+
+This patch implements commit 98aa02bda540f17f1f50be00e494efafe439b004
+into the updated joining routine.  This issue seems not to be server
+variance, but instead the server electing to omit the space between
+words when it occurs at exactly your width setting (-1 actually).
+
+This patch makes the joiner add back the space just like the referenced
+commit.  Note: this is just a workaround to a server issue-- the joiner
+actually joins correctly before this patch.
+
+2009-10-15 07:18:42 -0600 Eric Mullins <emwine@earthlink.net>:
+Fixed joiner detection, allowing it to work with timeseal
+
+When timeseal's buffer fills in the middle of the continuation
+sequence, detection fails, and the lines aren't joined.
+
+As a result of this fix, measures intended to bypass joining are
+no longer needed, so I removed them.  These utilize server vars
+when available to prevent splitting.
+
+2009-10-14 14:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed engingeoutput routine
+
+removed outdated code regarding analysis window
+
+2009-10-14 14:39:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+moved bitmap to correct location
+
+was misplaced in a previous commit
+
+2009-10-14 14:26:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed wrong number of arguments for EngineOutputPopUp
+
+2009-10-13 21:00:27 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+new bitmap converter (including fill option) and new pixmaps
+
+2009-10-13 20:52:40 -0700 Arun Persaud <arun@nubati.net>:
+forgot to add these two lines to the last commit
+
+2009-10-13 20:51:17 -0700 Arun Persaud <arun@nubati.net>:
+removed AnalysisPopUp. Use EngineOutputPopUp instead
+
+this was already in Winboard, copied it to xboard and removed unused code.
+
+2009-10-13 20:32:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Proper board and holdings size when switching to variants
+gothic, capablanca, great and super within an ICS game.
+
+2009-10-13 20:25:13 -0700 Arun Persaud <arun@nubati.net>:
+cleaned up an old #ifdef in zippy
+
+2009-10-12 19:25:17 -0600 Eric Mullins <emwine@earthlink.net>:
+neglected this for the auto-width updating in xboard
+
+2009-10-12 19:19:59 -0600 Eric Mullins <emwine@earthlink.net>:
+Added server width adjustment based on client width changes
+
+2009-10-12 19:14:53 -0600 Eric Mullins <emwine@earthlink.net>:
+silence some compiler warnings
+
+2009-10-11 18:39:24 -0600 Eric Mullins <emwine@earthlink.net>:
+Maintainence to support all compilers.
+
+2009-10-11 17:07:27 -0600 Eric Mullins <emwine@earthlink.net>:
+Adjusted alternative joining method to obey keepLineBreaksICS
+
+2009-10-11 14:48:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27668: e.p. field still not passed to engine
+
+PositionToFEN now takes the e.p. rights from epStatus[moveNr],
+rather than calculating it on the spot from moveList[moveNr-1]
+(which failed on the first move).
+
+2009-10-11 14:46:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27666: naming of variants
+
+Variant names "misc/xxx" are recognized as "normal", rather than "xxx"
+to not get confused by the board "misc shogi" run by FICS.
+
+2009-10-11 10:14:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changed enable menus
+
+Put the "Open Chat Window", "Machine Both", and "Engine #N Settings" menu items
+in the appropriate enable lists for graying them out wen not applicable.
+
+2009-10-11 10:13:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Added a command-line option -keepLineBreaksICS true/false to control line joining.
+
+2009-10-10 19:30:23 -0600 Eric Mullins <emwine@earthlink.net>:
+Added code to prevent unnecessary width updates.
+
+2009-10-10 18:34:37 -0600 Eric Mullins <emwine@earthlink.net>:
+Turned off wrap when possible on ICS servers.
+
+Turning off line wrap prevents splitting lines up using the
+continuation sequence "\\   ".  This is desirable when using
+timeseal because timeseal's buffer is sometimes too small,
+causing it to break lines itself.  These lines can't be joined.
+
+2009-10-10 16:30:56 -0600 Eric Mullins <emwine@earthlink.net>:
+vsnprintf() must be _vsnprintf() for MSVC
+
+2009-10-10 16:16:45 -0600 Eric Mullins <emwine@earthlink.net>:
+added code to handle initial width update
+
+2009-10-10 14:21:12 -0600 Eric Mullins <emwine@earthlink.net>:
+Added width updates to ICS client on font and window size changes
+
+What still needs to be done is placing an update call after login
+to initialize with the correct width.  I didn't see where to put
+that.
+
+2009-10-10 14:19:30 -0600 Eric Mullins <emwine@earthlink.net>:
+added ics_printf() and ics_update_width() and utility functions
+
+2009-10-10 11:15:50 -0600 Eric Mullins <emwine@earthlink.net>:
+Cleaned up ConsoleWndProc  (not complete, see below)
+
+Using static variables this way is not appropriate.  I only addressed
+hInput and hText in this commit though.  But imagine the WndProc being
+used by multiple windows instead of just one, and you can see why
+using static variables in this way is wrong.
+
+2009-10-10 11:12:10 -0600 Eric Mullins <emwine@earthlink.net>:
+Restructured URL code so it fits better with how winboard is set up.
+
+2009-10-10 08:57:39 -0700 Arun Persaud <arun@nubati.net>:
+cleanup: removed "#if 1" statements
+
+2009-10-10 08:55:21 -0700 Arun Persaud <arun@nubati.net>:
+cleanup: removed "#if 0" from source
+
+a bit of cleanup of the source code
+
+2009-10-10 08:34:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix joining of lines split by ICS
+
+This patch fixes the joining of lines that were split by an ICS, so that adding
+a space at the break point is done only when there was not a space already.
+(Some ICS leave a space at the end of the broken line, others do not.)
+An extra space would interefere with board12 in Gothic Chess, which is so
+long that the ICS breaks it, and the WB parser could not handle a double
+space within the board.
+
+2009-10-10 08:27:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for bug #27642: Clock jumps strangely in engine mode
+
+This moves SwitchClocks() back to after incrementing forwardMostMove,
+so that it knows again who has the move (which was broken by the "bare" patch),
+and will take the appropriate tick length.
+
+2009-10-10 08:26:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+removed test for premove
+
+this was added while looking for the premove bug, but is not needed
+
+2009-10-10 02:03:45 -0600 Eric Mullins <emwine@earthlink.net>:
+added URL detection and provided hotlinks in the ICS client
+
+2009-10-10 02:00:52 -0600 Eric Mullins <emwine@earthlink.net>:
+reverted winboard.c beofre URL commit to correct whitespace conversion
+
+2009-10-09 02:14:22 -0600 Eric Mullins <emwine@earthlink.net>:
+Added URL detection into the console text window for ICS.
+
+2009-10-08 23:51:06 -0700 Arun Persaud <arun@nubati.net>:
+added some comments and formated code
+
+2009-10-08 23:46:52 -0700 Chris Rorvick <>:
+fix printing out help message (list of command line options) (tiny change)
+
+The postfix increment always resulted in an attempt to print out an
+option on the right side regardless of one actually existing. Use
+prefix increment to prevent a crash when printing an odd number of
+options.
+
+2009-10-09 00:04:51 -0600 Eric Mullins <emwine@earthlink.net>:
+Updated navigation accelerators, fixing ICS problems.
+
+Recent changes to the navigation accelerators were in the wrong
+accelerator table.  Since the goal was to correct non-JAWS versions
+back to 4.2.7 behavior, I updated it to how 4.2.7 did it, but still
+retained the #ifdef JAWS conditional compilation.
+
+On an ICS, the navigation keys took control away from the ics
+client to navigate the game.  The update requires the ALT key to
+be pressed, but it works identical to 4.2.7, not causing an
+unexpected focus back to the board window when you're just editing
+text.
+
+2009-10-08 20:33:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed premove recapture problem;promotion popup appearing on
+obviously illegal moves; promotions in Superchess and Great Shatranj
+
+1) the premove recapture problem
+2) the promotion popup appearing on obviously illegal moves (the 1. e2a8
+problem)
+3) promotions in Superchess and Great Shatranj, where the piece can now be
+selected from the holdings
+
+2009-10-08 20:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+added forceIllegalMove to xboard
+
+2009-10-05 21:01:32 -0700 Arun Persaud <arun@nubati.net>:
+bugfix: segfault when invalid option argument was given (bug #27427)
+
+when given a wrong argument to an option (e.g. -tc 0) xboard aborts
+before setting up the window, but tried to write a message to the
+messageWidget which doesn't exist at that point.
+
+2009-10-05 20:05:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+small improvement for JAWS version
+
+This is a patch to make JAWS read out any comments when /autoDiplaycomment=true.
+As focus does not stay on the Comment window, the comment was not spoken otherwise.
+
+2009-10-05 20:02:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated to winboard internationalization scripts
+
+Also a slight improvement of the internationalization scripting,
+to prevent it from crashing on messages containing a slash.
+
+2009-10-05 20:01:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+new forceIllegalMoves option
+
+The -forceIllegalMoves option uses setboard or edit to force a position
+when an engine refuses the move leading to it by an "Illegal Move" message.
+Especially for engines using the edit command this was a bit tricky,
+because of the a2a3 kludge to avoid using the white and black commands.
+
+2009-10-05 01:01:54 -0600 Eric Mullins <emwine@earthlink.net>:
+removed _winmajor if not defined so that VC 2008 can compile the project
+
+The oldDialog variable should just be set to 0 in all cases now, and
+as such, legacy code supporting the old dialog ought to be removed.
+The test for _winmajor is against < 4, which is always false at present,
+causing oldDialog to be 0 in every conceviable circumstance.
+
+2009-10-04 09:58:29 -0700 Arun Persaud <arun@nubati.net>:
+getting ready for 4.4.1 release
+
+2009-10-02 20:47:01 -0600 Eric Mullins <emwine@earthlink.net>:
+Simplified future version changes.
+
+Added a numeric version to config.h that is now used in winboard.rc
+instead of being hard-coded there.  Just be sure to preserve the
+proper format (4 comma-separated 16 bit integers) or else it won't
+compile.
+
+2009-10-02 16:56:01 -0700 Arun Persaud <arun@nubati.net>:
+updated version number to 4.4.1.pre
+
+should have done this straight after the last release, but forgot...
+
+2009-10-02 16:48:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+worked on premove bug
+
+I made an attempt to make premove unsensitive to a race condition,
+just in case the premove problem was caused by that (which seems unlikely,
+but in any case  I added some debug printout to test this).
+
+2009-10-02 16:41:12 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed loading of saved games via command line
+
+the variables forwardMostMove and backwardMostMove where set to zero
+at the wrong place.
+
+2009-10-02 16:39:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+small fixes for the JAWS version
+
+* I moved saying 'check' by the JAWS version to where castling also benefits from it.
+* I made sure the check symbols are also recognized on promotion moves
+* In the non-JAWS version, define the plain arrows as shortcut keys for the button bar
+
+2009-10-01 16:50:28 -0600 Eric Mullins <emwine@earthlink.net>:
+Fixed bug dereferencing garbage, causing crash.
+
+Commit fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10 included code to free the
+resultDetails of the gameInfo structure.  That exact code exists a few lines
+above where it was added.  None of these free() calls finish by setting the
+member to NULL afterword, therefore repeated attempts to test/free() the
+members result in an attempt to free() memory winboard no longer owns, and
+an eventual crash.
+
+link to problematic commit: http://git.savannah.gnu.org/cgit/xboard.git/commit/?id=fa8be4a3fc5d81e9ec1f6c218fcf55c95d34fd10
+
+2009-10-01 16:49:57 -0600 Eric Mullins <emwine@earthlink.net>:
+Added wchat.c to the project files we maintain.
+
+2009-10-01 15:52:50 -0600 Eric Mullins <emwine@earthlink.net>:
+Previous fix for VC++/strcasecmp() was wrong-- use StrCaseCmp().
+
+2009-10-01 14:49:58 -0600 Eric Mullins <emwine@earthlink.net>:
+Add resource ID for new Mute menu item.
+
+I know this was probably done by HG, and simply left out of
+his commit.  Anyway, the project can be built now after this change.
+
+2009-10-01 14:49:09 -0600 Eric Mullins <emwine@earthlink.net>:
+Use of strcasecmp() broke Visual C++.
+
+2009-09-30 20:47:00 -0700 Arun Persaud <arun@nubati.net>:
+wrong default value for engineDebugOutput
+
+the new default is now 1
+
+2009-09-29 22:55:41 -0700 Arun Persaud <arun@nubati.net>:
+updated cmail.in to adapt the CVS->git change
+
+don't reference $Revision:$ anymore.
+Instead use reference xboard-version via autoconf.
+
+2009-09-29 22:04:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+bugfix for protocol extensions: egtbpath -> egtpath
+
+A new and very bad bug was discovered in the implementation of
+the protocol extensions: XBoard sends a command "egtbpath" to the
+engine in stead of "egtpath" from the protocol specs.
+After discussion on WB forum it was decided that egtpath was better
+than the egtbpath I originally had proposed, and I changed it accordingly,
+but I had not realized that this string occurred TWICE in backend.c,
+depending on if matched the -defaultPathEGTB of -egtFormats option.
+I only changed the first occurence.
+
+2009-09-27 12:27:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for edit-position "moves" being sent by XBoard to the engine
+
+2009-09-27 12:25:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Engine did not start playing when out of GUI book on second move with white
+
+2009-09-27 12:24:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Opening Engine #1 Settings crashed XBoard when there were no
+text-edit options in the dialog (to which to set keyboard focus)
+
+
+2009-09-27 12:18:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+added a "Mute All Sounds" item in the WinBoard Options menu, on Eric's request
+
+2009-09-27 12:15:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Updated the RTF docs for the chat windows, engine-settings dialog,
+/keepAlive option and new game-list tag
+
+2009-09-27 12:14:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Made the beep sounds for JAWS board navigation configurable through
+command-line options
+
+2009-09-27 12:11:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Prepared a system to internationalize the WinBoard menus
+
+2009-09-27 12:10:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+added the result comment to the game-list tags when the game list is
+exported to the clipboard
+
+2009-09-27 12:05:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+rewrote wevalgraph for better frontend/backend separation
+
+I have finished re-writing the eval-graph code to have some
+front-end / backe-end separation, something I had already started on my
+holiday in Norway (when I had no internet :-)  ).
+The new code now appears to work exactly like the old code,
+and I guess it could be ported to gtk comparatively easily.
+
+2009-09-27 12:00:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for keepalive and chat window
+
+I made a fix to the keepAlive option so it does not send the date command
+to the ICS after every move. This required changing ScheduleDelayedEvent()
+so that it does not execute the event if a new identical one gets scheduled.
+I also added the option to XBoard. Affects xboard.c (DOS!) and winboard.c
+
+(This also cures the regression of the winboard.c copyright patch)
+
+I extended the chatbox patch to also listen to channel tells, and divert
+them to a chatbox for that channel number. Affects
+backend.c and wchat.c
+
+That should make those patches fully operational. No docs for either of them
+yet, though.
+
+2009-09-27 10:36:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed parse bug for pgn files
+
+fixed the existing bug that the time-control tag was displayed as "?"
+in the game list; turns out it was never parsed on reading PGN files
+
+2009-09-27 10:35:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+allow the result comment as a display item in the game list
+
+2009-09-27 10:35:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed the HAVE_LIBXPM-dependent compile errors
+
+2009-09-27 10:24:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+added a chat window to keep track of multiple conversations
+
+The chat-window patch affects:
+winboard.c, backend.c, winboard.rc, resource.h, backend.h, and adds
+the file winboard/wchat.c, which also affects makefile.gcc and makefile.ms.
+
+In addition I added a new option -keepAlive, which affects
+common.h (in addition to winboard.c and backend.c).
+
+As I had to modify backend.h, I also defined the -reset option type there,
+which we are going to add later. This required some changes
+to suppress warnings in wsettings.c.
+
+2009-09-27 10:22:16 -0700 Arun Persaud <arun@nubati.net>:
+more files for git to ignore
+
+most of these are generated by make distcheck
+
+2009-09-08 09:33:53 -0700 Arun Persaud <arun@nubati.net>:
+another bug fix found by Stanislav Brabec
+
+returned -1  in some case although the variable was a char...
+changed to signed char
+
+2009-09-20 23:13:13 -0600 Eric Mullins <emwine@earthlink.net>:
+Swapped 'tell' and 'message' parsing order for colorization.
+Sometimes messages are relayed as tells and should be colorized as tells.
+
+2009-09-08 09:10:34 -0700 Arun Persaud <arun@nubati.net>:
+added some more files to be distributed via make dist
+
+as suggested by Stanislav Brabec
+
+2009-09-08 09:01:07 -0700 Arun Persaud <arun@nubati.net>:
+fixed some implicit declarations reported by Stanislav Brabec
+
+2009-09-07 22:04:39 -0700 Arun Persaud <arun@nubati.net>:
+fixed a few more small bugs reported by Stanislav Brabec
+
+- A function uses a 'return;' statement, but has actually a value to
+return, like an integer ('return 42;') or similar: xboard voidreturn
+xengineoutput.c:766, 782
+
+- Program returns random data in a function at xengineoutput.c:602
+
+- With a new toolchain, AM_LDFLAGS cannot contain libraries. Linker
+ignores them. Fix is attached.
+
+- ToDo: Convenient name in most projects is TODO (autotools package it
+automatically).
+
+2009-09-06 19:11:22 -0700 Arun Persaud <arun@nubati.net>:
+reverted .texi file and fixed Makefile.am
+
+the problem was actually not in the texi-file, but the Makefile.am.
+Reverted changes in the .texi and fixed it (hopefully) correctly now.
+
+2009-09-06 18:23:01 -0700 Arun Persaud <arun@nubati.net>:
+get "make distcheck" to work
+
+needed to add all *.h files to Makefile.am and also the bitmaps that
+are needed and some other files. Also had modified copyright.texi.
+
+2009-09-05 09:54:37 -0700 Arun Persaud <arun@nubati.net>:
+changed to version 4.4.0
+
+2009-09-05 09:44:21 -0700 Arun Persaud <arun@nubati.net>:
+updated AUTHORS, README and ChangeLog files for release
+
+2009-09-05 08:52:09 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed some typos
+
+2009-09-04 22:39:45 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+set castling rights after setting up a position
+
+I was going through old WB forum posts, and I encountered a
+bug report for a bug that I never fixed: The castling rights should
+be properly set (actually: cleared) after setting up a position
+in Edit Position mode (as opposed to pasting a FEN).
+
+2009-09-03 23:11:18 -0700 Arun Persaud <arun@nubati.net>:
+removed install files from master
+
+they now live in their own branch
+
+2009-09-03 22:30:18 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated polyglot protocol
+
+I added a new option type "-reset" to the protocol for the new option feature.
+4.4.0 does not implement it yet, but Michel wants it for future Polyglots,
+and I think it is best to update the protocol in one big swoop.
+So I want to already include it in the specs now. (engine-intf.html)
+I made xboard's response to an unknown option type compliant
+with the new protocol specs.
+
+2009-09-03 22:28:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed some typos
+
+2009-09-03 20:47:13 -0600 Eric Mullins <emwine@earthlink.net>:
+Updated project files for DevCpp and Visual Studio to add wsettings.c
+
+2009-09-03 20:46:33 -0600 Eric Mullins <emwine@earthlink.net>:
+Added newline at end of file to silence warning.
+
+2009-08-31 20:29:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+workaround for error message for missing pieces used in variants
+and initstring bugfix: error messages showed for non-existing pieces
+showed up for old user supplied pixmaps.
+Loading a pixmap of the king for the missing pieces now.
+
+Another bad bug surfaced: the -initString argument does not work in any
+XBoard version! (Including 4.2.7b) The escape sequences for linefeed in
+the string are not understood: -initString "new\nrandom\n" actually sends
+the \ and n to the engine (which then does not recognize the line as a
+valid command)!
+
+So I also added a patch to expand escape sequences in the InitString and
+ComputerString command-line options.
+
+2009-08-31 20:27:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated installe script
+
+I re-organized the doc files in the install, so they now all go in the
+WinBoard\doc folder (and none in the root). I so included the COPYING
+and COPYRIGHT files there. This required some updates of the links in
+some html files, and of the menu link to README.html in the install script.
+I also fixed an error with the current directory
+in the menu short-cuts of some engines (which started in the fonts folder,
+and could not find the opening book there...).
+
+2009-08-31 20:25:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated documentation
+
+2009-08-31 20:20:55 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated installer script
+
+2009-08-31 19:51:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+new help files for windows
+
+2009-08-25 20:41:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated installer
+
+2009-08-25 20:36:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+undid some previous changes
+
+some files got mixed up
+
+2009-08-25 20:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed small bug in wsetting
+
+2009-08-25 20:29:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+trigger a focus switch to ICS input field when typing
+
+old behavior was that "." or "," triggered this,
+now every printable character  except 1-9 will trigger the focus switch
+
+2009-08-25 20:26:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+bug in backend.c when receiving lines from ICS
+
+A space was appended to every character received from an ICS
+in stead of just at line breaks.
+
+2009-08-24 23:47:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed warning messages from compiler
+
+2009-08-23 14:24:38 -0700 Arun Persaud <arun@nubati.net>:
+fixed build on OS X
+
+this seems to fix it. Bug reported by Louis Zulli who also did the testing.
+
+2009-08-23 11:54:28 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+OK, this is the beefed up version of the Polyglot info-string kludge,
+for WB and XB.
+
+2009-08-23 10:22:48 -0700 Arun Persaud <arun@nubati.net>:
+added missing X_LIBS references to Makefile.am
+
+2009-08-22 23:33:44 -0700 Arun Persaud <arun@nubati.net>:
+made the install script and executable
+
+2009-08-22 23:19:07 -0700 Arun Persaud <arun@nubati.net>:
+changed beta1 to beta2
+
+2009-08-22 23:14:11 -0700 Arun Persaud <arun@nubati.net>:
+fixed enable zippy in configure script and added some checks for OS X
+
+make tried to compile zippy even when --disable-zippy was given.
+Also fixed a bug in xboard.c where #ifdef instead of #if was used
+to test for ZIPPY (it's either 0 or 1, so we need #if). Also added
+some special checks for OS X, not sure if these will do it, but it's a start;)
+
+2009-08-22 19:09:54 -0700 Arun Persaud <arun@nubati.net>:
+added configure summary to configure output, also cleaned up configure.ac a bit
+
+used AS_HELP_STRING where possible
+
+2009-08-22 18:10:57 -0700 Arun Persaud <arun@nubati.net>:
+added check for malloc.h
+
+this should fix a build error on OS X
+
+2009-08-22 17:47:44 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+A small cosmetic change in the size of buttons
+inside a groupbox of the Engine-Setup dialog.
+
+2009-08-22 17:32:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+make xboard usable with UCI engines
+
+I made a small patch in xoptions.c (where the corresponding Engine Settings
+dialog was for XBoard), to make it at least usable for UCI engines: I now
+divide the options over upto 4 columns, if there are too many to fit into
+a single column. This seems to work. Still looks very ugly, but it is
+functional.
+
+2009-08-22 17:30:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix premove for winboard
+
+This might fix the illusive premove problem. In 4.2.7 the code was not properly
+indented, and this led to an unbalanced braces error that I then fixed the
+wrong way. Click-click premoves did only work after clicking the toSquare twice.
+It might be that they actually did work after clicking it once,
+but that the highlights were not displayed (although set)
+for lack of a display refresh.
+
+2009-08-22 17:28:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed bug for double saved games
+
+This patch should solve the problem with doubly saved games when XBoard is
+closed. I calculate a cecksum of each saved game now (including move comments),
+and suppress saving if the checksum is not changed.
+
+2009-08-22 17:25:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed xengineoutput.c, to keep the duplicated code identical to that of wengineo.c.
+
+2009-08-22 17:24:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated xboard.texi: added warning that pixmaps are not build for all variants
+
+2009-08-22 17:19:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+added a dialog for engine-specific option settings
+
+2009-08-22 17:09:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated some documentation
+
+2009-08-22 17:07:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed several bugs in the backend and added some more polyglot support
+
+* I added recognition for the new UCI3 option types that are recognized in the WB
+option features, to make sure this version is compatible with future Polyglots.
+Also fixed a bug that failed to strip an asterisk prefix from the first
+combo-box item.
+
+* I fixed the ICS-time-in-PGN bug.
+
+* I fixed a bug which caused a space to be missing when long lines broken up by
+an ICS were joined.
+
+2009-08-22 17:02:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+better polyglot support for engine ouput
+
+I fixed the algorithm for clearing the Engine Output window to work better with
+the latest Polyglot, whight outputs UCI "info strings" amongst the thinking
+output.
+
+2009-08-22 16:23:32 -0600 Eric Mullins <emwine@earthlink.net>:
+Beginnings of installer for 4.4.0.  HGM asked me to forward the nsi file,
+but it seemed best to just add the installer tree to git even though
+it's not finished.  You must install NSIS then FontName-0.7.exe
+(included in installer folder) then run build.bat in the same directory.
+
+2009-08-05 22:18:29 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+patch backend.c to make the -noGUI option also work in ICS mode.
+
+2009-08-01 13:09:49 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+temporary fix for pre-select
+
+As a temporary kludge I replaced looking into the holdings for the piece type
+by figuring out which piece would belong on the clicked holdings square.
+This is a non-trivial process, as it depends on which pieces participate
+in a certain variant.
+
+2009-07-30 00:19:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changed click-click moves
+
+I got complaints about the way XBoard 4.4.0 handles click-click moves,
+in particular changing the selected piece after selecting King
+(for which I suppressed interference with FRC castling in a rather brutal way).
+People tell me it is very annoying that clicks sometimes don't work to select a piece.
+WinBoard uses refined logic in the back-end to handle this, but the XBoard
+front-end is not interfaced with that yet.
+(This would require a major rewrite of the mouse handler.)
+This temporary patch suppresses this behavior in all variants that do not support
+Fischer castling, and even there only exhibit it for Rook-after-King selection
+(which will be interpreted as an attempt to enter a castling move as K x own R).
+
+2009-07-26 08:43:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+option -adjudicateDrawMoves is not included in the XBoard list.
+
+added it to the option list
+
+2009-07-21 20:23:23 -0700 Arun Persaud <arun@nubati.net>:
+converted files from dos to unix format
+
+run dos2unix over a bunch of files
+
+2009-07-16 07:43:38 -0600 Eric Mullins <emwine@earthlink.net>:
+Stripped out unused VersionInfo
+
+2009-07-15 23:16:19 -0700 Arun Persaud <arun@nubati.net>:
+changed version to 4.4.0.beta1
+
+2009-07-15 23:12:37 -0700 Arun Persaud <arun@nubati.net>:
+updated INSTALL file to add ./autogen.sh
+
+2009-07-15 22:44:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+higher number of engine options possible now
+
+I upped the number of options per engine from
+50 to 100, and the average number of characters per option from 10 to 20.
+
+2009-07-15 12:30:37 -0600 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix of bad bug
+
+2009-07-14 23:41:36 -0600 Eric Mullins <emwine@earthlink.net>:
+Added version information to resources.
+
+2009-07-14 23:40:50 -0600 Eric Mullins <emwine@earthlink.net>:
+Added Jaws targets to IDE projects.
+
+2009-07-14 23:39:12 -0600 Eric Mullins <emwine@earthlink.net>:
+Final makefile adjustments and compiling instructions.
+
+2009-07-13 22:35:17 -0600 Eric Mullins <emwine@earthlink.net>:
+Cleaned up garbage left behind from my makefile update.
+
+2009-07-13 22:26:56 -0600 Eric Mullins <emwine@earthlink.net>:
+Updated cmdline makefiles to be able to produce JAWS binaries.
+
+This breaks support for MSVC 4.x.  It may still be possible to
+use that compiler if you obtain the latest SDK from Microsoft.
+MSVC 6.0 still works, but I had to change the target windows
+version to 0x500 which causes warnings about building beta
+applications.  This is all due to the use of MENUBARINFO data
+type in the jaws binary.  You can reduce the WINVER to 0x0400
+safely if you are not building a JAWS binary, and MSVC 4.x
+will work fine.
+
+2009-07-13 22:26:10 -0600 Eric Mullins <emwine@earthlink.net>:
+Removed dependency on jfwapi.h
+
+Allows anyone to compile a jaws compatible binary.
+
+2009-07-13 22:23:31 -0600 Eric Mullins <emwine@earthlink.net>:
+Fixed duplicate resource in winboard.rc
+
+PLEASE remember to pull before commiting.  This is the 2nd
+time I've fixed this.  It's a waste of time to keep fixing
+the same problems.
+
+2009-07-13 19:36:58 -0700 Arun Persaud <arun@nubati.net>:
+resolved conflict between Xt and Xaw libraries
+
+seems like we don't need to link against Xt.
+
+2009-07-13 19:33:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+help-menu was not un-grayed in the JAWS version, when it played with engines
+
+2009-07-13 19:29:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+integrated jaws into winboard
+
+I integrated the JAWS patch now into WinBoard in such a way that the
+JAWS and standard version can use the same resource file. This new
+winboard.c contains the improved dialog layot of the JAWS version,
+but none of the menus and JAWS-specific acclerator keys. The latter
+are now generated at run time by code in jaw.s. As a result jaws.h
+could be cancelled, as there the JAWS-specific defines are no
+longer needed outside jaws.c (now the .rc does not use them), and
+is incorporated in it.
+
+2009-07-12 15:37:26 -0700 Arun Persaud <arun@nubati.net>:
+fixed problem in autoconf using Xaw3d
+
+rewrote the section for Xaw3d in the autoconf file
+
+2009-07-12 15:29:28 -0600 Eric Mullins <emwine@earthlink.net>:
+Added Jaws support to GCC makefile
+
+2009-07-12 15:28:20 -0600 Eric Mullins <emwine@earthlink.net>:
+added help support: MSVC IDE and DevCpp IDE project files
+
+2009-07-12 15:26:49 -0600 Eric Mullins <emwine@earthlink.net>:
+Removed obsolete makefiles and support files.
+
+2009-07-12 12:33:26 -0700 Arun Persaud <arun@nubati.net>:
+updated AUTHORS with the help of git. use
+
+git log --pretty=oneline --name-only --author=AUTHORNAME v4.2.7..HEAD  |sort |uniq
+
+a bit of hand editing and a quick emacs macro later and you have a nice
+comma seperated list of all files changes by one author between two commits.
+
+2009-07-12 12:31:47 -0700 Arun Persaud <arun@nubati.net>:
+updated Changelog using git log --no-merges --pretty="* %ai: %s%n %b" HEAD v4.2.7
+
+2009-07-12 11:34:28 -0700 Arun Persaud <arun@nubati.net>:
+cleaned up some more copyright notices
+
+2009-07-12 11:22:30 -0700 Arun Persaud <arun@nubati.net>:
+updated copyright to reflect A. Scotte as copyright holder
+
+need to mention him, since the paperwork won't be finished before the next release
+
+2009-07-12 10:56:29 -0700 Arun Persaud <arun@nubati.net>:
+updated patchlevel to "k"
+
+2009-07-12 10:53:50 -0700 Arun Persaud <arun@nubati.net>:
+fixed autoconf problem with VERSION/PATCHLEVEL variables
+
+xboard used it's own version of PRODUCT, VERSION and PATCHLEVEL variables.
+Switched to PACKAGE_STRING provided by autoconf
+
+2009-07-12 10:29:46 -0700 Arun Persaud <arun@nubati.net>:
+cleaned up old CVS left overs
+
+removed $Id tags from all files
+
+2009-07-12 10:10:17 -0700 Arun Persaud <arun@nubati.net>:
+converted xhistory via dos2unix
+
+2009-07-12 10:09:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed crash in history window
+
+someone discovered that opening the move-history window in XBoard leads to
+an immediate crash. Turns out that renaming the menu item broke it! (The
+name of the item was apprently used elsewhere in the code to access it,
+for putting a check mark there.)
+
+2009-07-12 10:04:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fix for Animation of castling moves in Chess960
+
+Animation of castling moves in Chess960 turned out to sometimes make the
+king disappear from the display. For the time being I patched this in
+xboard.c to suppress animation of FRC castling moves altogether. As FRC
+castlings internally are represented as KxR, the to-square does not make
+sense anyway, which made the animation look very weird even when it led
+not to a king disappearance act. And the Rook move of a castling is never
+animated.
+
+2009-07-11 22:44:53 -0600 Eric Mullins <eric@hiarcs.(none)>:
+Update GCC makefile to remove .obj targets.
+
+Dunno how they got in there, but they should be .o
+
+2009-07-11 22:42:41 -0600 Eric Mullins <eric@hiarcs.(none)>:
+Update makefile dependencies on help.c and help.h.
+
+2009-07-11 22:36:59 -0600 Eric Mullins <eric@hiarcs.(none)>:
+Allow compiling with MSVC6.0 and 4.1
+
+Move prototypes into help.h, after making sure that DWORD_PTR is
+defined.  Include help.h from winboard.c and help.c so both files
+benefit from the definition.
+
+2009-07-11 18:26:16 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+ lists these accelerator keys in the menus for JAWS
+
+2009-07-11 18:24:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+added shortcuts
+
+This patch allows the use of Ctrl+C and Ctrl+V for Copy Game
+and Paste even in I C S mode when the board has focus.
+
+2009-07-11 18:22:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+better handling of pasting a game without PGN tags
+
+patch in wclipbrd.h to make it smarter to decide between pasting
+a game or a position so it can handle games without PGN tags.
+If it doesn't parse as a FEN it is assumed to be a game.
+
+2009-07-11 18:20:56 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed parser error for knight move
+
+The parser had a strange quirk: it recognized bd2 as a valid Knight move
+(Nb1-d2) while this SAN format should be reserved for Pawn moves only.
+
+2009-07-11 18:19:30 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+ fixed a few warnings in connection with the help patch (now warning free)
+
+2009-07-11 18:13:50 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+some major re-assignment of accelerator keys in the JAWS
+
+2009-07-11 16:54:53 -0600 Eric Mullins <eric@hiarcs.(none)>:
+several small fixes
+
+uptracked winboard.ini
+
+* Cleanup: moved "Some definitions required..." from winboard.c to config.h,
+and combined some definitions from borland w/ MS.
+
+* Changed internal HtmlHelp return type and 4th argument to facilitate various
+compilers.  These changes, while not strictly adhering to HtmlHelp() conventions,
+won't impact anything since the function modified is internal only.
+
+* Modified HtmlHelp return values to integer to silence warnings.
+* Added help.c to the project in makefile.gcc & makefile.ms.
+* Fixed duplicate resource in winboard.rc.
+
+2009-07-09 22:08:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+added JAWS support; help files for Vista; bugfixes for winboard.c
+
+* JAWS support
+* help files should now work under Vista (the user has to have either
+  a program to view old windows help files or to view html-files installed)
+* I fixed the tabbing between all windows that were added according to Tim's sugestions.
+* I added typing in of a move number in the move type-in dialog as a shortcut
+  to going to that position by use of the < and > buttons. Mainly intended to
+  ease life for the blind, but I think it can be generally useful.
+  (Although the move-history dialog provides that functionality too,
+  this is quicker if you don't happen to have it open.)
+* I added typing of a FEN in the move type-in dialog in Edit Position mode.
+  (Which could not be used without mouse at all, and is defective
+  in crazyhouse even with mouse, as there was no way to populate holdings.)
+
+2009-07-09 22:03:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+some bugfixes: ICS error handling
+
+* play a different sound for takebacks in ICS mode
+* pop up error messages for illegal moves for typed-in moves
+
+2009-07-09 21:50:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+removed no longer needed debug message
+
+2009-07-09 21:48:23 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed compile error from a previous change
+
+2009-07-09 21:44:54 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+user selectable font in game list
+
+This makes the game list use the same (user selectable) font
+as the the move-history window.
+
+2009-06-30 21:27:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed typos in xboard.texi documentation.
+
+2009-06-30 21:16:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated the FAQ
+
+2009-06-27 17:06:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changed font in engine output window
+
+The engine-output window now uses the same font as the move-history window
+(which was selectable in the "Options  -> Fonts..." menu, while the other
+wasn't).
+
+2009-06-27 17:03:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed some characters in xboard.texi
+
+It seems that copying manual sections from the RTF to th texi file did
+somehow mess up the double-quote characters, and changed them into some
+strange (unicode?) symbols.
+
+2009-06-27 16:56:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+two shogi related bugfixes
+
+I discovered a bug in the move generator for the Shogi Dragon King. I
+guess it went unnoticed so far because this is a promoted version of the
+Rook, which hardly occurs in games. (moves.c)
+
+There was also a problem with the piecesfix I sent you before; Shogi
+chosen as initial variant did use wrong piece symbols. (I had tested this
+on gothic, but there it happened to work for a different reason, unique to
+gothic.) This affects xboard.c.
+
+2009-06-27 16:54:04 -0700 Arun Persaud <arun@nubati.net>:
+small cleanup
+
+2009-06-27 16:51:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+adds bitmaps for shogi promotions, and selects the bitmaps or
+pixmaps for the more rarely used piece types on a per-variant basis.
+
+2009-06-27 16:44:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+adds new piece types in the promotion dialog and edit-position piece menu
+
+2009-06-27 16:13:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated bitmaps files: files for fairy pieces where missing,
+others had names that didn't work with autoloading.
+
+2009-06-27 16:06:35 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed a bug concerning bitmaps
+
+2009-06-27 15:53:45 -0700 Arun Persaud <arun@nubati.net>:
+give a default directory for bitmaps files (tiny change)
+
+this is also one of the debian patches, should be rewritten to use
+the correct install directory. No Author was given.
+
+2009-06-27 15:47:52 -0700 Brian May <>:
+verbose_error_message_about_recognized_options (tiny change from Debian patches)
+
+2009-06-27 15:45:14 -0700 Matt Zimmerman <>:
+add a visual low time warning (tiny change from Debian patches)
+
+2009-06-24 23:31:52 -0700 Arun Persaud <arun@nubati.net>:
+dos 2 unix conversion of backend.c
+
+2009-06-24 23:30:07 -0700 Arun Persaud <arun@nubati.net>:
+exchanged some sprintf with snprintf found in a patch for the debian system,
+extended it a bit to other sprintf's original patch included only 11 lines
+by Florian Ernst <florian@debian.org>
+
+2009-06-24 23:07:23 -0700 Mark Ioli <chessknight>:
+enabled a patch for default settings in winboard
+
+2009-06-24 22:53:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated copyright notice
+
+
+2009-06-24 22:52:20 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+patches a bug in chosing the initial board size on a virgin startup
+I introduced recently
+
+2009-06-24 22:49:33 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+I put in testing for the winning condition in 3checks
+
+on a check it just goes through the entire game to subject
+every position on a check test, to see if there were two more.
+
+2009-06-24 22:47:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated copyright notice in docs
+
+2009-06-24 22:41:40 -0700 Florian Ernst <florian@debian.org>:
+added small patch from debian (tiny change)
+
+according to the debian patch tracker, this patch is by
+Florian Ernst <florian@debian.org>.
+It fixes whitespace issues in filename called from cmail.
+
+2009-06-24 22:33:13 -0700 Arun Persaud <arun@nubati.net>:
+converted dos2unix format for xboard.texi
+
+2009-06-24 22:31:57 -0700 Arun Persaud <arun@nubati.net>:
+deleted two more files that don't need to be in git
+
+these files can be generated by autogen.sh
+
+2009-06-21 12:10:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+major overhaul of the -stickyWindows feature
+
+I did a major overhaul of the -stickyWindows feature.
+The game-list and ICS-interaction windows are now also sticky.
+I also added a form of stickiness when the main window is resized;
+edges of auxiliary windows sticking to the right or bottom side of
+the main window stay attached when the window resizes
+(due to nr of board squares or their size). The way the window
+coordinates are saved in the .ini file is now relative to the
+main window, and some dummy options are added to be able to
+recognize right- and bottom-edge sticking, and reconstruct that
+when WB starts up with another board size. Also added are
+volatile options to ensure there will be space for auxiliary windows
+above and left of the main window.
+
+2009-06-21 12:07:01 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed long-algebraic form of drops
+
+The WB parser turned out not to understand the long-algebraic form
+of drops send by an ICS. (like B/@@-e4), so even with
+legality testing off I now use the SAN move for drops.
+
+2009-06-18 18:35:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Refined stalemate adjudication in Suicide, some cleanup
+
+Refined stalemate adjudication in Suicide, which seems to be not always won
+for the stalemated side, but for the side with the smallest number of pieces.
+Cleaned up the adjudication code in the process. (backend.c moves.c, moves.h)
+Also includes a tiny change in the -autoKibitz format, as requested on
+Talkchess.
+
+2009-06-18 18:32:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Enhancement of the way -autoLogo decides which logos to display
+
+2009-06-16 00:06:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+bugfix and enhancement in autoKibitz mode
+
+changed the format of the autoKibitz: score/depth in stead of depth/score,
+as in PGN. I also supress the ICS time for the move now in the PGN
+if extended info is available. When enhancing the functionality of
+the autoKibitz command (using the opponent engine kibitz for the saved PGN)
+I discovered that the xengineoutput.c in our tree was obsolete,
+and contained a routine of which the arguments were no longer compatble
+with the call from backend.c, and caused segfaulting. I copied in
+the  corresponding routine in wengineo.c, which was compatible. That the
+compiler did not flag this is a sign of badly organized code, I suppose...
+
+The enhancement itself affected backend.c.
+
+2009-06-16 00:04:13 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+modified clock layout
+
+I altered the display of the clocks in the presence of engine logos; I used to
+stack them, but some inquiry on Talkchess sowed that people disliked the
+stacking. So now I display them next to each other again, but as 2-line-high
+fields to make room for te logos.
+
+2009-06-15 23:59:32 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+new zippy option zippyShortGame
+
+On request of Mike Adams I added a new zippy option, -zippyShortGame,
+to make life more difficult for abusers of abort and disconnect for cheating.
+
+2009-06-15 23:56:40 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed some bugs in the animation of atomic captures
+
+2009-06-13 15:27:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+some small bugfixes
+
+I had overlooked one place from which the FEN writer
+(of whicf I changed the argument types), which made WB crash
+if you copied a FEN (or PGN that cotained FEN) to the clipboard.
+I must have overlooked a warning during compile, or some depedency
+is not correct in the makefile. Anyway, wclipboard.c had to be changed.
+I also moved adjudication of some losing conditions to before tetsing
+for stalemate, (e.g. in atomic, if your king get destroyd you lose,
+even if you have no moves after that because it was your only piece.).
+this affects backend.c.
+I had used the same bits in the rule-modifier flags for indicating
+mandatory capture as was already used for indicating FRC-style castling.
+This led to frequent illegal move calls in FRC... (moves.h)
+
+2009-06-13 10:45:17 -0700 Arun Persaud <arun@nubati.net>:
+cleaned up HTML in FAQ.html -- still need to work on content
+
+2009-06-13 09:36:26 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+added option for work-around for some FRC engines in regards to FRCFENs
+
+It suddenly occurred to me that I had promised on CCC to include an option
+to provide a work-around for the problem that some FRC engines do not
+understand FRC FENs (and thus do not play at all under WinBoard,
+as FRC always has to begin with sending the initial position).
+So I added the options -firstNeedsNoncompliantFEN, -secondNeedsNoncompliantFEN.
+This affects winboard.c and xboard.c, (for defining the option),
+common.h, backend.h, backend.c, (for implementing it),
+xboard.texi and winboard.rtf (decribing it).
+This option provides users with a means to always force the FEN castling field
+to KQkq (but can be used for many other work-arounds as well).
+
+2009-06-13 09:30:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed bug with random calls
+
+There also seemed to be a bug with the shuffling of opening positions;
+I had changed the declaration of the position number from
+long long int to u64 to comply with MSVC, but this suppressed shuffling
+completely. I now changed it to int. I recently noted a problem with true
+randomizing anyway: this was based on srand(time()), but time() apparently
+did not change fast enough, so that starting several games in rapid succession
+(because the book line contained a 3-fold repetition) produced identical games.
+So I now seed the random once and for all during startup, based on the msec of
+the time mark, and removed the other calls to srand().
+
+2009-06-13 09:26:14 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changed name for fairymax program in xboard.h
+
+2009-06-13 09:25:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+removed my name from copyright message in help->about menu
+
+2009-06-13 09:22:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed -stickyWindows option
+
+I figured out why -stickyWindows was not working in XP and Vista
+(while it always worked under Win2K), and I think I found a fix for
+it that works under all Windows versions. (I tried XP and Win2K.)
+
+2009-06-13 09:20:38 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Updated docs for Engine-Settings menu
+
+2009-06-13 09:19:05 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Awareness of winning conditions for atomic and giveaway variants; two bugfixes
+
+fixed bug in claim verification
+Bugfix on initial position of Great Shatranj
+
+2009-06-13 09:16:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Legality testing (mandatory capture) in giveaway variants
+
+2009-06-13 09:16:17 -0700 Arun Persaud <arun@nubati.net>:
+don't ignore winboard/parser.c
+
+2009-06-13 09:12:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Added new variant Twilight Chess
+
+2009-06-13 09:08:57 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+some renaming and restructuring of WB menu items, to conform more to XBoard
+
+2009-06-13 09:07:07 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Fixed bug in atomic patch that interfered with non-atomic variants
+
+2009-06-10 21:46:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed different use of engine option compared to Polyglot
+
+it turns out the new Polyglot uses a sightly different version
+of the GUI->engine option command than the one I proposed
+(and implemented in XBoard; Michel sneaked in an '=' sign
+between the NAME and VALUE of the option, to allow for
+more unambiguous parsing. I guess in principle this is a good idea,
+so I adapted XBoard to Polyglot rather than the other way around.
+The result is that there are canges in xboard.c, and the documentation.
+I noticed that I unjustly had internationalized the option strings
+to be send to the engine in xoptions.c; this was of course nonsense,
+as this was WB protocol. So I undid that too.
+
+2009-06-10 21:37:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+add the already supported variants 3check and great (=Great Shatranj)
+to the New Variant... menu.
+
+2009-06-10 21:32:22 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+animate explosions in variant atomic (if animate moves is on).
+
+2009-06-10 21:30:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed castling bug in variant twokings.
+
+2009-06-10 21:22:36 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed forteitary wins for special game variations
+
+feature that corrects forfeitary wins (e.g. on time)
+of a bare King to draws of course breaks proper operation
+in losers, suicide and giveaway
+
+2009-06-09 21:02:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+automatically test ini file extension for files from commandline option @filename
+
+The winboard.c is a patch that automatically tries indirection files on the
+command line (@filename type arguments) also with an extension .ini if the name itself
+did not match any existing file and contained no period. This saves the user typing the
+.ini all the time (which I started to find pretty annoying while working on the installer
+package).
+
+2009-06-08 15:23:58 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+added gamelisttag option to xboard
+
+also updated documentation.
+
+2009-06-08 15:20:00 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated RTF file for winboard
+
+2009-06-06 09:12:48 -0700 Arun Persaud <arun@nubati.net>:
+fixed syntax error in texi file
+
+2009-06-06 08:57:52 -0700 Arun Persaud <arun@nubati.net>:
+updated to patchlevel "j"
+
+2009-06-06 09:00:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+fixed adjudicating probelm in Shantranj
+
+Refrain from adjudicating a draw based on insufficient mating material
+(except bare King vs bare King) in Shatranj (where in this case you can
+still win by baring the opponent's King).
+
+2009-06-06 08:55:17 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated documentation and FAQ
+
+2009-06-04 22:52:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+source clean up. Fix compiler warning, removed unused variables, etc.
+
+2009-06-04 20:43:29 -0700 Eric Mullins <emwine at earthlink.net>:
+adding support for different windows compiler
+
+Eric kindly provided us with some makefiles for different windows
+compiler and also fixed some issues that came up while using those compilers.
+
+2009-06-04 18:27:26 -0700 Arun Persaud <arun@nubati.net>:
+cleanup: got rid of a lot of files that are not needed for a new release
+
+lots of documentation was available in several places,
+old unused source files and not used graphics file were floating around
+in the tree. This should clean up most of it. No need to keep these files
+around, especially since we are using version control.
+
+2009-05-29 18:56:06 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Added the Action-menu items that allow the user to adjudicate
+ongoing games in Two-Machines mode. This was an already existing
+backend function from Winboard_x; I only had to create a menu item for it
+to be called. Due to an oversight I had forgotten to do that so far.
+(Logically, I should have done it in the 4.3.5 release,
+where I updated the XBoard menus to conform to the WinBoard menus.)
+
+I tested them, and they seem to work. (As expected.)
+
+2009-05-28 22:23:00 -0700 Arun Persaud <arun@nubati.net>:
+updated patchlevel to "i"
+
+2009-05-28 22:19:08 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+small change to mousewheel support; two changes in window behaviour
+
+* Visible effects during resizing suppressed, bug in chosing new size fixed.
+* No longer reserves left and top margins next to main window on first popup.
+* built in some hysteresis into mousewheel support, ignorng the first event in any new
+direction to suppress effects from accidential mouse movement.
+
+2009-05-28 22:11:11 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+corrected 'animate dragging'
+
+I finally figured out how the 'animate dragging' works in XBoard,
+so that I could add code to do the unstacking of multiple pieces
+in the holdings, rather than always leaving an empty square while
+you drag them. (And then suddenly re-growing the remaining pieces
+as you make the drop.)  It does not look as fancy as in WinBoard
+yet, because the counts still only decrease when you release the
+piece, rather than when you lift it. But this is not nearly as
+disturbing as leaving empty holdings (if only temporarily) when
+you still have pieces there.
+
+2009-05-28 22:06:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+Added comand-line options -debugFile (as synonym for -nameOfDebugFile,
+as WinBoard also has these synonyms), and -engineDebugOutput
+(wich already existed in the backend).
+
+2009-05-28 21:57:53 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated documentation for new release
+
+2009-05-28 21:55:51 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+added Xiangqi perpetual-chase detection
+
+2009-05-28 00:06:53 -0700 Arun Persaud <arun@nubati.net>:
+Updated all files to GPL version 3.
+
+2009-05-28 00:03:32 -0700 Arun Persaud <arun@nubati.net>:
+converted two files from dos to unix format
+
+2009-05-27 23:12:24 -0700 Arun Persaud <arun@nubati.net>:
+updated INSTALL, NEWS and other files for new release
+
+cleaned up a bit and updated some information in the text files.
+
+2009-05-07 21:48:23 -0700 Arun Persaud <arun@nubati.net>:
+winboard/config.h shouldn't be in .gitignore, only ./config.h
+
+2009-05-07 21:47:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+bumped patchlevel to 0g
+
+2009-05-07 21:46:02 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+corrected path in makefile
+
+2009-05-07 21:45:48 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+updated rtf
+
+2009-05-07 21:45:25 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+added firstOptions, secondOptions, noGUI, firstXBook, secondXBook
+
+2009-05-07 21:44:03 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+handle promotion case for Shogi
+
+2009-05-07 21:43:34 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+add note about RESULT command for GUI programmers
+
+2009-05-07 21:42:37 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+small changes to book.c
+
+ added code for different board sizes
+ added some debuginfo
+ handle promotion of pieces
+
+2009-05-05 23:07:18 -0700 Arun Persaud <arun@nubati.net>:
+added a .gitignore file
+
+2009-05-03 12:41:06 -0700 Arun Persaud <arun@nubati.net>:
+wrong line ending for Unix... ran dos2unix on both files
+
+2009-05-02 13:51:50 -0700 Arun Persaud <arun@nubati.net>:
+fixed texinfo files, added windows help file, removed config.h from git
+
+texinfo.in is not needed anymore, since it only provided a
+version string, but this can be created automatically using autotools
+
+deleted config.h from version control, since it is automatically created.
+added winboard.hlp file (not sure if needed)
+
+2009-04-26 23:34:34 -0700 Arun Persaud <arun@nubati.net>:
+updated autoconf init file
+
+* renamed autoconf init file from configure.in to configure.ac
+* added bug-report email address to ac_init
+* replaced ac_output(...) with ac_config_files, ac_config_commands and ac_output
+
+2009-04-26 14:49:03 -0700 Arun Persaud <arun@nubati.net>:
+parser.c is generated by lex, so it shouldn't be tracked
+and also parcer.c shouldn't be in Makefile.am
+
+2009-04-26 14:44:51 -0700 Arun Persaud <arun@nubati.net>:
+added book.c to Makefile.am
+
+2009-04-26 13:49:15 -0700 Arun Persaud <arun@nubati.net>:
+use autoheader to create config.h.in
+
+no need to track this in git anymore
+
+2009-04-26 11:13:26 -0700 Arun Persaud <arun@nubati.net>:
+fixed autoheader warings, remove depreciated acconfig.h
+
+2009-04-26 10:30:23 -0700 Arun Persaud <arun@nubati.net>:
+added a autogen.sh
+
+2009-05-02 10:55:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changes from H.G. Muller; version 4.3.16
+
+2009-05-02 10:50:10 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changes from H.G. Muller; version 4.3.15
+
+2009-05-02 10:38:39 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changes from H.G. Muller; version 4.3.14
+
+2009-05-02 10:13:41 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+HGM fixed cygwin compile for winboard
+
+2009-04-24 16:11:57 -0700 Arun Persaud <arun@nubati.net>:
+cross compilier working
+
+2009-04-19 10:00:52 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changes from H.G. Muller; version 4.3.13
+
+2009-04-19 09:52:47 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changes from H.G. Muller; version 4.3.12
+
+2009-04-19 09:48:59 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changes from H.G. Muller; version 4.3.8
+
+2009-04-19 09:44:15 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changes from H.G. Muller; version 4.3.7
+
+2009-04-19 09:39:19 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changes by H.G. Muller; version 4.3.4
+
+2009-04-19 09:34:31 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changes from H.G. Muller; version 4.3.2
+
+2009-04-19 10:26:24 -0700 H.G. Muller <h.g.muller@hccnet.nl>:
+changes from H.G. Muller
+
+2009-04-16 23:06:13 -0700 Arun Persaud <arun@nubati.net>:
+cleaned up the directory a bit. Removed winboard-dm-beta,
+merged the two Changelogs together
+
+2009-04-16 14:12:48 -0700 A. Scotti <dev@ascotti.org>:
+changes from Alessandro Scotti from 20060129
+
+2009-04-16 14:09:33 -0700 A. Scotti <dev@ascotti.org>:
+changes from Alessandro Scotti from 20060112
+
+2009-04-16 14:04:02 -0700 A. Scotti <dev@ascotti.org>:
+changes from Alessandro Scotti from 20051231
+
+2009-04-16 13:59:12 -0700 A. Scotti <dev@ascotti.org>:
+changes from Alessandro Scotti from 20051129
+
+2009-04-16 13:53:41 -0700 A. Scotti <dev@ascotti.org>:
+changes from Alessandro Scotti from 20050322
+
+2009-04-10 04:18:59 +0000 Arun Persaud <arun@nubati.net>:
+translated a handfull of strings and set the codeset to UTF-8
+for the translations.
+
+2009-03-18 03:20:50 +0000 Arun Persaud <arun@nubati.net>:
+Translation: added German po file (roughly 50% translated)
+
+2009-03-01 04:23:54 +0000 Arun Persaud <arun@nubati.net>:
+fixed bug #22853: changed all .Xdefaults to .Xresources in xboard.texi
+
+2009-03-01 02:43:43 +0000 Arun Persaud <arun@nubati.net>:
+fixed bug #25672, patch #6182 by adding DESTDIR support to Makefile.in
+
+2009-03-01 02:33:26 +0000 Arun Persaud <arun@nubati.net>:
+fixed a warning message in the configure script
+
+2009-02-28 22:58:57 +0000 Arun Persaud <arun@nubati.net>:
+fixed parser.l. Should fix bug #22812
+
+2009-02-28 22:58:14 +0000 Arun Persaud <arun@nubati.net>:
+fixed parser.l. Should fix bug #22812
+
+2009-02-28 22:55:30 +0000 Arun Persaud <arun@nubati.net>:
+added myself to the AUTHOR file
+
+2007-06-15 04:26:57 +0000 Mark Loli <chessknight>:
+Initial check-in of NSIS Winboard installer files.
+
+* 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 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.