Put recently used engines in WB menu
[xboard.git] / ChangeLog
index e39cc17..51fbc4a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,971 @@ ChangeLog for XBoard/WinBoard
 
 (latest entries created by git log --no-merges --pretty="%ai %an <%ae>:%n%s%n%n%b" vlast.. )
 
+2011-10-25 15:32:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix two warnings
+
+2011-10-24 20:00:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Don't adjust clock on right-click in EditGame mode WB
+
+This was a change that was already done for the left-clicks, but somehow
+never made it togit for the right-clicks
+
+2011-10-24 19:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Change chase message in .lng files
+
+2011-10-24 19:31:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Let perpetual-chase message mention square
+
+In stead of a boolean, PerpetualChase now returns the square the chased
+piece ends on (encoded as an int), and on adjudication it will be printed.
+
+2011-10-24 19:26:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add mechanism to translate variable messages in WinBoard
+
+A message prefixed with % in the lng file will be considered a match
+if it matches the start of the text to be printed, and the remaining
+part of the latter will remain untranslated. This was needed to allow
+translation of the perpetual change message, now it indicates the square
+of the chased piece.
+
+2011-10-24 19:20:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Use other interpretation of Asia rules for chase detection
+
+The detection of perpetual chases now ignores pre-existing checks.
+
+2011-10-12 17:28:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix crash on loading garbage game file
+
+The code to cache games was not resistant to moves before a valid
+game start, or a game filewithout any games at all.
+
+2011-10-08 20:43:52 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Incorporate variant type in book hash key
+
+This prevents booksforone variant being used for another, and allows
+multi-variant books.
+
+2011-10-07 15:41:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Update language.txt file
+
+
+2011-10-07 15:34:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Update Dutch lng file
+
+
+2011-10-07 15:21:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix Load Options dialog WB
+
+Defined fastkeys; reordered elements so that fastkeys focus edit they
+are intended for. Changed some of the more obscure texts. Corrected
+list of transatble dialog items, adding a few missing ones.
+
+2011-09-13 20:01:42 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix some warnings
+
+Prototypes were added, ormoved from backend.c to backend.h.
+
+2011-08-26 12:44:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Put 'Load Next' button back in WB Game List
+
+The '>' button for loading the next (filtered) game is re-instated in the
+WinBoard GameList. The main window has now accelerator keys Ctrl+Up and
+Ctrl+Down for loading the previous and next filtered game.
+
+2011-08-26 12:31:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Speed up position search and consider side to move
+
+The position search is made to pay attention to the side to move,
+which produces a speedup, because we only have to compare half the
+game positions when looking for an exact position match. An addition
+we now keep track of the total number of pieces, and abandon a game when
+it drops below the number of pieces in the position we seek.
+
+2011-08-21 23:16:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Dynamically allocate move cache
+
+A small statically declared cache good for 250k moves (~3200 games)
+will be expanded in steps of a factor 8 when it overflows.
+
+2011-08-18 18:40:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Translate search strings
+
+
+2011-08-17 22:55:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Implement flipped search
+
+
+2011-08-16 15:29:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Debug position search cache
+
+
+2011-08-15 18:44:37 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+profile
+
+
+2011-08-18 18:01:54 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Translate search-mode strings
+
+
+2011-08-15 16:59:39 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Quickscan
+
+
+2011-10-23 16:04:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix duplicate loading of second engine in tourneys
+
+To decide if new engines should be loaded, it was tested if first.pr
+equalled NoProc, assuming that ReserveGame would have left the engine
+loaded if the next game would need the same engines. But a reuse=0 engine
+could have caused termination of the first engine process anyway, while
+the second would still be alive. So unconditionally starting of the second
+engine would cause redundant engine processes to abound.
+  Now we only start new engine processes if both engine processes are dead.
+
+2011-10-23 15:53:32 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix PV walking with -fSAN
+
+The SAN options had broken the PV walking, because the shelving of the
+walked PV to create space for the conversion to SAN of an incoming PV
+would not be properly undone, but would add the walked PV to the game.
+
+2011-10-20 12:39:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Refine clock adjusting
+
+Adjusting the clocks by shift-clicking them is now only allowed with
+autoCallFlag off, and an error-popup results when you do it otherwise.
+Also, swtching to Edit Game mode won't reset the clocks to the stored
+value anymore when you have just adjusted it.
+
+2011-10-12 17:43:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix crash on adding items near book end
+
+When Edit Book would add so many entries near the end of an opening
+book that the end of the added info would surpass the old end of the
+file, the copying of the tail got stuck in an infinite loop, extending
+the file without limit with repeating info.
+
+2011-10-12 17:41:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Print message on wrong use of Clone Tourney
+
+The user is urged to first provide the name of an existing tourney file
+when he presses the button without one. The button is also renamed.
+
+2011-10-12 17:38:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix invalid combobox entry WB
+
+A combobox label that was not in the list (because the user typed
+it, rather than selecting one) would cause a crash.
+
+2011-10-12 17:23:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix crash on loading garbage game file
+
+XBoard crashed when a game file contained a PGN game result before
+any valid game start, because data would be written in a game-list
+node that did not exist yet. This would occur frequently when garage
+was read; basically any asterisk in the data would do it.
+
+2011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add control to set -discourageOwnBooks WB
+
+
+2011-10-11 20:53:52 -0700 Arun Persaud <arun@nubati.net>:
+only require 0.17 of gettext
+
+This seems to solve many build issues with older distrubtions and doesn't seem to be a problem with newer ones.
+
+2011-10-11 23:31:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add option -discourageOwnBooks
+
+This boolean option determines the default setting of the hasOwnBook
+option before a tourney game starts. By setting it, the hasOwnBook
+option is cleared, which would enable use of the GUI book, like the
+engine was installedwith the /firstXBook option. An explicit option
+on the engine install line can still overrule this, though.
+ A control to set this option has been added in the XBoard Match dialog,
+and it is saved in the tourney file to force consistency.
+
+2011-10-11 22:58:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Reset initString and computerString on engine load
+
+These options are typically engine specific, and must thus be
+reset to their default value before loading a new engine.
+
+2011-10-11 22:43:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add Romanian lng file
+
+
+2011-10-07 16:55:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Reactivate Falcon Chess
+
+Now the patent for this has expired, Fairy-Max plays it again.
+So the XBoard support for it is now switched on, and an item for it is
+added to the XBoard New Variant menu dialog. (WinBoard still had that.)
+In the array the Lance was changed for the Falcon as a wild-card piece.
+
+2011-10-03 09:59:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Update texi file for new features
+
+
+2011-10-03 10:30:30 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Update texi file for position search
+
+The new items in the Load Game Options dialog are described, as well
+as the command-line options used to store them in the settings file.
+
+2011-10-03 09:28:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Remove paragraph about .Xresources from texi file
+
+Command-line options can no longer be set through .Xresources already
+since version 4.5.0.
+
+2011-10-03 09:13:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add Dutch WinBoard translation
+
+
+2011-09-28 20:46:21 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Prevent Edit Book window from stealing focus (WB)
+
+In WinBoard updating the book window would give it focus. Now the
+focus is given back to the main window, except when the Edit Book
+window is first created.
+
+2011-09-28 20:42:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Make book-window update part of HistorySet
+
+
+2011-09-26 16:01:28 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix position loading in tourneys
+
+In a tourney a position must be loaded when the engine is not yet
+started, and the old version of LoadPosition could not handle that:
+It would start up the engine, and send it commands unconditionally.
+
+2011-09-26 15:58:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix resetting -fSAN on engine change
+
+There were two places for loading another engine, Load (from menu) and
+SetPlayer (in tourneys), and the previous patch for this missed the
+second one.
+
+2011-09-26 15:51:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Make too-long game non-fatal
+
+GameEnds is now called when the maximum number of moves is exceeded,
+rather than DisplayFatalError. Not sure if this properly terminates the
+game in all situations, but DisplayFatalError (after calling GameEnds)
+would also wait for the user to confirm the error popup before really
+exiting, so that in an unattended automatically running tourney there
+was not much fatal, and the entire tourney would in fact be finished.
+
+2011-09-26 15:46:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Keep book file open
+
+Rather than opening and closing the book file on every probe, it is
+now only closed and opened when the name of it changed.
+
+2011-09-26 15:44:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Suppress playing of book moves with weight 0
+
+Bookmoves with weight 0 could be played when the sum of the weights
+of all moves from the position was 0. So it was not possible to suppress
+the only move by giving it weight 0. This is now corrected.
+
+2011-10-01 15:00:47 -0700 Arun Persaud <arun@nubati.net>:
+added NEWS for release of 4.5.3
+
+
+2011-09-29 20:31:23 -0700 Arun Persaud <arun@nubati.net>:
+better contrast for XBoard icon on a dark background
+
+
+2011-10-01 13:09:59 -0700 Arun Persaud <arun@nubati.net>:
+translationproject.org: updated Ukrainian translation
+
+
+2011-09-29 20:49:42 -0700 Arun Persaud <arun@nubati.net>:
+updated pot file and send to translation project
+
+
+2011-09-22 12:09:39 +0100 Thomas Adam <thomas@fvwm.org>:
+(tiny change) Clarify "-name" option is Xt-only
+
+There's a set of standard options with will get used by Xt, before Xboard
+itself will use them.  "-name" is an Xt-only option which will set the name
+and resource of the window to the value requested.  It has nothing to do
+with setting opponent/player names.
+
+Signed-off-by: Thomas Adam <thomas@fvwm.org>
+
+modified slightly by Arun Persaud (renamed itemx to item and fixed option name for CMAIL)
+
+2011-09-22 17:17:16 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix LoadGameOrPosition starting up engine
+
+When LoadGameOrPosition() is called from NextMatchGame(), the Reset() that
+is called in LoadPosition() when you are running from a position file
+would prematurely start up the engine (without waiting for features).
+The kludge to suppress this behavior for the explicit call to Reset()
+is now extended to encompass LoadGameOrPosition.
+
+2011-09-22 17:14:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Clear fSAN option before new engine load
+
+This to prevent the new engine will inherit it from the previous one.
+As the command-line options an only set it, this has to be done by
+explicit assignment.
+
+2011-09-13 23:02:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix some warnings (prototypes)
+
+
+2011-09-13 19:55:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix write failures in concurrency
+
+In WinBoard a flood of writes by differentprocesses to the same PGN can
+cause a "permission denied" error in fopen. This patch causes retries after
+a random (5-15 msec) wait, in such cases.
+
+2011-09-13 19:52:19 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Move HistorySet to back-end
+
+This existed in exact duplicates in both front-ends.
+
+2011-09-13 19:46:36 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Make DoSleep front-end wrapper for msec sleep
+
+DoSleep was #defined as a macro for Sleep/ sleep, with an argument
+indicating msec in WinBoard, but seconds in XBoard. Nuw it universally
+uses msec, by defining it as a wrapperin the respective front-ends.
+(For XBoard itwraps FrameDelay.)
+
+2011-09-10 22:35:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix playing sounds when -soundProgram is empty
+
+It made no sense to just send the names of the sound files to the shell.
+So the soundProgram isnow tested for being an empty string, and if so,
+PlaySound() is aborted.
+
+2011-09-10 14:01:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add -afterGame option
+
+This option specifies a command line to be executed after each game of
+a tournament. To execute the line, the function RunCommand() was added
+in the front-end. For XBoard this was a simple call to system(); for
+WinBoard part of the StartChildProcess code was cloned (without the pipe
+stuff).
+
+2011-09-10 13:52:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Upgrade -serverMoves option
+
+The (undocumented) -serverMoves option was upgraded to conform to the
+ChessLive! protocol extension for sending SAN tags. A bug that allowed
+upper-case promoChar to leak through was also fixed, and code was added
+to write engine PVs to file. Flushing of the game result to the -serverMoves
+file was also fixed.
+
+2011-09-10 13:50:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix AppendComment
+
+The joining of two comments was not performed correctly if the second
+one had the braces yet to be added: the closing brace was not added in
+that case.
+
+2011-08-30 19:39:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Auto-popup ICS Input Box
+
+Typing to the board made the move type-in pop up, but in ICS mode
+this is of course undesirable. Like in WinBoard, the ICS Input Box
+should pop up in stead, and accept the typed character. This is now
+realized. If the box already exists and has text in it, the typed
+character is appended to that text, and the box is given focus.
+Spaces now also are considered as printable.
+
+2011-08-30 18:27:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Slightly decrease sensitivity of sweep actions
+
+The sweep-selection of promotion and drop pieces, or step through the PV
+was so sensitive that it was difficult to reliably make the intended choice.
+It has now been reduced by a factor 1.5-2, and the sweep selection and
+PV walk now also use a different value.
+
+2011-08-27 21:16:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Extra buttons in WB Tournament dialog
+
+A button to copy contents of the tournament fileto the dialog is added.
+Buttons to invoke the Common Engine and Time Control dialogs are also added.
+
+2011-08-27 21:15:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix crash on typing non-existent enginein Load Engine dialog
+
+
+2011-08-24 10:30:46 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix display state after failed analysis attempt
+
+When an engine responded to the "analyze" command with an "unknown command"
+message, a Reset was done without altering the display, causing a
+discrepancy between display and internal state, which caused confusion
+when it finally corrected itself. I replaced the Reset call by an
+EditGameEvent call, to preserve the loaded game. The Reset was presumably
+used to allow for the case where the engine would be so upset by the
+analyze command that it needed to be reset by a "new" command, but this
+seems overly paranoic for an engine that just recognized the command
+as an unknown one.
+
+2011-08-24 09:58:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix treatment of PGN score/depth info with linefeeds in them
+
+This is needed to make the PGN more Arena-proof.
+
+2011-08-24 09:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix quoting in Load Engine dialog
+
+A (space-contaning)  engine name only needs quoting when there are parameters,
+because the over-all engine command will be quoted anyway. For UCI engines
+duplicate quoting is fatal, because when passed as the -ec argument of
+Polyglot, it will be quoted yet another time, also with double quotes.
+
+2011-08-23 21:24:23 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Replace Analyze File by Analyz Game function
+
+
+2011-08-22 22:16:58 -0700 Arun Persaud <arun@nubati.net>:
+new developer release
+
+
+2011-08-22 22:26:56 -0700 Arun Persaud <arun@nubati.net>:
+update po files
+
+
+2011-08-22 22:24:23 -0700 Arun Persaud <arun@nubati.net>:
+updated Changelog, NEWS, etc.
+
+
+2011-08-22 22:09:19 -0700 Arun Persaud <arun@nubati.net>:
+malloc.h is not needed
+
+
+2011-08-20 22:21:40 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix ICS move-list header mistaken for null moves
+
+
+2011-08-18 18:53:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Allow two-games-per-opening to work with book
+
+A new option -seedBase is added, and written to the tourney file.
+It allows all XBoard instances working on a tourney to generate the same
+'random' openings in a deterministic way, based on this one-time seed
+and the game number. When -loadGameIndex equals -2, it uses the same seed
+for an odd and the following even game.
+
+2011-08-18 18:51:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix use of random
+
+In some places rand() was called explicitly, rather than through the
+(configured) place-holder random().
+
+2011-08-18 17:34:33 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Translate search texts
+
+
+2011-08-18 10:29:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add -useBoardTexture and -usePieceFont options
+
+These options suppress the use of the given texture files or piece fonts
+without relying on the kludge to disable them by prefixing an asterisk
+to the file or font name. Checkboxes have been added to the Board dialog
+to control them. The user can now set piece font in WB font dialog.
+The sample text can be used to specify the -fontPieceToCharTable,
+the font name itself the -renderPiecesWithFont value.
+
+2011-08-16 23:10:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix crash on start without settings file
+
+A primordial -1 in currCurrent caused a crash when WinBoard was started
+without ini filein game-viewer mode.
+
+2011-08-12 12:08:18 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix generic-popup failure after empty engine-settings dialog
+
+The error exit ofthe Engine #N Settings dialog in case of an engine without
+options forgot to clear currentCps, with as a result that the generic popup
+thought every subsequent popup was an empty one, and kept repeating the
+'engine has no options' error message for every dialog.
+
+2011-08-10 11:27:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Allow substitution of engines during tournament
+
+Two buttons are added in the tournament options dialog, for upgrading
+and for replacing a tourney participant. Lots of tests on the validity
+of the request are done, and if all are passed, the tourney file is
+written with the new participants (and in case of replace) with the
+results of the replaced engines erased from the -results string.
+
+2011-08-08 11:00:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix up/down arrows in game list
+
+
+2011-08-08 10:31:24 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add key bindings for loading next/previous game of list
+
+These bindings are set both for the game list and the board window.
+To make them useful, focus has to be transferred to the board widget
+after loading (it tends to transfer to the tags window), which now
+seems to work, but not always. From the game list the shellWidget
+seems to get focus rather than the board, which is bad as it is not
+sensitive to the key bindings.
+
+2011-08-08 09:58:31 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Allow deletion of last book move
+
+The book-edit function refused to delete the entiremove list,
+for no good reason. This limitation now has been lifted.
+Also the error message that the key for the current book entries
+is different from that of the currentposition has been suppressed
+if there were no entries found for the current position (so that the
+book is positioned at the next key), so that it is possible to add
+moves from scratch.
+
+2011-08-08 00:19:53 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Speed up parser
+
+Line numbers > 1, which are common, can exit already during move parsing,
+to save lots of matching on resultsand castlings.
+
+2011-08-07 15:13:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix missing files in file browser
+
+The file browser was throwing away the first two files, assuming
+they were "." and "..". Alas, this is no longer true on every Linux.
+Now we actuallyc compare for these names, before skipping them.
+
+2011-08-06 11:57:59 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Delay file loading to allow expose event first
+
+
+2011-08-06 09:29:22 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix paging
+
+
+2011-08-05 22:39:41 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Better fix of crash on empty game list
+
+An empty list is now replaced by a list containig a simple message.
+
+2011-08-05 20:31:44 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add plain arrows as key binding for stepping forward/backward
+
+
+2011-08-05 20:30:03 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Debug position selection
+
+
+2011-08-04 13:22:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Print progress during load / selection of game
+
+The title bar of themain window is used to display a running count
+of the number of games loaded / searched.
+
+2011-08-04 12:44:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Parse PGN tags without allocating memory
+
+In WinBoard malloc/free did not seem to work when preparing the game list,
+leading to a huge memory list when ParsePGNTag was used. The added code
+parses the required tags in an alternative way as a work-around.
+
+2011-08-02 22:58:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Implement searching games in Game List for a position
+
+For this it was needed to reconstruct all positions of the games
+without loading them, so they could be compared to the currently
+displayed position. A new routine GameContainsPosition is made for that.
+ In Disambiguate, when the global quickFlag is set, we now do the
+disambiguation ignoring check,and only if this leads to an ambiguous
+move, we repeat it taking check into account to see if that resolves
+the ambiguity. This causes us to miss if unambiguous moves are illegal
+because they put their King in check, but who cares?
+ We now do not make game-list line when not needed. If we do not filter
+by text, but by position, there is no need for preparing the game-list
+line for games that are not selected. All for efficiency.
+
+2011-07-28 20:47:35 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Allow entry of variations in PlayFromGameFile mode
+
+Adding variations is more like editing a comment,and not really editing
+the game. Therefore we allow it on loaded games. As soon as we are in a
+variation, we temporarily switch to a (hidden) EditGame mode, restoring
+the original mode when we revert to the main line.
+  We now also stay in PlayFromGameFile mode after loading a game,
+And opening variation (fromtheComment window) in PlayFromGameFile mode
+is also allowed.
+
+2011-07-27 18:47:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Force Move History refresh after loading/reverting variation
+
+The Move History window was not refreshed after switching to or from
+a variation if that variation happened to have the same length as
+the main line. Now a change in storedGames since the previous refresh will
+force a full refresh to avoid this. For this to work, storedGames
+did have to be decremented after ToNrEvent in PopInner, because ToNrEvent
+calls HistorySet before the history is restored, so we don't want
+it to snatch away the full refresh. A call to HistorySet had to be
+added after PopInner is done restoring the move history.
+
+2011-07-27 17:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Popdown Comment window on new game
+
+What is in this window cannot possibly remain valid, and can even be harmful.
+
+2011-01-19 11:46:41 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
+Allow null move in analysis and edit-game mode
+
+In some games it is allowed to pass your turn. The internal
+representation picked for such a null move is the drop of an empty
+square, (EmptySquare,DROP_RANK,0,0). Computer-algebraic form is "@@@@",
+SAN form is "--", (for compatibility with ChessBase / SCID), and the
+non-compliant forms "null", "pass"and "Z0" are recognized in
+the parser as well. ApplyMove() has to test for this special case
+(to not actually clear a1), and a way to enter the pass for the user had
+to be found (clicking the opponent clock, like in EditPosition mode).
+ The null move is made move irreversible to prevent repetition draws
+spanning null moves being adjudicated.
+  Such entry of null move is now allowed in AnalyzeMode and EditGame mode.
+Because Chess engines will not accept null moves, SendMoveToProgram had
+to be adapted to send not the move, but the position after it in
+case of a null move. This erases the move history in the engine,
+so it will not react to 'undo' for that null move, so BackwardInner
+had to be adapted to test for intervening null moves, and if one is
+found, approach the target from the other side after loading the
+earliest position before it not crossing another null move, and
+then loading the moves upto the target.
+  XBoard clock clicks had to be fixed, to pay attention to the shift key.
+
+2011-07-25 21:58:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Give WinBoard Game List its own font
+
+The font fort he Game List used to be shared with the Engine Output and
+Move History windows, but this made it impossible to use a figurine font
+in the latter two (which displays piece symbols for capitals) without
+messing up the Game List. An option -gameListFont has been added to specify
+the font for the Game List(and save it in the settings file), while a
+control for it is added in the fonts dialog.
+
+2011-07-21 19:02:01 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix crash on OK after Save Changes in Tags and Comment popup.
+
+The global variables tagsText and commentText were used to pass
+a string obtained from a widget (and thus not malloc'ed), which
+caused a crash when the GenericReadout tried to use those variables
+for the new value. Fixed by using GenericReadout (which does malloc)
+to read out the text,in stead of GetWidgetText.
+
+2011-07-16 09:31:12 -0700 Arun Persaud <arun@nubati.net>:
+Revert "fixed segfault in xengineoutput", fixed in the backend now (from HGM)
+
+This reverts commit 33a0e73843115ff6d4eacaf963a38f2e8b20b295.
+
+2011-07-16 14:53:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Suppress some XBoard warnings
+
+
+2011-07-15 11:21:29 -0700 Arun Persaud <arun@nubati.net>:
+fixed segfault in xengineoutput
+
+
+2011-07-11 20:04:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Disable -showTargetSquares in ICS mode
+
+Help like this is considered cheating on FICS, so it is disabled for
+all 'classical' ICS variants. (For variants eyont Shogi we don't care.)
+
+2011-07-10 21:20:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Put grab on sweep-selecting in Edit Position
+
+A right down-click starting a sweep-selection event did not grab the
+mouse events, so that an up-click outside the window would go
+unnoticed, and the pointer motion stayed coupled to selecting the
+piece until the next click. By returning 2 from the RightClick back-end
+routine we request the grab.
+
+2011-07-09 13:50:58 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Write more labels on score axis of eval graph
+
+The labels for +/-1 and +/-3 are now also written, provided there is
+enough space.
+
+2011-07-09 13:28:08 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Improve Eval Graph  with -evalZoom and -evalThreshold
+
+The score range between -1 and +1 can now be blown up by a factor
+specified through -evalZoom. The threshold below which histogram bars
+are no longer printed (wich used to e hard-coded 25 centi-Pawn) can now
+be set through the -evalThreshold option.
+
+2011-07-09 13:18:07 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Print reversible plies done in stead of plies to go
+
+Printing the number of plies left to the draw-adjudication point was
+confusing when the N-move rule was set to a non-standard value.
+In stead we now print the number of plies since the last irreversible
+move, so the user can compare it to both the engine claim point (100)
+and the adjudication point he set (which might be beyond 100).
+
+2011-07-09 13:13:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Let WB eval graph react ot single left-click
+
+Unlike in XBoard, the WinBoard eval graph awatys had required double-
+clicking to go the the corresponding move, while there really is no
+reason for this, as it is no text edit, and single-clicks have no function
+(like select).
+
+2011-07-07 19:37:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add -scoreWhite option
+
+This is similar to -absoluteAnalysisScores, except that it works in
+all modes, and flips the score given by the engines in the engine-output
+window when black is to move.
+
+2011-07-07 19:28:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Print 50-move counter in Engine-Output title
+
+
+2011-07-07 18:50:56 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Display score/depth in Eval Graph title
+
+No longer print it in the comment window.
+
+2011-07-04 11:06:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Let -sweepPromotions also work for click-click moves
+
+A click-click promotion no longer causes auto-queening, but the down-click
+on the to-square causes a Queen to stick to the mouse pointer, and then
+allows the user to change it through dragging backwards before releasing it
+with an up-click.
+  In WinBoard this required a slight change in DragPieceBegin, because
+the dragged piece there only was made visible when the mouse pointer
+actually started moving (and dragInfo.pos was set), presumably under the
+assumption that before mouse move the piece was already on the clicked
+square. Which in the case of a to-square was of course not true. (Because
+a piece jumps to the mouse pointer when the click is not centered on a
+square, this gives less jittery static clicks.) So DragPieceBegin has
+been given an extra argument now, to indicate whether it should attach
+the piece to the mouse pointer immediately.
+  To make the click-click sweepPromotions work in Shogi (for which the
+drag-drop sweepPromotions could never work, because it is not clear the
+piece has a posibility to promote when you pick it up), translation of
+the sweep-selected piece to a Shogi promoChar had to e added.
+
+2011-07-04 10:45:04 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Improve -showTargetSquares on click-click moves
+
+The markers on move targets are now kept when a first click merely
+selects a piece, rather than dragging it elsewhere. The second click
+(by definition on the to-square) then clears the markers.
+
+2011-07-04 11:23:05 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Let PGN parser accept lower-case piece in drop moves
+
+The @ sign prevents amiguity with other notations anyway.
+
+2011-07-04 12:42:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix parser.c line endings
+
+
+2011-06-29 20:29:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix writing searchTime in tourneyFile
+
+This had to be derived from the variable searchTime, which gives it
+in seconds, as appData.searchTime (a string in minutes) is not reliable,
+as it contains the command-line value, which might have been altered
+through the time-control dialog.
+
+2011-06-29 20:25:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix resetting searchTime if other TC mode is chosen (XB)
+
+This fixes a bug in the new time-control dialog.
+
+2011-06-29 14:32:43 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix coords display on large boards
+
+The file indicators can now run upto 'w'. Only the lowest digit
+of the rank number is printed, from a table that is valid to 22.
+
+2011-06-29 13:53:00 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix crash on making too-long FEN
+
+The buffer for in PositionToFEN was only 128 bytes, which was not enough
+for large boards such as 19x19 Go. It is enlarged to MSG_SIZ(512) now.
+There also is some approximate overflow checking added (but it is not
+fool proof in case there are holdings...)
+
+2011-06-29 13:36:26 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix drop moves on boards with more than 10 ranks
+
+The internal encoding for rank 16 is '@', and thus ambiguous with drop
+moves. They were always printed as 16, breaking drop games on large
+boards. The ambiguity is now solved (for boards with more than 16 ranks)
+by checking if the preceeding letter is upper case, in which case it
+cannot be a fileindicator, but must be a piece, and thus a drop.
+
+2011-06-29 13:29:38 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Don't one-click move when legality testing is off
+
+
+2011-06-23 21:18:11 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Reorder controls in Engine Setings dialog WB
+
+To get tabbing through the controls in left-to-right order, they are
+now added to the template structure in that order. Also add a tabstop
+to Label options, so that JAWS will read those.
+
+2011-06-23 14:02:50 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add tab stops in WB generic popup
+
+The WinBoard generic popup did not put tab stops on push buttons,
+including the OK and cancel button, with as a consequence that these were
+skipped when tabbing through the dialog controls. In addition the tabbing
+could not begin before the user selected one of the controls with the mouse.
+  Now all buttons have tab stops, and the cancel button is given focus
+when the dialog pops up.
+
+2011-03-10 20:06:39 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
+Implement Grand Chess
+
+Grand Chess requires a lot of exceptional handling similar to Superchess
+and Great Shatran, because it also allows only promotion to a captured
+piece. In addition it shares the enlarged promotion zone with Makruk and
+Shogi, as well as the fact that promotion can be deferred. The 10-rank
+board furthermore required a better generalization of double-pushes and
+e.p. captures. On such a board double puhes are now allowed from 2nd and
+3rd rank, e.p. capture from 5th and 4th.
+
+2011-01-28 19:20:38 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
+Allow promotion to Pawn with legality testing off
+
+In stead of ImpossibleMove promotionto Pawn now merely is an
+IllegalMove, so it can be played with legality testing off.
+
+2011-01-24 15:06:17 +0100 H.G. Muller <h.g.muller@hccnet.nl>:
+Create some space in WB New Variant dialog
+
+
+2011-06-20 23:53:49 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Allow double-digit rank numbers
+
+The parser already understood double-digit numbers on input, and
+CoordsToAlgebraic produced them on otput. This patch also fixes sending
+of the moves to the computer, for which the moveList was used. The latter
+stored 10 as ':', etc,to always get a 4-char move, the characters of which
+were frequently being converted to fromY or toY by adding/subtracting ONE.
+To not break that the one-character encoding of rank number is kept in
+moveList, but in SendMoveToProgram, characters > '9' are converted to
+double digits.
+
+2011-06-23 11:26:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add Absolute Analysis Scores in Genral Options dialog XB
+
+
+2011-06-23 11:16:34 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix texi file, and update it further
+
+
+2011-06-20 12:15:14 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Modified po
+
+
+2011-06-22 17:51:51 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Update texi file
+
+
+2011-06-22 11:02:45 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Restore echo after ^C in ICS password
+
+
+2011-06-22 10:45:27 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix some warnings
+
+
+2011-06-19 20:30:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Increase efficiency of SAN generation / disambiguation
+
+**************** Risky patch! **********************
+The algorithm used for disambiguating and generating SAN was extremely
+inefficient, because it generated all pseudo-legal moves from the relevant
+position, and then for each of those did a check test (involving generation
+of all moves of the opponent), before determining if the move matched the
+(proposed or given) SAN move. While it is pointless to generate moves
+with a piece that does not match (let alone checking them for legality).
+And for a piece that matches, it is pointless to test legality of moves
+that do not match the to-square.
+  To speed up the process GenLegal and GenPseudoLegal have been equiped
+with an argument that can indicate the piece type of the required move,
+so they can skip generating moves with other pieces. TestLegality,
+Disambiguate and CoordsToAlgebraic make use of this facility, and set also
+(through global variables rFilter and fFilter) a to-square filter to be
+applied in the GenLegalCallback before it tests the move for legality.
+  This patch is especially tricky for Crazyhouse, where the piece indicated
+in the move might not be the piece actually on the board, because the latter
+is a promoted Pawn, and has to be demoted toits base type before the
+comparison.
+
+2011-06-19 16:18:15 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix compile errors WinBoard
+
+The patch to make non-existing options non-fatal broke WinBoard. All calls
+to ExitArgError from it now supply a third argument TRUE to fix it.
+
+2011-06-19 14:28:09 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add -fSAN / -sSAN options
+
+These options force the PV of the applicable engine to be converted to SAN.
+They make use of the existing ParsePV routine, after shelfing a possible
+PV (from user PV walking) to free the space after the last move.
+Could be costly in terms of CPU usage.
+
+2011-06-19 10:56:25 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Cure flicker in Move History window, fix highlighting
+
+The highlighting of the current move in the Move List window by selecting
+it did not always work, because some other windows were clearing their text
+widgets by selecting the contents and killing it, thus snatching the
+selection away. This has been changed to setting XtNstring to an empty
+string as a method for clearing without side effects on the selection.
+As a bonus the Engine Output window now also no longer has the black flicker
+on clearing it.
+  In addition, triggering a scroll by setting the insertion point to the
+end of the text caused excessive flicker in the Move List window, apparently
+clearing it and redrawing from scratch, (even if there was no scroll motion),
+to the point where on my slow laptop the move history stayed entirely blank
+during a rapid succession of moves. This has been combatted by using the
+end-of-line action procedure (which does not seem to suffer from this) to put
+the insertion point at the end, when we need to scroll to close to the end.
+
+2011-06-18 23:48:13 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Fix crash on clearing new Move List window
+
+When a new game started and a previous game had filled the Move List
+window, a crash occurred because an attempt was made to undo the
+highlighting of a no-longer-existing move, and then scrolling to it.
+
+2011-06-18 20:46:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Use sound for ICS tells also with engine telluser popups
+
+The telluser and tellusererror commands now can be assigned a sound.
+
+2011-06-18 20:45:12 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
+Add Score in Move List option to general options dialog XB
+
+Now that we have a WinBoard-style Move History window, this option is
+no longer a no-op in XBoard.
+
+2011-06-18 12:42:41 -0700 Arun Persaud <arun@nubati.net>:
+new developer release
+
+
+2011-06-18 12:38:32 -0700 Arun Persaud <arun@nubati.net>:
+updated Changelog, NEWS, etc.
+
+
 2011-06-18 12:51:10 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
 Update window itle after last game of match
 
@@ -496,6 +1461,7 @@ po files need some cleanup, probably better to wait until the translation-projec
 2011-05-07 18:44:24 -0700 Arun Persaud <arun@nubati.net>:
 added translations generated via lng2po from all winboard languages
 
+
 2011-05-07 18:40:23 -0700 Arun Persaud <arun@nubati.net>:
 lng2po.sh: added command line options, GPL header
 
@@ -504,12 +1470,15 @@ also use a temporary file generated with mktemp instead of a hard coded one
 2011-05-07 17:53:10 -0700 Arun Persaud <arun@nubati.net>:
 fixed access rights to winboard language files (644 instead of 655)
 
+
 2011-05-07 14:55:55 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
 Import WinBoard language files into git
 
+
 2011-05-06 23:14:02 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
 Let Shift+RightClick on PV actually play the PV moves
 
+
 2011-05-06 18:06:48 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
 Make book-edit function WB
 
@@ -1167,6 +2136,7 @@ The Changelog is just the one from master.
 2011-04-10 22:47:59 -0700 Arun Persaud <apersaud@lbl.gov>:
 updated Changelog, NEWS, etc.
 
+
 2011-04-10 20:32:57 +0200 H.G. Muller <h.g.muller@hccnet.nl>:
 Fix use of game/position file in first match game