worked on premove bug
[xboard.git] / ChangeLog
index 313e8f1..036967d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,692 @@
-ChangeLog for XBoard/WinBoard
+ChangeLog for XBoard/WinBoard 
+-----------------------------
+
+(latest entries created by git log --no-merges --pretty="* %ai: %s%n %b" vnew vold)
+
+* 2009-09-05 09:44:21 -0700: updated AUTHORS and README files for release
+* 2009-09-05 08:52:09 -0700: fixed some typos
+* 2009-09-04 22:39:45 -0700: 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: removed install files from master
+ they now live in their own branch
+
+* 2009-09-03 22:30:18 -0700: 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: fixed some typos
+* 2009-09-03 20:47:13 -0600: Updated project files for DevCpp and Visual Studio to add wsettings.c
+* 2009-09-03 20:46:33 -0600: Added newline at end of file to silence warning.
+* 2009-08-31 20:29:49 -0700: 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: 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: updated documentation
+* 2009-08-31 20:20:55 -0700: updated installer script
+* 2009-08-31 19:51:48 -0700: new help files for windows
+* 2009-08-25 20:41:29 -0700: updated installer
+* 2009-08-25 20:36:53 -0700: undid some previous changes
+ some files got mixed up
+
+* 2009-08-25 20:32:22 -0700: fixed small bug in wsetting
+* 2009-08-25 20:29:06 -0700: 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 switc
+h
+
+* 2009-08-25 20:26:20 -0700: 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: fixed warning messages from compiler
+* 2009-08-23 14:24:38 -0700: 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: OK, this is the beefed up version of the Polyglot info-string kludge, for WB and XB.
+* 2009-08-23 10:22:48 -0700: added missing X_LIBS references to Makefile.am
+* 2009-08-22 23:33:44 -0700: made the install script and executable
+* 2009-08-22 23:19:07 -0700: changed beta1 to beta2
+* 2009-08-22 23:14:11 -0700: 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: 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: added check for malloc.h
+ this should fix a build error on OS X
+
+* 2009-08-22 17:47:44 -0700: A small cosmetic change in the size of buttons inside a groupbox of the Engine-Setup dialog
+.
+* 2009-08-22 17:32:14 -0700: 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: 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: 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: fixed xengineoutput.c, to keep the duplicated code identical to that of wengineo.c.
+* 2009-08-22 17:24:08 -0700: updated xboard.texi: added warning that pixmaps are not build for all variants
+* 2009-08-22 17:19:11 -0700: added a dialog for engine-specific option settings
+* 2009-08-22 17:09:58 -0700: updated some documentation
+* 2009-08-22 17:07:10 -0700: 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: 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: Beginnings of installer for 4.4.0.  HGM asked me to forward the nsi file, but it seemed bes
+t to just add the installer tree to git even though it's not finished.  You must install NSIS then FontName-0.7.exe (inc
+luded in installer folder) then run build.bat in the same directory.
+* 2009-08-05 22:18:29 -0700: patch backend.c to make the -noGUI option also work in ICS mode.
+* 2009-08-01 13:09:49 -0700: 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 va
+riant.
+
+* 2009-07-30 00:19:37 -0700: 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: option -adjudicateDrawMoves is not included in the XBoard list.
+ added it to the option list
+
+* 2009-07-21 20:23:23 -0700: converted files from dos to unix format
+ run dos2unix over a bunch of files
+
+* 2009-07-16 07:43:38 -0600: Stripped out unused VersionInfo
+* 2009-07-15 23:16:19 -0700: changed version to 4.4.0.beta1
+* 2009-07-15 23:12:37 -0700: updated INSTALL file to add ./autogen.sh
+* 2009-07-15 22:44:05 -0700: 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: Fix of bad bug
+* 2009-07-14 23:41:36 -0600: Added version information to resources.
+* 2009-07-14 23:40:50 -0600: Added Jaws targets to IDE projects.
+* 2009-07-14 23:39:12 -0600: Final makefile adjustments and compiling instructions.
+* 2009-07-13 22:35:17 -0600: Cleaned up garbage left behind from my makefile update.
+* 2009-07-13 22:26:56 -0600: 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: Removed dependency on jfwapi.h
+ Allows anyone to compile a jaws compatible binary.
+
+* 2009-07-13 22:23:31 -0600: 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: resolved conflict between Xt and Xaw libraries
+ seems like we don't need to link against Xt.
+
+* 2009-07-13 19:33:57 -0700: help-menu was not un-grayed in the JAWS version, when it played with engines
+* 2009-07-13 19:29:53 -0700: 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: fixed problem in autoconf using Xaw3d
+ rewrote the section for Xaw3d in the autoconf file
+
+* 2009-07-12 15:29:28 -0600: Added Jaws support to GCC makefile
+* 2009-07-12 15:28:20 -0600: added help support: MSVC IDE and DevCpp IDE project files
+* 2009-07-12 15:26:49 -0600: Removed obsolete makefiles and support files.
+
+* 2009-07-12 12:33:26 -0700: 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: updated Changelog using git log --no-merges --pretty="* %ai: %s%n %b" HEAD v4.2.7
+       
+* 2009-07-12 11:34:28 -0700: cleaned up some more copyright notices
+* 2009-07-12 11:22:30 -0700: 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: updated patchlevel to "k"
+* 2009-07-12 10:53:50 -0700: 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: cleaned up old CVS left overs
+ removed $Id tags from all files
+
+* 2009-07-12 10:10:17 -0700: converted xhistory via dos2unix
+* 2009-07-12 10:09:24 -0700: 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: 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: 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: Update makefile dependencies on help.c and help.h.
+* 2009-07-11 22:36:59 -0600: 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:  lists these accelerator keys in the menus for JAWS
+* 2009-07-11 18:24:19 -0700: 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: 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: 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:  fixed a few warnings in connection with the help patch (now warning free)
+* 2009-07-11 18:13:50 -0700: some major re-assignment of accelerator keys in the JAWS
+* 2009-07-11 16:54:53 -0600: 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: 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: 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: removed no longer needed debug message
+* 2009-07-09 21:48:23 -0700: fixed compile error from a previous change
+* 2009-07-09 21:44:54 -0700: 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: fixed typos in xboard.texi documentation.
+* 2009-06-30 21:16:59 -0700: updated the FAQ
+* 2009-06-27 17:06:26 -0700: 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: 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: 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: small cleanup
+* 2009-06-27 16:51:02 -0700: 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: adds new piece types in the promotion dialog and edit-position piece menu
+* 2009-06-27 16:13:15 -0700: 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: fixed a bug concerning bitmaps
+* 2009-06-27 15:53:45 -0700: 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: verbose_error_message_about_recognized_options (tiny change from Debian patches)
+* 2009-06-27 15:45:14 -0700: add a visual low time warning (tiny change from Debian patches)
+* 2009-06-24 23:31:52 -0700: dos 2 unix conversion of backend.c
+* 2009-06-24 23:30:07 -0700: 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: enabled a patch for default settings in winboard
+* 2009-06-24 22:53:11 -0700: updated copyright notice
+* 2009-06-24 22:52:20 -0700: patches a bug in chosing the initial board size on a virgin startup I introduced recently
+* 2009-06-24 22:49:33 -0700: 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: updated copyright notice in docs
+* 2009-06-24 22:41:40 -0700: 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: converted dos2unix format for xboard.texi
+* 2009-06-24 22:31:57 -0700: 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: 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: 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: 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: Enhancement of the way -autoLogo decides which logos to display
+* 2009-06-16 00:06:59 -0700: 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: 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: 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: fixed some bugs in the animation of atomic captures
+* 2009-06-13 15:27:26 -0700: 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 frule-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: cleaned up HTML in FAQ.html -- still need to work on content
+* 2009-06-13 09:36:26 -0700: 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: 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: changed name for fairymax program in xboard.h
+* 2009-06-13 09:25:07 -0700: removed my name from copyright message in help->about menu
+* 2009-06-13 09:22:02 -0700: 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: Updated docs for Engine-Settings menu
+* 2009-06-13 09:19:05 -0700: 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: Legality testing (mandatory capture) in giveaway variants
+* 2009-06-13 09:16:17 -0700: don't ignore winboard/parser.c
+* 2009-06-13 09:12:15 -0700: Added new variant Twilight Chess
+* 2009-06-13 09:08:57 -0700: some renaming and restructuring of WB menu items, to conform more to XBoard
+* 2009-06-13 09:07:07 -0700: Fixed bug in atomic patch that interfered with non-atomic variants
+* 2009-06-10 21:46:11 -0700: 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: add the already supported variants 3check and great (=Great Shatranj) to the New Variant... menu.
+* 2009-06-10 21:32:22 -0700: animate explosions in variant atomic (if animate moves is on).
+* 2009-06-10 21:30:19 -0700: fixed castling bug in variant twokings.
+* 2009-06-10 21:22:36 -0700: 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: 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: added gamelisttag option to xboard
+ also updated documentation.
+
+* 2009-06-08 15:20:00 -0700: updated RTF file for winboard
+* 2009-06-06 09:12:48 -0700: fixed syntax error in texi file
+* 2009-06-06 08:57:52 -0700: updated to patchlevel "j"
+* 2009-06-06 09:00:25 -0700: 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: updated documentation and FAQ
+* 2009-06-04 22:52:31 -0700: source clean up. Fix compiler warning, removed unused variables, etc.
+* 2009-06-04 20:43:29 -0700: 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: 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: 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: updated patchlevel to "i"
+* 2009-05-28 22:19:08 -0700: 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: 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: 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: updated documentation for new release
+* 2009-05-28 21:55:51 -0700: added Xiangqi perpetual-chase detection
+* 2009-05-28 00:06:53 -0700: Updated all files to GPL version 3.
+* 2009-05-28 00:03:32 -0700: converted two files from dos to unix format
+* 2009-05-27 23:12:24 -0700: 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: winboard/config.h shouldn't be in .gitignore, only ./config.h
+* 2009-05-07 21:47:37 -0700: bumped patchlevel to 0g
+* 2009-05-07 21:46:02 -0700: corrected path in makefile
+* 2009-05-07 21:45:48 -0700: updated rtf
+* 2009-05-07 21:45:25 -0700: added firstOptions, secondOptions, noGUI, firstXBook, secondXBook
+* 2009-05-07 21:44:03 -0700: handle promotion case for Shogi
+* 2009-05-07 21:43:34 -0700: add note about RESULT command for GUI programmers
+* 2009-05-07 21:42:37 -0700: 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: added a .gitignore file
+* 2009-05-03 12:41:06 -0700: wrong line ending for Unix... ran dos2unix on both files
+* 2009-05-02 13:51:50 -0700: 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: 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: 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: added book.c to Makefile.am 
+ * 2009-04-26 13:49:15 -0700: use autoheader to create config.h.in
+ no need to track this in git anymore
+
+* 2009-04-26 11:13:26 -0700: fixed autoheader warings, remove depreciated acconfig.h
+* 2009-04-26 10:30:23 -0700: added a autogen.sh
+* 2009-05-02 10:55:39 -0700: changes from H.G. Muller; version 4.3.16
+* 2009-05-02 10:50:10 -0700: changes from H.G. Muller; version 4.3.15
+* 2009-05-02 10:38:39 -0700: changes from H.G. Muller; version 4.3.14
+* 2009-05-02 10:13:41 -0700: HGM fixed cygwin compile for winboard
+* 2009-04-24 16:11:57 -0700: cross compilier working
+* 2009-04-19 10:00:52 -0700: changes from H.G. Muller; version 4.3.13
+* 2009-04-19 09:52:47 -0700: changes from H.G. Muller; version 4.3.12
+* 2009-04-19 09:48:59 -0700: changes from H.G. Muller; version 4.3.8
+* 2009-04-19 09:44:15 -0700: changes from H.G. Muller; version 4.3.7
+* 2009-04-19 09:39:19 -0700: changes by H.G. Muller; version 4.3.4
+* 2009-04-19 09:34:31 -0700: changes from H.G. Muller; version 4.3.2
+* 2009-04-19 10:26:24 -0700: changes from H.G. Muller
+* 2009-04-16 23:06:13 -0700: cleaned up the directory a bit. Removed winboard-dm-beta, merged the two Changelogs together
+* 2009-04-16 14:12:48 -0700: changes from Alessandro Scotti from 20060129
+* 2009-04-16 14:09:33 -0700: changes from Alessandro Scotti from 20060112
+* 2009-04-16 14:04:02 -0700: changes from Alessandro Scotti from 20051231
+* 2009-04-16 13:59:12 -0700: changes from Alessandro Scotti from 20051129
+* 2009-04-16 13:53:41 -0700: changes from Alessandro Scotti from 20050322
+* 2009-04-10 04:18:59 +0000: translated a handfull of strings and set the codeset to UTF-8 for the translations.
+* 2009-03-18 03:20:50 +0000: Translation: added German po file (roughly 50% translated)
+* 2009-03-01 04:23:54 +0000: fixed bug #22853: changed all .Xdefaults to .Xresources in xboard.texi
+* 2009-03-01 02:43:43 +0000: fixed bug #25672, patch #6182 by adding DESTDIR support to Makefile.in
+* 2009-03-01 02:33:26 +0000: fixed a warning message in the configure script
+* 2009-02-28 22:58:57 +0000: fixed parser.l. Should fix bug #22812
+* 2009-02-28 22:58:14 +0000: fixed parser.l. Should fix bug #22812
+* 2009-02-28 22:55:30 +0000: added myself to the AUTHOR file
+* 2007-06-15 04:26:57 +0000: 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
@@ -3329,3 +4017,1015 @@ 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.
+