wrong line ending for Unix... ran dos2unix on both files
authorArun Persaud <arun@nubati.net>
Sun, 3 May 2009 19:41:06 +0000 (12:41 -0700)
committerArun Persaud <arun@nubati.net>
Sun, 3 May 2009 19:41:06 +0000 (12:41 -0700)
READ_ME
ToDo

diff --git a/READ_ME b/READ_ME
index a27021b..637421d 100644 (file)
--- a/READ_ME
+++ b/READ_ME
-\r
-What is XBoard?\r
-===============\r
-XBoard is a graphical chessboard for the X Window System.  It can\r
-serve as a user interface for chess engines such as GNU Chess, for the\r
-Internet Chess Server, or for electronic mail correspondence chess.\r
-XBoard can also be used by itself.  See the manual page xboard.txt for\r
-further details.\r
-\r
-XBoard is free software, copyrighted by the Free Software Foundation\r
-and released under the GNU General Public License (GPL).  See the file\r
-COPYING for details.\r
-\r
-You can build xboard on most systems with the following commands.\r
-\r
-       ./configure\r
-       make\r
-\r
-See the file INSTALL for more detailed instructions.\r
-\r
-See the file FAQ.html for answers to frequently asked questions.\r
-\r
-\r
-What is WinBoard?\r
-=================\r
-WinBoard is a port of XBoard to run natively on Windows.  It is part\r
-of the XBoard project and is released under the same terms as XBoard.\r
-\r
-You can build WinBoard using the free Cygwin toolchain from\r
-www.cygnus.com with the following commands.\r
-\r
-       cd winboard\r
-       make -f cygwin.mak\r
-\r
-You can build WinBoard using Microsoft Visual C with the following\r
-commands, or by opening the project in Visual Studio and clicking the\r
-build button.\r
-\r
-       cd winboard\r
-       nmake -f msvc.mak\r
-\r
-There is also a contributed .mak file for Borland C.  It's not\r
-maintained and thus may need updating if you want to use it.\r
-\r
-\r
-Reporting problems\r
-==================\r
-\r
-Report bugs and problems with XBoard and WinBoard to\r
-<bug-xboard@gnu.org>.  With XBoard, please use the "script" program\r
-to start a typescript, run XBoard with the -debug command line option,\r
-and include the typescript output in your message.  With WinBoard,\r
-please use the /debug command line option and include the contents of\r
-the file WinBoard.debug.  Also tell us what kind of machine and what\r
-operating system version you are using.  On Unix, the command "uname\r
--a" will tell you this.  On Windows, right-click on My Computer and\r
-select Properties.\r
-\r
-Here is a sample of approximately what you should type (on Unix):\r
-\r
-    script\r
-    uname -a\r
-    ./configure\r
-    make\r
-    ./xboard -debug\r
-    exit\r
-    mail bug-xboard@gnu.org\r
-    Subject: Your short description of the problem\r
-    Your detailed description of the problem\r
-    ~r typescript\r
-    .\r
-\r
-If you improve XBoard, please send a message about your changes, and\r
-we will get in touch with you about merging them in to the main line\r
-of development.\r
-\r
-Version 4.3.14\r
-==============\r
-\r
-This relaese was not made by the GNU xboard team, but by H.G.Muller.\r
-It mainly contains developments on WinBoard. Nevertheless, an attempt\r
-has been started to back-port the enormous number of improvements that\r
-have been made to WinBoard since the Linux and Windows developments branched\r
-to xboard. This is reflected by the source tree now having the same format\r
-as that of xboard 4.2.7, including all the xboard sources. \r
-\r
-An enormous amount of work still has to be done to make the xboard version\r
-fully equivalent to WinBoard, especially on user-interface side. As a modest\r
-beginning, the xboard source files have been patched to allow their compilation\r
-with the newer back-end files from WinBoard. To this end, the number of piece\r
-types in xboard has been increased from 6 to 22, and the WinBoard bitmaps\r
-have been converted to xboard source format (.bm) and are included in the\r
-xboard bitmaps directory. Other quick patches include the coloring of the\r
-board squares (for xiangqi and holdings), and some code in the user-move\r
-handling to suppress all moves into or out of the area between board and\r
-holdings in crazyhouse, and the treatment of king-captures-own-piece\r
-as a possibly valid move (for FRC castling). This should make it possible \r
-to run xboard with the new back-end files without too much inconvenience.\r
-\r
-New xboard command-line options have been added to make the added back-end \r
-features available. The include the new variants (as argument of the old\r
--variant option), -boardWidth, -boardHeight and -holdingsSize. Be sure\r
-to call xboard with "-boardSize middling" or "-boardSize bulky" if you\r
-want to play with fairy pieces, or xboard might crash due to unavailability\r
-of bitmaps. Other added xboard options are:\r
-\r
-ADJUDICATION OPTIONS:\r
--checkMates\r
--testClaims\r
--materialDraws\r
--trivialDraws\r
--ruleMoves\r
--repeatsToDraw\r
--adjudicateLossThreshold\r
--firstScoreAbsolute\r
--secondScoreAbsolute\r
-\r
-TIME-CONTROL OPTIONS\r
--firstTimeOdds\r
--secondTimeOdds\r
--timeOddsMode\r
--firstNPS\r
--secondNPS\r
-\r
-GENERAL OPTIONS\r
--matchPause\r
--engineDebugOutput\r
--userName\r
--pgnExtendedInfo\r
--pgnEventHeader\r
--hideThinkingFromHuman\r
-\r
-This is all completely untested, but as the options merely switch on well-tested\r
-code in the back-end, there should not be too many problems with them.\r
+
+What is XBoard?
+===============
+XBoard is a graphical chessboard for the X Window System.  It can
+serve as a user interface for chess engines such as GNU Chess, for the
+Internet Chess Server, or for electronic mail correspondence chess.
+XBoard can also be used by itself.  See the manual page xboard.txt for
+further details.
+
+XBoard is free software, copyrighted by the Free Software Foundation
+and released under the GNU General Public License (GPL).  See the file
+COPYING for details.
+
+You can build xboard on most systems with the following commands.
+
+       ./configure
+       make
+
+See the file INSTALL for more detailed instructions.
+
+See the file FAQ.html for answers to frequently asked questions.
+
+
+What is WinBoard?
+=================
+WinBoard is a port of XBoard to run natively on Windows.  It is part
+of the XBoard project and is released under the same terms as XBoard.
+
+You can build WinBoard using the free Cygwin toolchain from
+www.cygnus.com with the following commands.
+
+       cd winboard
+       make -f cygwin.mak
+
+You can build WinBoard using Microsoft Visual C with the following
+commands, or by opening the project in Visual Studio and clicking the
+build button.
+
+       cd winboard
+       nmake -f msvc.mak
+
+There is also a contributed .mak file for Borland C.  It's not
+maintained and thus may need updating if you want to use it.
+
+
+Reporting problems
+==================
+
+Report bugs and problems with XBoard and WinBoard to
+<bug-xboard@gnu.org>.  With XBoard, please use the "script" program
+to start a typescript, run XBoard with the -debug command line option,
+and include the typescript output in your message.  With WinBoard,
+please use the /debug command line option and include the contents of
+the file WinBoard.debug.  Also tell us what kind of machine and what
+operating system version you are using.  On Unix, the command "uname
+-a" will tell you this.  On Windows, right-click on My Computer and
+select Properties.
+
+Here is a sample of approximately what you should type (on Unix):
+
+    script
+    uname -a
+    ./configure
+    make
+    ./xboard -debug
+    exit
+    mail bug-xboard@gnu.org
+    Subject: Your short description of the problem
+    Your detailed description of the problem
+    ~r typescript
+    .
+
+If you improve XBoard, please send a message about your changes, and
+we will get in touch with you about merging them in to the main line
+of development.
+
+Version 4.3.14
+==============
+
+This relaese was not made by the GNU xboard team, but by H.G.Muller.
+It mainly contains developments on WinBoard. Nevertheless, an attempt
+has been started to back-port the enormous number of improvements that
+have been made to WinBoard since the Linux and Windows developments branched
+to xboard. This is reflected by the source tree now having the same format
+as that of xboard 4.2.7, including all the xboard sources. 
+
+An enormous amount of work still has to be done to make the xboard version
+fully equivalent to WinBoard, especially on user-interface side. As a modest
+beginning, the xboard source files have been patched to allow their compilation
+with the newer back-end files from WinBoard. To this end, the number of piece
+types in xboard has been increased from 6 to 22, and the WinBoard bitmaps
+have been converted to xboard source format (.bm) and are included in the
+xboard bitmaps directory. Other quick patches include the coloring of the
+board squares (for xiangqi and holdings), and some code in the user-move
+handling to suppress all moves into or out of the area between board and
+holdings in crazyhouse, and the treatment of king-captures-own-piece
+as a possibly valid move (for FRC castling). This should make it possible 
+to run xboard with the new back-end files without too much inconvenience.
+
+New xboard command-line options have been added to make the added back-end 
+features available. The include the new variants (as argument of the old
+-variant option), -boardWidth, -boardHeight and -holdingsSize. Be sure
+to call xboard with "-boardSize middling" or "-boardSize bulky" if you
+want to play with fairy pieces, or xboard might crash due to unavailability
+of bitmaps. Other added xboard options are:
+
+ADJUDICATION OPTIONS:
+-checkMates
+-testClaims
+-materialDraws
+-trivialDraws
+-ruleMoves
+-repeatsToDraw
+-adjudicateLossThreshold
+-firstScoreAbsolute
+-secondScoreAbsolute
+
+TIME-CONTROL OPTIONS
+-firstTimeOdds
+-secondTimeOdds
+-timeOddsMode
+-firstNPS
+-secondNPS
+
+GENERAL OPTIONS
+-matchPause
+-engineDebugOutput
+-userName
+-pgnExtendedInfo
+-pgnEventHeader
+-hideThinkingFromHuman
+
+This is all completely untested, but as the options merely switch on well-tested
+code in the back-end, there should not be too many problems with them.
 Bugs can be reported in the WinBoard forum.
\ No newline at end of file
diff --git a/ToDo b/ToDo
index 2ffa540..9a84006 100644 (file)
--- a/ToDo
+++ b/ToDo
-Possible improvements   **=somewhat higher priority\r
----------------------------------------------------\r
-\r
-20. Some way to back up, explore variations, then return to the main\r
-line and restore moves we backed out.  Should also support exploring\r
-side branches while loading a game file.  Push/pop buttons?  Button to\r
-fork another xboard in same state as current one?\r
-\r
-20a. Allow side branches to be remembered in game files (and\r
-understood on LoadGame).  Use PGN variation notation.\r
-\r
-**62a. Support series of time controls as in later gnuchess 4.0.x\r
-versions (and real tournaments!).  Needs a protocol extension to\r
-"level"; this is now planned for protover 3.\r
-\r
-62b. Perhaps we could also support the kind of clock where you get K\r
-seconds per move, plus a reserve of J seconds per game that is used\r
-when a move takes more than K seconds.  The degenerate form of this\r
-with J=0 is desirable in itself.  Needs a protocol extension.\r
-\r
-68. WinBoard has some features not in xboard.  Among others:\r
-68a. LoadGameOptions dialog             (good to add)\r
-68b. SaveGameOptions dialog             (good to add)\r
-68c. TimeControl dialog                 (good to add)\r
-68g. Font dialog.                      (leave out)\r
-68h. Colors dialog.                    (leave out)\r
-68i. Board size on Options menu         (good to add)\r
-68j. Resize with mouse\r
-68k. Highlight dragging\r
-68m. Move typein from keyboard.         (good to add)\r
-\r
-69. xboard has some features not in WinBoard.  Among others:\r
-69c. Font size selection by pattern fill-in. (leave out)\r
-69d. Alternate bitmaps specified at runtime. (good to add, often requested)\r
-69e. Flashing.\r
-\r
-71. Allow restart after ICS logout instead of exiting?  Many requests\r
-for this.\r
-\r
-71a. Would be useful to drop into NCP mode after ICS logout and allow\r
-for reconnect later.  For instance, this would let you save your last\r
-partial game if you didn't have autosave on.\r
-\r
-72. Allow switching among ICS, NCP, GNU modes??\r
-\r
-74. Observe/play multiple games, each with its own window.  Hard.\r
-\r
-80. Clone command.  Saves current game to a file foo, then starts up\r
-another copy of xboard with -lgf foo.  Should probably note current\r
-state of some options and give command line flags to set them the same\r
-way in child.  What about -ncp mode, though?  Might want that to be\r
-different.  Would be nice to have a -moveNumber flag to position the\r
-child to the same move number in the current game.\r
-\r
-91. Would be nice to have an option to overwrite save file instead of\r
-appending.\r
-\r
-95. "Have the clock indicate how long the computer/player has been\r
-thinking for when the -st option is used. This should be how long for\r
-the current move only." (Dino Dini)\r
-\r
-97. "Have the ability to change the level of the gnuchess during a\r
-game. For analysis purposes, sometimes it is useful to have the\r
-computer think really hard about certain positions." (Dino Dini)\r
-\r
-98. Reorganize the source and split it into more files.\r
-\r
-107. Changing time control during a game could be made to work.\r
-Current (WinBoard only) way of changing at start is suboptimal.\r
-\r
-**108. Could add search depth and time per move to (WinBoard)\r
-TimeControl dialog.\r
-\r
-140. LoadPosition needs better checking for invalid data.\r
-\r
-142. xboard needs a real file chooser dialog.  Jeff Woolsey submitted\r
-code to merge in the one from Ghostview, but said it works only on\r
-X11R5 or later.  I have not yet tried his code or looked to see if it\r
-could be made to work on X11R4.\r
-\r
-147. Improve display of held pieces in bughouse mode, putting them\r
-closer to the player's side of the board, and perhaps using icons (and\r
-allowing dragging from the icons to drop a piece).  Actually, moving\r
-the clocks would be beneficial too, so that it's easier to visually\r
-associate the right clock with the right player when looking at two\r
-boards during a bughouse match (with two copies of xboard running).\r
-Maybe multiple window layouts should be user-selectable. [4.3 supports\r
-drag-drops from holdings]\r
-\r
-150. Keep track of castling availability, en-passant availability, and\r
-FEN half-move clock (for 50-move rule), pass the availability\r
-information to the move generator through the existing interface, and\r
-load/save it in the FEN code. [Fixed in 4.3]\r
-\r
-150a. Note that not keeping track of ep creates a bug in mate\r
-detection.  In certain positions, moving a pawn from the 3rd to 4th\r
-rank gives mate, but it is not detected because if the pawn had moved\r
-to the same position from the 2nd rank, ep capture would have been\r
-legal and there would be no mate. [problem disappeared in 4.3]\r
-\r
-150b. Note that although we try to put in e.p. availability when\r
-writing FEN, this works only if we have the move that got us to this\r
-position in the moveList. If we load a position from FEN, the\r
-e.p. availability field of the FEN is lost. [disappeared in 4.3]\r
-\r
-152. Generate the info file, man page, perhaps html, and perhaps even\r
-the WinBoard help file from the same sources.  Right now,\r
-substantially the same text is duplicated in three places.  This is\r
-a huge pain in the neck.\r
-\r
-157. Idea: if Zippy flags some number of times in a row and keeps\r
-getting told the opponent is not out of time (presumably due to\r
-timestamp/timeseal), he should issue an adjourn or abort.\r
-\r
-160. The xboard CTRL key flashback feature is bad in Analysis mode.\r
-Flashing back throws away the analysis.\r
-\r
-161. SIGINT doesn't work for local programs on Win32.  There is an\r
-equivalent, GenerateConsoleCtrlEvent(CTRL_C_EVENT), but I haven't\r
-gotten it to work thus far.  It seems that WinBoard and the chess\r
-engine don't "have the same console"; indeed, neither has a console.\r
-\r
-162. Supply a non-X Zippy for Unix.  Perhaps use the code from Klaus\r
-Knopper.\r
-\r
-167. Alternative bitmaps loaded at runtime for WinBoard. [font-based\r
-piece rendering provides this functionality since WinBoard_x]\r
-\r
-169. Upload Game on file menu?  This would upload the current game\r
-moves into a scratch examined game on ICS.  Could do Upload Position\r
-too.  Some code to do Upload Game was contributed, but it didn't\r
-handle setup positions, variants, checking for proper gameMode, etc.,\r
-so I couldn't use it.\r
-\r
-170. Auto step every k seconds should be a general feature you can\r
-turn on at any time, not just in LoadGame.  What should GUI be?\r
-\r
-171. Displaying thinking in a separate window should be an option\r
-available at all times when Show Thinking makes sense, not just in\r
-analysis mode.  It should perhaps be orthogonal to analysis mode.\r
-[added in WinBoard_x]\r
-\r
-172. Should analysis window scroll instead of showing only the last\r
-line?  There could be an extra checkbox to show all chess engine\r
-output in it. [fixed in WinBoard_x]\r
-\r
-178. Need reliable kill for chess engine on Win32.  See also 161.\r
-\r
-181. Some people want -sgf to save only played games, not observed and\r
-examined games.  Others like it to save them all.  Make this an option?\r
-\r
-183. Search feature in Game List dialog [Igor Eged].\r
-\r
-187. "Log session" feature for ICS window.\r
-\r
-193. Some users have reported xboard redraw bugs, but I have not\r
-been able to reproduce them on the Digital Unix, Linux, or eXcursion X\r
-servers (xboard).\r
-\r
-c. From Hawk:  \r
-Dragging in xboard does not work 100%.  \r
-* The dragged piece may disappear (try some fast e2-d3 movements - \r
-  this is easy to reproduce).\r
-* The dragged piece may be placed on an illegal position (this \r
-  happens less frequently, but it _can_ be reproduced by doing the same\r
-  as above).\r
-* In both of the above cases, the board is correct after forcing a \r
-  redraw (ie. minimizing/restoring the window)\r
-I'm using eXodus - a win32 X server, perhaps it's buggy. [Seems that way,\r
-or just possibly, these could be bugs that are fixed in 3.6.11beta or\r
-3.6.12beta.]\r
-\r
-d. One user reports: "If you are 'holding' a piece over the square you\r
-want to go to and that move becomes illegal but you make it anyway,\r
-the display sometimes corrupts and a partial piece appears..sometimes\r
-a whole piece."  This was under RedHat 6.0.\r
-\r
-194. A few users have reported drawing problems with WinBoard.  There\r
-may be some color map problem on certain displays.  I might possibly\r
-have fixed this already; I cannot reproduce it.  The common thing\r
-seems to be black pieces changing to white.  This may depend on having\r
-customized the board colors.  I suspect many of these problems are\r
-buggy Windows drivers for particular display cards.  (May be worked\r
-around in 4.2.0 with reprocessed .bmp files.)\r
-\r
-a. From mulesmurf: if i log in and then move the board, it will happen\r
-that the black [pieces] change to white.\r
-\r
-c. People have sent pictures where the grid didn't get redrawn.  This\r
-produces random bits in the grid area from uninitialized memory.\r
-Could this be a resource leak?\r
-\r
-d. From James Van Buskirk: I did notice one problem tonight playing\r
-against Comet under FX!32 1.2 (Comet, not winboard ran under FX!32):\r
-for a couple of moves winboard didn't turn off the highlighting of the\r
-square I dropped the piece on until Comet had moved.  Later, the\r
-problem fixed itself.  Have other users noticed this?  [No.]\r
-\r
-e. One user reports: Lastly, there is some sort of slight bug in the\r
-piece dragging code, but it comes up only very occasionally (once in\r
-500 moves?)...basically, I'm dragging, change my mind, throw the piece\r
-of the side of the board, and instead it gets stuck not inside a\r
-square.  It's really disconcerting, this piece just sitting across\r
-square boundaries.  When you make another move, it gets cleared up and\r
-goes back where it's supposed to.  [Might be fixed in 4.0.6, but I\r
-couldn't reproduce this, so I can't be sure.]\r
-\r
-f. DAV says: "When I resized the board on win 95 and made it smaller\r
-some of the pieces turned into junk (I'm not able to give a screen\r
-shot)."  Later: "Seems to happen on the three sizes below small.\r
-Win98 and NT seem to be ok, trying to get more win95 users to test\r
-it."  Works fine for me on Win 95...  [Might have been fixed by the\r
-cleanup of the Windows .bmp's that happened sometime before version\r
-4.2.3]\r
-\r
-195. Flash Moves works at the end of every change to the board, using\r
-some rather gross code in DrawPosition.  This code should perhaps be\r
-ripped out and the flashing done from inside AnimateMove instead.\r
-\r
-197. More color distinctions.  Maybe allow several user-selected channels\r
-to have their own colors.\r
-\r
-198. More sounds.  Some possiblities: distinguish White vs. Black move\r
-or your move vs. opponents, distinguish different kinds of\r
-win/loss/draw/unfinished (checkmate, resignation, stalemate, other\r
-draws, opponent disconnected, etc.), game ends when you aren't playing\r
-and/or aren't in ICS mode, differentiate amongst requests (draw offer,\r
-etc.), **check, got new offboard piece (by piece type?), opponent got\r
-new offboard piece (ditto), arrival notification, "* who has an\r
-adjourned game with you," draw declined, moretime received.\r
-\r
-199. Maybe put user names instead of White and Black on clocks, or\r
-user names above or below clocks in a smaller font.\r
-\r
-200. I don't like these ideas, but some people do:\r
-a. Highlight all of the squares that the piece you are moving can go to.\r
-b. Clicking on the piece moves it immediately if it has only one legal move.\r
-c. Allow clicking on the destination, then the source.\r
-d. I guess highlight the pieces that can go to that destination.\r
-e. Clicking on a destination that only one piece can go to moves it there.\r
-\r
-201. mulesmurf: piece counter so we know exactly the score \r
-\r
-202. mulesmurf: ziics pieces, board along with color intensity\r
-\r
-204. Hawk at Fri May 15, 12:58 CDT 1998: a minor thing with xboard:\r
-the coords disappear while dragging from a square with coords on it.\r
-[They come back when the drag is finished.]\r
-\r
-208. WinBoard sometimes comes up with one of the menu bar items grayed\r
-out (one that should not be).  I've seen this on different entries at\r
-different times.\r
-\r
-213. Maybe add Silence to sound menu -- parallel to Monochrome on\r
-color menus.\r
-\r
-214. Maybe easier startup dialog customize:\r
-a. Buttons to add/delete/move(?) current string to/from/within current list.\r
-b. Or maybe auto-add newly typed/edited strings up to some limit.\r
-c. Also a drop-down for Additional Options.\r
-\r
-216. Maybe shorten menu names in WinBoard to one char if and only if\r
-the menu bar would wrap with longer names.\r
-\r
-**217. Easier way to add engines to the WinBoard startup dialog.\r
-Ideally, an engine author should be able to supply a simple\r
-configuration file or script that installs his engine.  "*.wbe" idea.\r
-\r
-218. Some folks would like Highlight Last Move to apply only to\r
-opponent's moves.\r
-\r
-219. From Jorge Monasterio: Support automatic game starts when in\r
-tournament. In other words, do that "match bigolfish mann 5 0 black"\r
-automatically based on the info sent from mamer.  [I would need to\r
-play in some tournaments before I could evaluate this idea or fill in\r
-the details.]\r
-\r
-222. Could support time handicaps. [Added in 4.3]\r
-\r
-223. Bug: very long comments cause buffer overflow.  Need to revamp\r
-the way comments are parsed and returned from parser.l to fix this.\r
-\r
-224. Larry Parrish requests: In an automated multi-games match I would\r
-like to load the n-th game from the file for the n-th game of the\r
-match.  [That is, when -mg and -lgf or -lpf are used together without\r
--lgi or -lpi.] [4.3.15 provides auto-increment og game and pos index]\r
-\r
-225. From pulp: another bug (maybe with the Microsoft RichEdit\r
-control) I've observed is when you flood the edit control it loses the\r
-bottom.  Eg. "games" will scroll along then start slipping until by\r
-the end of the list you are really looking at the middle of the list\r
-and have to manually scroll back to the bottom.  [May be fixed?]\r
-\r
-225a. Resizing the WinBoard ICS interaction window can cause the cursor\r
-to be off the screen, which stops scrolling.\r
-\r
-226. From pulp: Clipboard persistence.  If I copy text, then the text\r
-disappears when Winboard is closed.  Eg.: Log in, highlight and copy a\r
-web page address, close, go to browser, paste *nothing*.  [How does\r
-one do this in Windows?]\r
-\r
-227a. In engine-engine matches, an engine that crashes should lose and\r
-perhaps get restarted for the next game. [In 4.3 a crashing engine \r
-forfeits the game, but still terminates a match.]\r
-\r
-227b. Maybe when an engine playing in Zippy mode exhibits a bug, we\r
-should do a little more too.  Perhaps "say Sorry, the engine seems to\r
-have a bug", resign or abort, and maybe force an engine restart for the\r
-next game.\r
-\r
-**227c. We should also detect and stop the game on false mate or draw\r
-claims, rejecting a legal move, or (maybe) missed claims of mate or\r
-draw.  Note that draw claims require checking for repetition, 50 move\r
-rule, and insufficient material as well as stalemate, so this is\r
-nontrivial. [Added in 4.3]\r
-\r
-228. RichEdit bug: sometimes a line gets indented as if it were\r
-wrapped when it should be flush left.\r
-\r
-**229. Support for sending moves from the partner's game to a bughouse\r
-engine.  Ben Dean-Kanemura submitted support that works without adding\r
-general multi-game support, by relaying the moves without processing\r
-them.  Should also send holding updates and clock times; not sure if\r
-Ben's code does that.  Needs to be a new "feature" command option, and\r
-to be documented in engine-intf.html, removing the note that this may\r
-be done in the future.\r
-\r
-231. See Ed Collins's WinBoard bug list on his pages:\r
-\r
-231b. If you save an ICS examined game to disk as a PGN file, it\r
-doesn't report the end-of-game result in both the header and at the\r
-end of the notation.  [It doesn't get this info from the server, but\r
-maybe there is a way it could.]\r
-\r
-232. From Ed Collins's WinBoard wish list on his pages:\r
-\r
-232b. Multiple winboard.ini files for different moods, loadable from\r
-inside the program.\r
-\r
-232c. Fix bug where fics% prompt is not suppressed when using\r
-timeseal.  This has something to do with a timeseal deficiency whose\r
-details I've forgotten, but there must be some way to fix it.\r
-\r
-232e. When using the server's "examine" mode to examine a previously\r
-played game, have the game clocks display the time that each player\r
-currently had after each move was made.\r
-\r
-232f. [Not from Ed] Deal with ICC game relays where an "examined" game\r
-is supposed to have running clocks.  Not sure if this is still an issue.\r
-\r
-232g. Customizable on-screen buttons [i.e., toolbar or toolbox].\r
-\r
-232h. Customizable function keys.  Currently xboard can bind a key to\r
-any built-in xboard function.  Should extend this to WinBoard, and\r
-also (in both programs) support sending an arbitrary ICS command when\r
-button is pressed.\r
-\r
-233. See if anything from LightningRulez should be added.  Premove is\r
-now included (from Winboard Plus), but maybe there are other useful\r
-things too.\r
-\r
-241. There might still be bugs in xboard and/or winboard when moves\r
-come in from ICS during drag animation, though I can't reproduce them.\r
-DAV saw the opponent's piece fail to be erased from the source square, if\r
-I understood his message right.  [DAV says this still exists in 4.2.5.\r
-I think bug 426 is a duplicate.  The description is clearer there.]\r
-\r
-242. User-defined "looking_at" patterns and actions.  This is hard to\r
-bombproof.\r
-\r
-**243. "Rematch" shortcut in /cp mode.\r
-\r
-246. Maybe auto-close comment window when user goes to the next move.\r
-Whether this is desirable really depends on the content of the\r
-comment, but maybe it is rare to have a long comment that discusses\r
-the plan several moves ahead and should be left up.\r
-\r
-248. Would be nice to support retract move after checkmate or draw (etc.).\r
-\r
-254. Different tray icons for interaction window vs. board (suggestion\r
-from FICS).\r
-\r
-256. One user asked for "delete" option in game lists.  This requires\r
-rewriting the file to close up the hole, so it's pretty heavyweight.\r
-Next people will be asking for move, sort, search, and other game\r
-database functionality; ugh.\r
-\r
-**257. Would be nice to find a way to safely implement "retract move"\r
-when the engine is still on move.  (using ping/pong)\r
-\r
-**260. General mechanism where engine can declare engine properties that\r
-the user can frob and xboard/winboard will put up a simple dialog to\r
-allow user to view and set them.  See email message "special engine\r
-commands" from Steffen Jakob:\r
-\r
-  From: "Steffen A. Jakob" <saj@xxx>\r
-  To: mann@xxx\r
-  Cc: chess-engines@xxx\r
-  Subject: special engine commands\r
-  Date: Fri, 26 Feb 1999 09:12:26 +0100\r
-\r
-  Hi Tim!\r
-\r
-  Here comes a summary of our ICC chat (I cc this mail to the\r
-  list... maybe other engine programmers can give some feedback if\r
-  they find this feature useful):\r
-\r
-  Please add a protocol command which enables the engine to tell\r
-  xboard its special commands. Maybe a set of (label, command string)\r
-  pairs would be useful. Then create a menu for these commands. It\r
-  could look like this (that's what I would like to see for Hossa):\r
-\r
-  engine->interface:\r
-  ------------------\r
-  command "Reset the log file" "reset log"\r
-  command "Save Diagram as PNG" "png dia.png"\r
-  command "Disable Book" "book off"\r
-  command "Show Evaluation details" "eval"\r
-  command "Show Search statistics" "stat"\r
-\r
-  etc.\r
-\r
-  While typing this list I realized that an additional parameter like\r
-  this would be needed/nice (of course you can think of many more\r
-  improvements):\r
-\r
-  command "Save Diagram as PNG" "png %s" 1\r
-\r
-  "1" tells xboard to ask for an additional parameter (here: filename)\r
-  which will replace the "%s" in the command string.\r
-[XBoard 4.3.16 has an experimental implementation of this ide through\r
-the 'feature option="..."' command.]\r
-\r
-261. Check that "quit" is sent to engine properly if ICS connection\r
-fails to open due to error from timestamp/timeseal.  "wzrdking" had a\r
-case where it didn't.  Timetamp had failed with "Host name not found\r
-by name server" (because in fact there was no internet connection, arrgh).\r
-\r
-273. Displaying the names of the players from a PGN file in the header\r
-of the window does not work if there is only one game in the file.\r
-The filename is shown instead.  (This was intentional, but maybe a\r
-poor idea.)\r
-\r
-274. Command to go to move number N, with entry box for N.\r
-\r
-276. Make grid optional in winboard?  Note that the highlight options\r
-don't work without it. [The Winboard_x -overrideLineGap option provides\r
-this.]\r
-\r
-276a. Make color of grid an option, instead of always black.\r
-\r
-277. Flooding xboard -zt + timestamp with tells hangs timestamp after\r
-a while.  xboard is blocked writing to the timestamp pipe.  timestamp\r
-is in an unknown state, not reading from the pipe nor responding to\r
-pings.  (Confirmed with the software running on milwaukee, Red Hat\r
-5.2)\r
-\r
-278. Flooding winboard -zt + timestamp with tells hangs winboard after\r
-a while.  timestamp still responds to pings.  This reported by\r
-nudnick; I haven't tried to reproduce it yet.  He also says that\r
-windows explorer then crashed when he tried to close winboard.\r
-\r
-279. Idea from an anonymous ICSer: piece drop menu could have images,\r
-not words.  [Or maybe both?]  Also might be easier to select\r
-accurately from it if horizontally arranged, or in a 3x2 grid.\r
-[Now 4.3 has drag & drop, piece-drop menu should be deprecated]\r
-\r
-284. dxterm hangs when it receives the escape sequence that sets the\r
-title bar on xterm.  I think some other xterm substitutes do too.\r
-\r
-**287. WinBoard can look funny if you are using themes because it\r
-unconditionally uses white for certain colors instead of the default\r
-background.\r
-\r
-289. Merge WinBoard support for the Henter-Joyce JAWS screen reader.\r
-Source code (zip file containing modified WinBoard 4.0.2 source) is at\r
-ftp://ftp.henter-joyce.com/users/hj/winboard/WinboardSource.exe.  It\r
-would be interesting to make this work with festival (free Unix speech\r
-synth) or other speech synthesizers too.\r
-\r
-290. Could have limited voice output without a speech synthesizer by playing\r
-wav files for piece names and square numbers.  Idea suggested by Hannu\r
-Wegner.\r
-\r
-291. Would be great to support DGT, Novag Universal chessboard, etc.\r
-I'm not likely to fork out the cash to buy either for testing, however.\r
-Note users have done various things along these lines.\r
-\r
-292. When an engine is analyzing, it would be cool to have a way to\r
-automatically play out its current PV (or even older ones) on a board.\r
-These PVs could be saved as variations when we have variation support.\r
-\r
-297. Windows users expect all programs to have a Print function, even\r
-though there are other ways to print.  Useful items to make printable:\r
-PGN game scores (which are plain text, of course), maybe FEN position\r
-diagrams, maybe graphical position diagrams (i.e., same as pressing\r
-the "Print Screen" function key and printing the clipboard).\r
-\r
-298. One user suggests that automatic move stepping should not start\r
-until you press OK in the tags window.  This could be a good idea, but\r
-I think I'd rather have automatic stepping never start until you press\r
-a "play" button on the main window, and have that button always\r
-available, not just when loading a game from a file.\r
-\r
-299. One user suggested being able to jump to a specific move by\r
-typing its number (followed by ... if it's to be black's move).\r
-\r
-300. Can I put a hyperlink (that will invoke a browser) directly onto\r
-the WinBoard Help menu or in the Help file?  Useful to take users to\r
-my chess page.\r
-\r
-302. On NT, check if the board is redrawn properly when exiting from\r
-the screen saver.\r
-\r
-308. There is some tricky way to maximize the WinBoard board window,\r
-although there isn't supposed to be.  Maybe prevent this, or else\r
-legalize it and make sure something reasonable looking happens.\r
-Note: the trick is to select one of the "tile" options on the Windows\r
-task bar.  Not clear what should happen in this case.\r
-\r
-309. Avoid endlessly flagging every second when opponent is lagged out\r
-and autoflag is on.  Automatically courtesy-adjourn (or abort if\r
-unrated) instead, at least if in zippy mode.\r
-\r
-310. Weird bug: the last character of a FICS output can appear on the\r
-next line, *after* the fics% prompt, according to one user.  I might\r
-have seen something like this myself once too.\r
-\r
-314. One person wanted his engine to see tells when running in Zippy\r
-mode.  I doubt this is generally useful, so I haven't added the code I\r
-wrote for him.  (I can query for "tellfrom" in my mail file to find\r
-it.)\r
-\r
-314a. Another person wants his computer account to relay tells to his\r
-personal account.\r
-\r
-319. One user would like to be able to reload a PGN file and resume a\r
-game against an engine as if after an adjournment, with the clocks\r
-(and moves to next time control) restored as they were when the game\r
-was saved.\r
-\r
-320. Display ratings of ICS players in the title bar (if there is room,\r
-presumably), or somewhere, anyway.\r
-\r
-321. Maybe refresh the EditTags window if the gameInfo changes and the\r
-window is up.  (WinBoard now does this when entering MachineWhite,\r
-MachineBlack, or TwoMachines mode -- not very general.  From Winboard Plus.)\r
-\r
-322. One user requested that Zippy games use the engine name instead\r
-of the ICS handle in the PGN tags, as he uses multiple engines on his\r
-account.  (My response was "I'd say it should give both"; not sure just\r
-how to do that, though.)\r
-\r
-324. I'm told that Blitzin supports animated dragging without holding\r
-down the mouse button and that this is "much better" and I should try\r
-it too.  As yet I haven't.\r
-\r
-326. Full support for variants and variant-capable engines in all\r
-modes, not just ICS mode.  Here are some items still needed.  Some if\r
-not all should probably wait for a rewrite, not be added to the\r
-current code base. [4.3 supports many variants, even those not supported\r
-by ICS. Not bughouse, though]\r
-\r
-326a. Menu to let you see and change the current variant type, not\r
-just a command-line argument as at present. [Added in 4.3]\r
-\r
-326b. crazyhouse: Keep track of holdings and display them, keep track\r
-of what onboard pieces are promoted so they will revert if captured,\r
-understand offboard interposition to stop mate.  [Added in 4.3, (not\r
-sure about the interposition)]\r
-\r
-326bb. One user asked for a Czech variant of crazyhouse where pawns are\r
-given to the opponent when they reach the 8th rank (after capturing, if\r
-it's a capture) instead of promoting.\r
-\r
-326c. bughouse: Features in 326a would be helpful for editing one board\r
-of a bughouse game, and getting mate indication right even in ICS mode.\r
-In the longer term, could understand BPGN, support editing two-board games.\r
-\r
-326d. wildcastle: Allow wildcastle castling only when playing this variant!\r
-Maybe support automatic shuffling for local play. [4.3 adds shuffling\r
-for any variant played locally]\r
-\r
-326e. nocastle: Maybe support automatic shuffling for local play.\r
-Note that several types of ICS shuffle chess fall under this variant.\r
-Note that this isn't really a variant, since if we kept proper track\r
-of castling rights and used "setboard FEN" or the ChessBase extension\r
-of "edit" to set them, it could be treated as normal chess with a\r
-different starting position.\r
-\r
-326f. fischerandom: Maybe support automatic shuffling for local play.\r
-Support castling.  Currently, you can probably play Fischer Random\r
-successfully on ICS by typing castling moves into the ICS Interaction\r
-window, but they will not be animated correctly, and saved games will\r
-not be loaded correctly if castling occurs.  FR castling is\r
-problematic because the move cannot be specified by the starting and\r
-ending coordinates of the king; in some starting positions there is a\r
-legal non-castling move that moves the king the same way.  This\r
-violates a deeply ingrained assumption in the implementation.  It also\r
-breaks the GUI -- you need more than just dragging the king two\r
-squares to indicate castling.  (Note: In FR notation, O-O is h-side\r
-castling, O-O-O is a-side.  See "help fr_rules" and "help fr" on FICS\r
-for rules.) [All fixed in 4.3]\r
-\r
-326g. kriegspiel: Could give some thought to how to support a\r
-kriegspiel engine.  I doubt anyone will ever write one, though.\r
-\r
-326h. losers: Know that captures are mandatory.  Understand the win\r
-condition.\r
-\r
-326i. suicide: Know that captures are mandatory.  Understand the win/draw\r
-condition.\r
-\r
-326j. giveaway: Know that captures are mandatory.  Understand the win\r
-condition.\r
-\r
-326k. atomic: Understand the win condition.\r
-\r
-326l. 3check: Understand the win condition -- ugh, have to keep a\r
-check counter!\r
-\r
-327. Option to set the coord font color (or something) to make sure\r
-there is always enough contrast with the square colors.\r
-\r
-329. Bernhard Maerz would like a command line option to choose the PGN\r
-player name for an engine, overriding the default of generating the\r
-name from the engine filename.  This is for his ChessCall program.\r
-\r
-331. Maybe the local autoflag menu option should *also* turn\r
-server-side autoflag on/off by sending an appropriate set command.\r
-\r
-**332. Bug: Autoflag for local engine/engine or engine/human matches\r
-does not recognize that having your flag fall when your opponent has\r
-insufficient mating material is a draw.  It counts the flag fall as a\r
-loss. [Partly fixed in 4.3, which corrects any kind of losses against \r
-a bare King to draws.]\r
-\r
-336. Of course lots of people ask for a graphical seek window.\r
-\r
-339. There are probably some incompatibilities with chess.net, as they\r
-have made a few gratuitous changes to message formats from the FICS\r
-code base they started with, and perhaps they've added features since\r
-without duplicating the syntax closely enough.  In particular it's\r
-been reported that Zippy does not correctly send "partner" and\r
-"variant" commands to bughouse engines on chess.net.  Also, I doubt\r
-colorization works.  As a matter of personal choice I do not spend any\r
-of my time supporting chess.net, but if others want to donate patches\r
-that allow chess.net to be supported without breaking the support for\r
-ICC and FICS, I am willing to install them.\r
-\r
-342. Analysis mode automatically turns on the Show Thinking option;\r
-the user must then turn it off manually after leaving analysis mode if\r
-he doesn't want it.\r
-\r
-343. Would be nice to change xboard keyboard shortcuts to not be plain\r
-letters, make the new shortcuts work also in the ICS input box, and\r
-make typing plain letters to the board redirect to the ICS input box\r
-or the xterm.  Might want to change/remove the Ctrl binding at that time.\r
-\r
-344. One user suggested having a way to save a position as a character\r
-string that would produce a board diagram when rendered in MS Word in\r
-a chess font.  Perhaps there is already a nice standalone tool for\r
-this, though?\r
-\r
-346. Could use a better way to pick default size.  Now we choose the\r
-largest that fits on the screen, which is typically too big.  Not too\r
-bad for WinBoard, but painful for xboard since it can't be resized\r
-after starting.\r
-\r
-349. Check that "quit" definitely makes it to the engine before exit,\r
-if you exit via the File menu while a match is running.  Uli Tuerke\r
-reported that maybe it sometimes doesn't (in WinBoard 4.0.5).\r
-\r
-352. Perhaps recognize the ANSI escape sequence that FICS sends out\r
-for the cls command and clear the ICS interaction window.\r
-\r
-**353. WinBoard can crash when the engine outputs very long PV lines\r
-(or debug output that looks like a PV).  In particular, lines that\r
-start with 4 or more blanks following a "thinking" output line are\r
-treated as continuation lines, and get concatenated into a 512-byte\r
-buffer with no checking for overflow.  Generally we need a lot more\r
-care to avoid buffer overflows inside both xboard and WinBoard.\r
-[Note: changed the buffers to be 5120 bytes as a band-aid.]\r
-\r
-Guido Flohr expands on this bug:  \r
-\r
-  The problem is easy to reproduce, simply write a program/script that\r
-  spits out lines of more than 8192 bytes (INPUT_SOURCE_BUF_SIZE) and\r
-  connect it as a chess engine to xboard.  No surprise, xboard cannot\r
-  handle such long lines, but the resulting behavior is really weird:\r
-\r
-  The program enters DoInputCallback() in xboard.c, reads the first\r
-  8192 bytes, searches for a linefeed in vain, then closes its eyes,\r
-  sets the member "unused" of the InputSource to is->buf + 8192 and\r
-  waits for more input although the buffer is already full.\r
-\r
-  The next time it calls the same function, is->unused is exactly\r
-  these 8192 bytes away from is->buf, xboard computes the amount of\r
-  bytes to read in this round, which sums up to 0 nothing.  It then\r
-  calls read(2) with a bufsize argument of 0, and then assumes end\r
-  of file when the kernel call returns 0 (which is the documented\r
-  behavior).\r
-\r
-  For local engines, we now jump into backend.c, ReceiveFromProgram(),\r
-  and this function reports that the engine has exited unexpectedly.\r
-  In fact the engine is still very vivid, which is good, because in\r
-  spite of xboard's assumption that its child has died, it still\r
-  sends "force", "ping N", and "quit" to the false dead.  If the child\r
-  was really dead, the alert boxes "error writing to ... engine"\r
-  would hide the first alert box "... has exited unexpectedly".\r
-\r
-  From xboard's side, it is not exactly clean to call read(2) with\r
-  a zero bufsize argument.  In my opinion, a sane solution would be\r
-  to eat the INPUT_SOURCE_BUF_SIZE bytes, and when they contain no\r
-  linefeed, print the partial line to standard error (in debug mode)\r
-  and report something like Â»Maximum line size exceeded« (and then\r
-  kill the engine).\r
-\r
-**354. We currently let the user go directly from TwoMachines mode to\r
-various other modes like MachineWhite or MachineBlack.  This may\r
-confuse the engine that was on move, since we don't have a way to\r
-force it to stop before it makes the move it was thinking about.\r
-(use ping/pong to know when the engine has stopped)\r
-\r
-355. Idea from LiveAndLetDie: have Zippy specially log games where it\r
-loses to a substantially lower-rated player.  Such a game could\r
-indicate an xboard bug, engine bug, or perhaps a computer-using\r
-cheater.\r
-\r
-356. Colorization for FICS tourney tells?  They look like this (ugh):\r
-:DChessmaster [tourney #4]:\r
-:hi\r
-\r
-357. A few reports of WinBoard pieces being drawn incorrectly at\r
-certain sizes.  I haven't reproduced this.  [Maybe worked around in\r
-4.2.0.  Or is/was this the same as 194f?  I don't recall the details.]\r
-\r
-358. One report of WinBoard colorization not working, even after\r
-restart, until the computer was rebooted.  Weird.\r
-\r
-362. Running a very long automated match (/mg option) seems to crash\r
-WinBoard eventually, usually after 300 to 500 games, sometimes later.\r
-Reported by Josh Haglund.  Gets a "WINBOARD caused an invalid page\r
-fault in module KERNEL32.DLL" dialog box from Windows.  See messages\r
-from Josh for examples of the registers and stack dump.\r
-\r
-362a. A few people have reported WinBoard crashing upon exit.\r
-\r
-363. Maybe xboard should not set the window geometry for new popups,\r
-or at least not the position.  The default positions aren't very good,\r
-and setting them programmatically keeps knowledgeable X users from\r
-customizing the positions with X resources.\r
-\r
-366. Feature to let an engine observe an ICS game and run analysis\r
-mode on the moves, perhaps whispering or channel-telling the results.\r
-It's a little too easy to cheat with this feature or I might have\r
-added it long ago. [Added in 4.2.8 and 4.4]\r
-\r
-369. Optionally send a periodic keepalive command to ICS.  Can be\r
-used to defeat autologout, so should probably not be on by default.\r
-Also should be useful to help Zippy notice more reliably when its\r
-connection has hung, so that it can exit and a shell script (batch\r
-file) can restart it.\r
-\r
-370. One user requested a local noplay list for his computer player\r
-because the FICS limit of 50 is too small.  He wants several hundred so\r
-that he can noplay everyone who disconnects in a lost position.\r
-\r
-374. Would be good to have a way to change engines without restarting\r
-the interface.\r
-\r
-376. WinBoard is said to crash or "lock up" when loading enormous PGN\r
-files, like a 98 MB file that comes with (??) Crafty.  Win32 (at least\r
-in the Win95 lineage) has a limit of 32,767 items in a list box\r
-widget.  That might explain this problem.\r
-\r
-376a. xboard exceeds limits in X and/or Xaw if a PGN file has too many\r
-games.  (The virtual window that the list box can scroll through\r
-becomes too many pixels high.)  This has odd effects; the window\r
-height of the game list seems to get reduced mod 2^16 or something.\r
-Maybe detect this and do something nicer about it, like stop loading\r
-when the window is full and pop up a warning.\r
-\r
-378. One Solaris user didn't have the "strip" program, so the\r
-install-sh script used by xboard "make install" failed.  Check for\r
-this?  Yuck.\r
-\r
-381. "Illegal move: post" is apparently not handled.  Should it be?\r
-\r
-382. The UI for entering Training mode is a bit obscure: you must\r
-first select Load Game, then Training becomes enabled in the upper (!)\r
-part of the Mode menu and you can select it.  You can then select it\r
-again to toggle it off.  This mode is something like Analyze File\r
-(which has a problematic UI too, but somewhat less so); both should\r
-probably use a similar UI style.  I consider disabling the\r
-step-forward button to be overkill, and I think you need to manually\r
-turn off auto-step when loading a game (?).  One user expected it to\r
-work with .epd files that give a position and a recommended move.\r
-That seems reasonable, but doing it would require quite different code\r
-from the current pgn-game training mode.\r
-\r
-383. Premove piece drop for bughouse/crazyhouse.\r
-\r
-384. Pre-first-move for xboard.  I don't much like the fill-in field\r
-method used in winboard.  Maybe allow a move to be made for white\r
-before the game starts (in both xboard and winboard).  If you get\r
-black, it's cancelled.  Black can already premove after the game\r
-starts, during white's first move think time, so I don't see that a\r
-black pre-first-move is needed.\r
-\r
-**387. Have winboard draw opaque details on black pieces too.\r
-Hmm, this should probably be optional, and the detail colors should\r
-be selectable instead of hardwired to the opposite piece color.\r
-[The 4.3 -allWhite option goes in this direction. Details always\r
-in black, though.]\r
-\r
-**387a. Add "no piece border" option to WinBoard.  See code from\r
-Robert Jurjevic sent 4/9/2001.\r
-\r
-391. I have a bug report from Stefan Zipproth about engines sometimes\r
-failing to make their first move in an engine-engine match.  So far I\r
-can't reproduce it.  This might be fixed by the Sleep(500) voodoo in 4.2.4.\r
-\r
-394. See about tightening matching for the "request" event.  Right now\r
-it matches on help files a bit too often.  (e.g. FICS "help sr_info")\r
-**Also clarify documentation on what the request event is.\r
-\r
-396. xboard's -size defaulting code for bitmaps unfortunately always\r
-picks a size from the built-in list, even if you gave the\r
--bitmapDirectory option.  It would be more user-friendly to have some\r
-extra code that lists the directory and considers exactly the sizes\r
-that are found there, as the pixmap code does.\r
-\r
-397. It would be nice to be able to configure xboard with bitmap\r
-pieces as the default without having to disable xpm support entirely.\r
-This should be a pretty simple mod to configure.in (and xboard.c).\r
-\r
-397a. It would be very nice to be able to compile in both the bitmap\r
-and pixmap pieces.  This would allow us to automatically switch to bitmap\r
-pieces in -mono mode, including when -mono mode was automatically selected\r
-because too few colors were available.\r
-\r
-398. It would be nice to have the new .xpm pieces in .xim format too,\r
-since I restrained myself from ripping out the .xim support.\r
-\r
-399. It would be nice to have a configure option to change the\r
-directory where the default piece set is taken from.  Slightly nicer\r
-than having to rename the desired directory to "bitmaps" or "pixmaps"\r
-as at present.\r
-\r
-400. TypeinMove should be grayed in ICS mode, or should raise the\r
-console window, or something.\r
-\r
-402. Internationalization.  It probably isn't practical to retrofit\r
-this into the current code base. [4.2.8 and 4.4 have international-\r
-ization of xboard.]\r
-\r
-409. One user requested a way to put a time delay in the middle of\r
-sending zippyGameEnd commands.  This would (for example) let the\r
-computer do a seek only if its opponent doesn't accept a rematch\r
-within 10 seconds.  Nontrivial because Zippy has to continue to listen\r
-to input during the delay; it can't simply call sleep().  Maybe\r
-ScheduleDelayedEvent is OK, but I think it may already be in use in\r
-this situation, and it only supports one event at a time.\r
-\r
-411. Add zippyKibitzThinking and zippyWhisperThinking features?\r
-[4.3 has an -autoKibitz option]\r
-\r
-412. Maybe optimize setting the move list in the case where only the\r
-current move number changes; avoid slow XawListChange.\r
-\r
-**413. Add movelist window to WinBoard too.  Wilkin Ng submitted a\r
-patch that I believe includes this; need to integrate and test it.\r
-\r
-**415. It was suggested that a few common options that many chess\r
-engines need be promoted to xboard/WinBoard options so that the user\r
-can set them from the GUI in a uniform way.  In particular: hash size,\r
-directory name for endgame tables. [4.3 has extended WB protocol\r
-with a memory, egtpath and cores command.]\r
-\r
-**416. Can we avoid dying when xboard is in 8-bit mode, pixmap pieces\r
-are chosen (by default), and we can't get enough colors?  Ugh.\r
-\r
-**419. It was suggested that stat01 be generated/accepted during normal\r
-play with "post" on, not just during analysis mode.  This would need\r
-to be a "feature" command option.\r
-\r
-422. Track FICS change to details of how timeseal works; is this\r
-implemented at FICS yet?\r
-\r
-423. When locally stepping through an ICS game that is over, it would\r
-be nice to display the historical clock times at each move.\r
-\r
-424. DAV at Thu Nov 9, 01:20 CST 2000: any chance on winboard/xboard\r
-of a key press and a move executing draw <move>?  that way you at least\r
-have a chance of claiming a draw in 1 0.\r
-\r
-**426. DAV says, in xboard: If you are not on clock and you hover a\r
-piece over a square where your opponent then moves to and then move\r
-the piece away the piece the opp moved or part of it has not been\r
-drawn.  [Duplicate of bug 241?]\r
-\r
-429a. Check whether more support is needed for WinBoard to work with\r
-scroll wheel mice in the absence of special mouse drivers that generate\r
-scroll bar events directly.\r
-\r
-431. People find Analyze File confusing; they think it should do\r
-Crafty's relatively new Annotate function.  Also, it's somewhat\r
-superfluous now that you can enter Analysis mode and then load the\r
-file, or vice versa.\r
-\r
-**436. WinBoard is said to crash if started while WinBoard.debug is\r
-being tail -f'ed.\r
-\r
-**441. Can I prevent an undo after new in the odd case where it can\r
-happen now?  See mail from Bob Hyatt.\r
-\r
-450. Suggested: an option to let an engine keep pondering while an ICC\r
-game is adjourned.  This seems a bit difficult.\r
-\r
-451. Suggested: support SuperMamer messages on FICS, aka qtells.  See\r
-http://www.freechess.org/SuperMamer/parsing.html.\r
-\r
-452. Suggested: a way to say "prompt for the password" in a login.ini file.\r
-See 510 instead.\r
-\r
-**454. Add a way to claim a draw together with making a move, as can\r
-be needed for draw by repetition (creating the 3rd repetition with the\r
-move) and by the 50 move rule (the move is the 50th).  Add to\r
-protocol, and implement using the individual methods on FICS and ICC.\r
-Need to be sure it's really a FICS that has the feature (somehow).\r
-[Fixed in 4.3 by usng 'offer draw' for this purpose]\r
-\r
-455. Suggested: Add the epdkit commands such as epdpfga to the\r
-protocol, since Crafty and "many" (which?) other engines include the\r
-epdkit.\r
-\r
-**456. Bob Hyatt suggests: "feature match=1" which says "send match\r
-requests to the engine and let it decide on who to play next".\r
-I.e., maybe send an abbreviated but fixed format message like this:\r
-match <opponent_name> time inc R/U.  The engine would use "tellics\r
-accept <opponent_name>" to accept.  Add as feature to protover 3.\r
-\r
-**457. Standardize on the meaning of scores (e.g. in stat01 responses).\r
-Is positive good for white or good for the engine?  Do certain scores\r
-mean forced (tablebase) draw, or forced mate in N?  This should align\r
-with the EPD spec.  Maybe a feature command should indicate that the\r
-engine matches this part of the spec, but then again, it's not clear\r
-what we can do about it if the engine doesn't give that command, so\r
-maybe there is no point.  See discussion on chess-engines list.\r
-[Winboard_x adds an argument to tell WinBoard an egine uses absolute\r
-scores]\r
-\r
-458. Bug: xboard will try to use an engine to play normal chess even\r
-if the engine has given the feature variant command and did not\r
-include "normal" on the list.  Crafty 18.1 inadvertently relies on\r
-this bug, so it probably can't be fixed right away.\r
-\r
-**468. Need to look at Wilkin Ng's contributions!\r
-\r
-**469. Look at Zippy's behavior if the operator observes, follows,\r
-examines, etc.  Some bugs in this area have been fixed, but it's\r
-received very little testing, as Zippy was never meant to be used that\r
-way.  Noted later: Examining in -zp mode definitely has problems.  If\r
-you go forward one move at a time, moves are sent to the engine\r
-correctly.  If you go backward one move, "undo" is not sent to engine\r
-as it needs to be.  Going forward or back by more than one move at a\r
-time needs to be looked at too.\r
-\r
-**471. Look at 3/17/2001 message from Laszlo Vecsey about crashes when\r
-exiting on Win ME while data is coming in from the server.\r
-\r
-**473. Visual low-time indicator.  See patch in Brian Mays message of\r
-3/27/2001.\r
-\r
-**474. Crash reported when sending certain 8-bit characters through\r
-WinBoard (180, 167, others).  I'm almost certain this is a FICS\r
-timeseal issue and nothing to do with WinBoard itself.\r
-\r
-**475. Look at Laszlo Vecsey's mousewheel patch of 4/10/2001.\r
-\r
-476. For some reason (I guess some GUI supports them), most WinBoard\r
-engines now have a graphical logo, 100x50 pixels in Windows .bmp\r
-format.  It's been requested that WinBoard have a place to show the\r
-logo. [4.3.16 supports logos]\r
-\r
-477. Implement the "book engine" idea I proposed in the protover 3\r
-discussions.  Some folks have offered to write them (e.g., Bruce\r
-Morland). [4.3.15 supports a GUI book, which is another way to\r
-acheive the same, as the only thing that would distinguish book\r
-engines is their book, not what they do.]\r
-\r
-478. Recognize URLs in the WinBoard ics interaction window and make\r
-them work as hyperlinks (firing up your browser).\r
-\r
-**479. Possibly use Scott Gasch's 7 May 2001 patch to delay accepting\r
-challenges when ping > pong instead of declining them.  Bug: if you\r
-get more than one challenge, Scott's patch forgets about all but the\r
-last one.  If that guy then withdraws his challenge, the others are\r
-left in limbo, neither accepted nor declined.  I suppose we could\r
-decline challenges when there is one waiting.  However, if we make the\r
-change to optionally pass match requests through to the engine, Bruce\r
-Moreland would like us to queue up challenges and pass them all on.\r
-\r
-481. 8 May 2001, Bob Hyatt "matchscore" feature suggestion could go in\r
-protover 3: "matchscore A B C D E says we are in a match, this is game\r
-A of B games.  The current match score is I have won C, drawn D, and\r
-lost E games in this match.  This would give the engine a chance to\r
-adjust the draw score as needed to try to win the match rather than\r
-just trying to win a single game."\r
-\r
-**482. Suggestion from Bruce Moreland: if the user goes into ICS\r
-examine mode while -zp is active, and the engine supports analyze,\r
-then put it into analyze mode and let it work on the examined game.  I\r
-guess this could work for observed games too.  Should it be optional\r
-or always done? [4.2.8 and 4.4 support analysis in zippy mode, but\r
-as yet only while observing games.]\r
-\r
-483.  It would be nice if the KingShine 3D board could be integrated\r
-as an alternative xboard GUI rendering.\r
-\r
-**484.  Add -feature1 and -feature2 options to pretend the engine sent\r
-us those feature commands.  Useful kludge for certain buggy engines.\r
-\r
-485. Add "reset" to protover 3.  (Clear the hash tables and other such\r
-info; used to put the engine into a known state before running a\r
-test/benchmark position.) [the WB 'memory' command could be defined\r
-to have this side effect? Normally we would have to clear the hash\r
-table when changing its size.]\r
-\r
-486. Other protover 3 features listed in my 6/21/2001 message to\r
-chess-engines list.  Write a full protover 3 draft for comment.\r
-[Note that 4.3 already uses protocol extensions that differ from\r
-the v3 specs.]\r
-\r
-487. Adjudicate non-ICS games as a draw when there is insufficient\r
-mating material on both sides, especially engine/engine games.  Well,\r
-maybe.  I argued against this in a 6/26/2001 message to chess-engines.\r
-[Added in 4.3]\r
-\r
-487a. Probably also adjudicate when we detect checkmate or stalemate,\r
-before bothering to notice whether the engine detected this. [Added\r
-in 4.3]\r
-\r
-487b. Note: Do not adjudicate 50 move rule or 3x repetition since those\r
-must be claimed by a player -- at least not by default.  It would be\r
-OK to have a flag to do this someday when we are smart enough to\r
-notice it.  Would definitely be good to be smart enough to notice an\r
-incorrect draw claim by an engine. [In 4.3 you can set the number of \r
-moves or repeats after which draw is adjudicated]\r
-\r
-487c. Another request: allow the operator to adjudicate engine/engine games.\r
-[Winboard_x provided menu items for this.]\r
-\r
-488. Option to suppress tags popup on game load?  This has been\r
-requested a few times, and I received one partial implementation (not\r
-enough to be useful).  Needs to be on the options menu, etc.  Note\r
-conflict with 298 above.\r
-\r
-488a. Also option to suppress comment popups.\r
-\r
-489. Maybe have Zippy use xtell for tells to avoid redefining "." if\r
-the operator is also doing tells.  Do all ICSes support xtell, though?\r
-\r
-490. Bruce Moreland request: a way to turn Zippy auto-accept on and\r
-off dynamically.\r
-\r
-491. Bruce Moreland request: a defined way to turn on/off PV (etc.)\r
-kibitzing from the engine dynamically.  I had thought it would be\r
-better to make the GUI able to relay thinking output as kibitzing on\r
-its own (and be able to turn this on/off dynamically), but Bruce\r
-points out that what engine authors want to send as kibitzing output\r
-usually includes more than the PV thinking output. [Note that engines\r
-can put whatever info they want in the PV field of the thinking \r
-output].\r
-\r
-492.  One user reports that GNU Chess 5 crashes if you start a game,\r
-play far enough to get GNU Chess out of book, select Reset, and play\r
-e3 in the new game.  This is probably a GNU Chess 5.00 bug, unrelated\r
-to WinBoard.  Can't reproduce on Linux; didn't try yet on Windows.\r
-Need to see if 5.02 fixes it.\r
-\r
-493.  DAV suggests stripping off first arguments that are obviously\r
-not the name of the engine when trying to parse out the engine name\r
-from its command line -- things like nice, nohup, sh, csh, bash, etc.\r
-Ugh, but I suppose it would be helpful sometimes.\r
-\r
-494.  Internationalization.  A couple of people have done (or told me\r
-they were doing) partial conversions of WinBoard to German or Spanish\r
-by manually translating the messages.  I think it would be much better\r
-(but a big job) to use GNU gettext.  I haven't looked into the details\r
-of that at all. [4.2.8 and 4.4 have gettext support.]\r
-\r
-495. JamesBaud points out that FEN is not sufficient to correctly\r
-represent a crazyhouse position (or bughouse, for that matter),\r
-because it does not distinguish promoted pawns that will revert when\r
-captured from real pieces.  ICS style 12 also does not give us this\r
-information.  I really don't know what I could do about this -- take\r
-the lead in proposing an extension to FEN and to style 12 with new\r
-piece letters, I suppose.  I don't really have time or motivation for\r
-that.  If you always use PGN, not FEN, to save Crazyhouse, that works\r
-around the problem. [4.3 uses bFENs which fix this, but not in ICS\r
-mode]\r
-\r
-**496. DAV sent some code to save a screen shot in xboard.  Look at\r
-merging this in. [4.3 has an option to save the board display (but\r
-not the entire window) as bitmap.]\r
-\r
-**497. Igor Eged reports: I make a move on opponents time using\r
-premove. Right in the time I am holding another piece in case of\r
-unexpected check that I can have other possibility. But then the piece\r
-hangs in the void and its invalid move, what means often loss in 1 0\r
-lightning.\r
-\r
-498. It would be nice for Zippy to be able to play ICC wild 20 and 21\r
-(the types where loadgame is allowed).  Presumably there would have to\r
-be an option to either send the loadgame command with a specified\r
-position, or to deal with an opponent sending it.  I'm not sure how\r
-this should work exactly, or how to prevent opponents from cheating in\r
-various ways.\r
-\r
-499. It would be nice for Zippy to be able to switch amongst several\r
-different engines depending on which variant type is being played.\r
-\r
-500. It would be nice if Zippy could have an option to accept\r
-takebacks.  Hmmm, also, the operator might want to manually offer a\r
-takeback; it would be good if that worked.\r
-\r
-501. People would like to be able to add more bot functionality to\r
-Zippy without C programming.  I don't have any ideas on how to do that.\r
-\r
-502. One user requests the ability to have a game list file open for\r
-more than one PGN file at a time.\r
-\r
-503. We don't do protover 2 feature negotiation properly when\r
-restarting an engine due to -xreuse mode.  The timeout and done=0/1\r
-features don't work on the restart; instead we basically assume that\r
-all the features will be the same as last time and that the engine\r
-will be ready to accept commands immediately.  This probably doesn't\r
-cause a lot of problems, but if you try to replace the engine with one\r
-that sets different features, the changes might not be noticed before\r
-the first move, and the defaults will be the values from the old\r
-engine, not the documented defaults.  Also, if the engine takes time\r
-to initialize and wants us to wait to send commands until it says\r
-done=1, we fail to wait.  However, we do send commands in the right\r
-order and use ping, so most engines should work fine.\r
-\r
-506. One user wants a board size even smaller than Tiny.\r
-\r
-507. Suggested: have the cursor change to a gripping hand while moving\r
-pieces.  Currently in WinBoard it's always an arrow, while in xboard\r
-it's always a hand with pointing finger while over the board and an\r
-arrow elsewhere.\r
-\r
-508. It would be nice to make -xclock work with -ics, just for\r
-orthogonality, though it's not terribly useful.\r
-\r
-509. It would be nice to make -clock work with -st.  Perhaps each\r
-player's clock should start with the specified time on each move and\r
-count down until he moves.\r
-\r
-**510. A FICS service rep tells me that many users expect an autologin\r
-feature in winboard (other than the non-user-friendly login.ini file).\r
-Seems easy enough to add such a thing.\r
-\r
-512. Some users dislike the clocks counting in tenths when below 10\r
-seconds, as it's distracting, and would like this to be configurable.\r
-(From the Debian bug tracking system.)\r
-\r
-513. Perhaps have Alt+P and Alt+C as synonyms for Pause in WinBoard,\r
-since the P or C on the button makes it look like that should be the\r
-shortcut.  I suppose Alt+< and Alt+>, and the same with Shift for <<\r
-and >>, would also be a good idea.  Oops, but Alt+C is already\r
-CopyGame, so maybe this is a bad idea.\r
-\r
-514. Gian-Carlo Pascutto reports: "when pasting a FEN/EPD position\r
-into WinBoard, and selecting analysis mode, the engine analyses the\r
-starting position instead of the pasted one. Re-pasting fixes this."\r
-\r
-515. Troy Edwards suggests: "It would be nice to have the option to\r
-'wrap text' in the comment window."\r
-\r
-516. DAV says: "FICS now supports the setting and the making clocks\r
-tick using unpause/pause in examine mode. It seems either the clocks\r
-don't tick or are not present when using xboard. Is it possible to\r
-change the policy and base things upon the clock is paused flag in\r
-style 12?"\r
-\r
-517. Clarify in engine-intf.html that "sd" is an extra dumbing-down\r
-feature, not a time control.  Some text:\r
-\r
-In the protocol, the "sd" command isn't a time control.  It doesn't\r
-say that your engine has unlimited time but must search to exactly the\r
-given depth.  It says that you should pay attention to the time\r
-control as normal, but cut off the search at the specified depth even\r
-if you have time to search deeper.  If you don't have time to search\r
-to the specified depth, given your normal time management algorithm,\r
-then you will want to stop sooner than the given depth.\r
-\r
-The "new" command should set the search depth back to unlimited.  This\r
-is already stated in the spec.  The "level" command should not affect\r
-the search depth.  As it happens, xboard/WinBoard currently always\r
-sends sd (if needed) right after level, but that isn't part of the\r
-spec. [Added to the specs that go with 4.4]\r
-\r
-518. Warn in doc that -initString is a dangerous feature.  Also move\r
-doc of dalogs for sending commands directly to the engine out of the\r
-protocol spec and into the man page and help file, but warn they are\r
-dangerous too.\r
-\r
-519. In engine-intf.html, change "st" description to not use the word\r
-"exact", which is misleading.  Make sure it says this is the maximum\r
-time per move (and does not accumulate).\r
-\r
-520. Check whether Alt+C (CopyGame) works in XP.  One user says it\r
-gives an error message.\r
-\r
-522. engine-intf.html should really be rewritten to describe the\r
-protocol as a state machine (on each end), with every command\r
-precisely defined as to what it does in each state (including perhaps\r
-being illegal).\r
-\r
-523. Figure out what, if anything, to do with the FICS "iset singleboard".\r
-I lean toward not bothering to set it, as it only disables functionality,\r
-but maybe I'm confused.\r
-\r
-524. theblob at Mon Mar 4, 23:23 PST 2002: it'd be nice in the xboard\r
-interaction window if control-w and control-u respectively erased the\r
-line and word, even in a Windows environment.  At least, I think it'd\r
-be nice.\r
-\r
-525. Support a 64-bit node counter in analysis mode when compiled with\r
-something that has 64-bit integer support.  Both gcc and msvc++ have\r
-this, though under different names. [Done in 4.2.8 and 4.4]\r
-\r
-526. "-initialMode analysis -lgf -" doesn't get the engine into\r
-analysis mode properly.  "-initialMode analyzeFile" is a workaround,\r
-but bug should be fixed.\r
-\r
-527. Clarify ICS.ini more in the doc, if possible.  Some sample words:\r
-> You should create this file in\r
-> WinBoard's directory (usually C:\Program Files\WinBoard) using a plain\r
-> text editor such as Notepad.  Make sure that Notepad doesn't decide to\r
-> call the file ICS.ini.txt for you -- you may have to select "All\r
-> Files" instead of "Text Files" in the Notepad save dialog.\r
->\r
-> The file is simply sent to the chess server, just as if you had typed it.\r
-> So if your username is foo and password is bar, the file would look\r
-> like what is between ==== below, without the ===='s:\r
->\r
-> ====\r
-> foo\r
-> bar\r
-> iset movecase 1\r
-> ====\r
-\r
-528. Check on updates/revisions to PGN from Steven Edwards and others.\r
-Any support needed?\r
-\r
-529. Protover 3 needs a prefix character that says "this is debug\r
-output" and prevents the GUI from parsing that line (say ";").\r
-[4.3 uses '#' for this purpose, when the engine sets feature debug=1]\r
-\r
-530. The undocumented (?) checking for rsh error messages tripped up\r
-one engine author who had a "not found" in a message.  Tighten this\r
-up.\r
-\r
-531. Do we always wait for pongs to catch up with pings before\r
-starting the engine's clock?  I suppose we should.\r
-\r
-532. On FICS the clock does not start until after the first move has\r
-been made.  So perhaps we don't need the "not ready, try again soon"\r
-response from Zippy there.  What if Zippy is black, does black's clock\r
-also not start until he makes his first move?\r
-\r
-533. theblob at Mon Jun 24, 20:05 PDT 2002: here's a suggestion for\r
-xboard -- give priority to fitting in amounts of material in the title\r
-bar, and truncate names instead, e.g., use "tyrionsAp...(50) vs. woden\r
-(51)" rather than "TyrionsApprentice (50) vs. woden..." -- it's much\r
-more important to see the material than the full names, especially\r
-when you're playing.\r
-\r
-534. Steffen Jakob reports: "I use xboard 4.2.6. Yesterday I played\r
-some bullet games at ICC. In one game I lost on time. In the last move\r
-I already clicked on my queen and wanted it to move to its destination\r
-square when I forfeited on time.  After that my mouse pointer was the\r
-queen piece. I couldnt drop it to any square."\r
-\r
-535. For protover 3, the "st" command in the protocol could be\r
-extended to allow for smaller units, not just seconds.\r
-\r
-537. Clarify in the protocol that "force" while searching means you\r
-should stop the search as soon as you can.  (Isn't this clear\r
-already?)\r
-\r
-538. Need a way for the user to adjust the clocks.  This is important\r
-for WCCC and other computer competitions, where xboard/winboard's\r
-clock is not the master.  I was going to do it in time for the July\r
-2002 WCCC.  Oops. [4.3 allows adjusting the clocks by clicking them\r
-in 'edit game' mode, in steps of 1 minute]\r
-\r
-541. Related to #327, John Iverson says, "It would be nice to have the\r
-coordinates shown outside of the board along the edges, rather than in\r
-the squares where they are hard to see and give a cluttered\r
-appearance, especially on smaller board sizes.  (The coordinates can\r
-be handy in certain situations, such as posting a screenshot of xboard\r
-showing an email game in progress, with the view flipped.)"\r
-\r
-542. If you start xboard with the -geometry NxM option, it will\r
-dutifully make the window exactly that size, but it doesn't choose a\r
--size option that fits into such a window size, so the board is cut\r
-off or has a lot of whitespace around it.  In fact, the layout is\r
-generally messed up because the code doesn't expect the window to be\r
-the wrong size for the layout.  We should at least ignore the size\r
-part of the -geometry option if we aren't going to do something\r
-sensible with it.  How is that done with Xt?\r
-\r
-543. See the patches and extensions on\r
-http://www.tim-mann.org/extensions.html#patches and integrate those\r
-that are worthwhile into the main code base.  (Some are also mentioned\r
-elsewhere in this ToDo list.)  They are pretty much all over 15 lines,\r
-so copyright assignment from their authors is needed.  Unfortunately\r
-some of the authors may be hard to reach.\r
-\r
-544. Possibly rework looking_at pattern matching to have a "match at\r
-beginning of line" character (perhaps ^).  It looks like this may\r
-actually be useful after all.  The historical cases where you could\r
-get a board or other output that needs parsing on the same line as a\r
-prompt *may* have been fixed.  Confirming this would need testing on\r
-all the ICSes that are in use.\r
-\r
-546. Odd bug reported by travelGirl.  The last line of a multi-line\r
-macro from the ICS context menu sometimes "sticks" at the bottom of\r
-the ICS interaction window.  New text gets inserted before instead of\r
-after it.  This started when she upgraded to win2k.  See mail.\r
-\r
-548. Guido Flohr reports:\r
-\r
-Another "not really a bug" problem: When xboard forks in order to\r
-start a second chess engine, it is only concerned about duplicating\r
-the descriptors for the standard channels in the child.  This is\r
-very interesting for the second chess engine, since it inherits the\r
-pipes to its opponent, and can use them for sending commands like\r
-"sd 2", "easy", or even for feeding a bogus FEN string into the\r
-first engine (exchanging the opponent's queen with a bishop looks\r
-really attractive to me).  A very interesting feature, but not exactly\r
-what you intended? ;-)\r
-\r
-Closing the other descriptors after the fork will not completely\r
-avoid the problem, since - at least under Solaris and Linux - it\r
-is still possible to peek and write into xboard's open descriptors via the\r
-/proc pseudo file system (unless you make xboard setuid root), but\r
-leaving them open, makes this cheat very obvious.\r
-\r
-549. "Ron" (no last name given) reports that when compiling WinBoard\r
-under VC++ 6.0, there are many warnings.  These ought to be looked at.\r
-\r
-551. "Miguel" (no last name given) reports "When you make a premove in\r
-Winboard 4.2.6, and then opponent move and premove is illegal, then\r
-and you try to make a legal move but you cannot, because piece are\r
-erased and you have to replace your move again, move twice... in\r
-lightining this is annoying."  I'm not really sure what that means or\r
-if it is the same bug as 497.\r
-\r
-552. Get rid of the need for proprietary tools to build WinBoard.\r
-It's already possible to compile winboard.exe using the Cygwin\r
-toolchain.  You can even compile it with -mno-cygwin to avoid the need\r
-for cygwin1.dll.  However:\r
-\r
-552a. The Help file needs Microsoft Word to edit the source file\r
-winboard.rtf and the Microsoft Help Compiler to compile it into\r
-winboard.hlp.  I tried using OpenOffice.org on the RTF file, but the\r
-result was missing some formatting that the help compiler needs.  The\r
-help compiler itself is a free-as-in-beer download, but it's still\r
-proprietary software.  Perhaps the help could be converted to vanilla\r
-HTML, at the cost of losing the index and search capability.\r
-\r
-552b. The WinBoard installer package is built with InstallShield.\r
-  Possible replacements:\r
-  Inno Setup (http://www.jrsoftware.org/isinfo.php) - looks best\r
-  NSIS (http://nsis.sourceforge.net/site/index.php)\r
-  Cygwin setup (http://www.cygwin.com) - a long shot\r
-\r
-552c. Although the cygwin resource compiler works on winboard.rc, it's\r
-a pain to create new dialogs by editing the text file.  The original\r
-ones were all created using the graphical dialog editor in MSVC 5.\r
-\r
-553. It would be nice for xboard's ICS Input box to have a history \r
-feature similar to WinBoard's ICS Interaction window. Actually it \r
-would be nice for xboard to have its own ICS Interaction window with \r
-all the bells and whistles that WinBoard's has instead of limping \r
-along using an xterm for interaction. \r
-\r
-**554. Port evaluation-graph window to XBoard.\r
-\r
-555. Split x/wengineoutput.c in a front-end and common backend file.\r
-\r
-556. Fix -stickyWindows option under XP and Vista, and port to XBoard.\r
-\r
-557. Port display of engine logos to XBoard.\r
-\r
-558. Device a smart way for -autoLogo to select logos in other modes\r
-than Two Machines.\r
-\r
-\r
-\r
-* * *\r
-\r
-Before each release:\r
-- make sure both xboard and winboard build and are up to date with each other\r
-- run zippy with new version as a shakedown\r
-- be sure gnu5 binary is up to date in winboard, and gnu5 patch (if needed)\r
-  is included in both xboard and winboard kits \r
-- recheck cygwin compiling winboard\r
-- make sure ChangeLog is complete\r
-- test changes\r
-\r
-*** up to date with mail received through 5 Nov 2003, except\r
-for the "protover 3" discussions on the chess-engines mailing list ***\r
+Possible improvements   **=somewhat higher priority
+---------------------------------------------------
+
+20. Some way to back up, explore variations, then return to the main
+line and restore moves we backed out.  Should also support exploring
+side branches while loading a game file.  Push/pop buttons?  Button to
+fork another xboard in same state as current one?
+
+20a. Allow side branches to be remembered in game files (and
+understood on LoadGame).  Use PGN variation notation.
+
+**62a. Support series of time controls as in later gnuchess 4.0.x
+versions (and real tournaments!).  Needs a protocol extension to
+"level"; this is now planned for protover 3.
+
+62b. Perhaps we could also support the kind of clock where you get K
+seconds per move, plus a reserve of J seconds per game that is used
+when a move takes more than K seconds.  The degenerate form of this
+with J=0 is desirable in itself.  Needs a protocol extension.
+
+68. WinBoard has some features not in xboard.  Among others:
+68a. LoadGameOptions dialog             (good to add)
+68b. SaveGameOptions dialog             (good to add)
+68c. TimeControl dialog                 (good to add)
+68g. Font dialog.                      (leave out)
+68h. Colors dialog.                    (leave out)
+68i. Board size on Options menu         (good to add)
+68j. Resize with mouse
+68k. Highlight dragging
+68m. Move typein from keyboard.         (good to add)
+
+69. xboard has some features not in WinBoard.  Among others:
+69c. Font size selection by pattern fill-in. (leave out)
+69d. Alternate bitmaps specified at runtime. (good to add, often requested)
+69e. Flashing.
+
+71. Allow restart after ICS logout instead of exiting?  Many requests
+for this.
+
+71a. Would be useful to drop into NCP mode after ICS logout and allow
+for reconnect later.  For instance, this would let you save your last
+partial game if you didn't have autosave on.
+
+72. Allow switching among ICS, NCP, GNU modes??
+
+74. Observe/play multiple games, each with its own window.  Hard.
+
+80. Clone command.  Saves current game to a file foo, then starts up
+another copy of xboard with -lgf foo.  Should probably note current
+state of some options and give command line flags to set them the same
+way in child.  What about -ncp mode, though?  Might want that to be
+different.  Would be nice to have a -moveNumber flag to position the
+child to the same move number in the current game.
+
+91. Would be nice to have an option to overwrite save file instead of
+appending.
+
+95. "Have the clock indicate how long the computer/player has been
+thinking for when the -st option is used. This should be how long for
+the current move only." (Dino Dini)
+
+97. "Have the ability to change the level of the gnuchess during a
+game. For analysis purposes, sometimes it is useful to have the
+computer think really hard about certain positions." (Dino Dini)
+
+98. Reorganize the source and split it into more files.
+
+107. Changing time control during a game could be made to work.
+Current (WinBoard only) way of changing at start is suboptimal.
+
+**108. Could add search depth and time per move to (WinBoard)
+TimeControl dialog.
+
+140. LoadPosition needs better checking for invalid data.
+
+142. xboard needs a real file chooser dialog.  Jeff Woolsey submitted
+code to merge in the one from Ghostview, but said it works only on
+X11R5 or later.  I have not yet tried his code or looked to see if it
+could be made to work on X11R4.
+
+147. Improve display of held pieces in bughouse mode, putting them
+closer to the player's side of the board, and perhaps using icons (and
+allowing dragging from the icons to drop a piece).  Actually, moving
+the clocks would be beneficial too, so that it's easier to visually
+associate the right clock with the right player when looking at two
+boards during a bughouse match (with two copies of xboard running).
+Maybe multiple window layouts should be user-selectable. [4.3 supports
+drag-drops from holdings]
+
+150. Keep track of castling availability, en-passant availability, and
+FEN half-move clock (for 50-move rule), pass the availability
+information to the move generator through the existing interface, and
+load/save it in the FEN code. [Fixed in 4.3]
+
+150a. Note that not keeping track of ep creates a bug in mate
+detection.  In certain positions, moving a pawn from the 3rd to 4th
+rank gives mate, but it is not detected because if the pawn had moved
+to the same position from the 2nd rank, ep capture would have been
+legal and there would be no mate. [problem disappeared in 4.3]
+
+150b. Note that although we try to put in e.p. availability when
+writing FEN, this works only if we have the move that got us to this
+position in the moveList. If we load a position from FEN, the
+e.p. availability field of the FEN is lost. [disappeared in 4.3]
+
+152. Generate the info file, man page, perhaps html, and perhaps even
+the WinBoard help file from the same sources.  Right now,
+substantially the same text is duplicated in three places.  This is
+a huge pain in the neck.
+
+157. Idea: if Zippy flags some number of times in a row and keeps
+getting told the opponent is not out of time (presumably due to
+timestamp/timeseal), he should issue an adjourn or abort.
+
+160. The xboard CTRL key flashback feature is bad in Analysis mode.
+Flashing back throws away the analysis.
+
+161. SIGINT doesn't work for local programs on Win32.  There is an
+equivalent, GenerateConsoleCtrlEvent(CTRL_C_EVENT), but I haven't
+gotten it to work thus far.  It seems that WinBoard and the chess
+engine don't "have the same console"; indeed, neither has a console.
+
+162. Supply a non-X Zippy for Unix.  Perhaps use the code from Klaus
+Knopper.
+
+167. Alternative bitmaps loaded at runtime for WinBoard. [font-based
+piece rendering provides this functionality since WinBoard_x]
+
+169. Upload Game on file menu?  This would upload the current game
+moves into a scratch examined game on ICS.  Could do Upload Position
+too.  Some code to do Upload Game was contributed, but it didn't
+handle setup positions, variants, checking for proper gameMode, etc.,
+so I couldn't use it.
+
+170. Auto step every k seconds should be a general feature you can
+turn on at any time, not just in LoadGame.  What should GUI be?
+
+171. Displaying thinking in a separate window should be an option
+available at all times when Show Thinking makes sense, not just in
+analysis mode.  It should perhaps be orthogonal to analysis mode.
+[added in WinBoard_x]
+
+172. Should analysis window scroll instead of showing only the last
+line?  There could be an extra checkbox to show all chess engine
+output in it. [fixed in WinBoard_x]
+
+178. Need reliable kill for chess engine on Win32.  See also 161.
+
+181. Some people want -sgf to save only played games, not observed and
+examined games.  Others like it to save them all.  Make this an option?
+
+183. Search feature in Game List dialog [Igor Eged].
+
+187. "Log session" feature for ICS window.
+
+193. Some users have reported xboard redraw bugs, but I have not
+been able to reproduce them on the Digital Unix, Linux, or eXcursion X
+servers (xboard).
+
+c. From Hawk:  
+Dragging in xboard does not work 100%.  
+* The dragged piece may disappear (try some fast e2-d3 movements - 
+  this is easy to reproduce).
+* The dragged piece may be placed on an illegal position (this 
+  happens less frequently, but it _can_ be reproduced by doing the same
+  as above).
+* In both of the above cases, the board is correct after forcing a 
+  redraw (ie. minimizing/restoring the window)
+I'm using eXodus - a win32 X server, perhaps it's buggy. [Seems that way,
+or just possibly, these could be bugs that are fixed in 3.6.11beta or
+3.6.12beta.]
+
+d. One user reports: "If you are 'holding' a piece over the square you
+want to go to and that move becomes illegal but you make it anyway,
+the display sometimes corrupts and a partial piece appears..sometimes
+a whole piece."  This was under RedHat 6.0.
+
+194. A few users have reported drawing problems with WinBoard.  There
+may be some color map problem on certain displays.  I might possibly
+have fixed this already; I cannot reproduce it.  The common thing
+seems to be black pieces changing to white.  This may depend on having
+customized the board colors.  I suspect many of these problems are
+buggy Windows drivers for particular display cards.  (May be worked
+around in 4.2.0 with reprocessed .bmp files.)
+
+a. From mulesmurf: if i log in and then move the board, it will happen
+that the black [pieces] change to white.
+
+c. People have sent pictures where the grid didn't get redrawn.  This
+produces random bits in the grid area from uninitialized memory.
+Could this be a resource leak?
+
+d. From James Van Buskirk: I did notice one problem tonight playing
+against Comet under FX!32 1.2 (Comet, not winboard ran under FX!32):
+for a couple of moves winboard didn't turn off the highlighting of the
+square I dropped the piece on until Comet had moved.  Later, the
+problem fixed itself.  Have other users noticed this?  [No.]
+
+e. One user reports: Lastly, there is some sort of slight bug in the
+piece dragging code, but it comes up only very occasionally (once in
+500 moves?)...basically, I'm dragging, change my mind, throw the piece
+of the side of the board, and instead it gets stuck not inside a
+square.  It's really disconcerting, this piece just sitting across
+square boundaries.  When you make another move, it gets cleared up and
+goes back where it's supposed to.  [Might be fixed in 4.0.6, but I
+couldn't reproduce this, so I can't be sure.]
+
+f. DAV says: "When I resized the board on win 95 and made it smaller
+some of the pieces turned into junk (I'm not able to give a screen
+shot)."  Later: "Seems to happen on the three sizes below small.
+Win98 and NT seem to be ok, trying to get more win95 users to test
+it."  Works fine for me on Win 95...  [Might have been fixed by the
+cleanup of the Windows .bmp's that happened sometime before version
+4.2.3]
+
+195. Flash Moves works at the end of every change to the board, using
+some rather gross code in DrawPosition.  This code should perhaps be
+ripped out and the flashing done from inside AnimateMove instead.
+
+197. More color distinctions.  Maybe allow several user-selected channels
+to have their own colors.
+
+198. More sounds.  Some possiblities: distinguish White vs. Black move
+or your move vs. opponents, distinguish different kinds of
+win/loss/draw/unfinished (checkmate, resignation, stalemate, other
+draws, opponent disconnected, etc.), game ends when you aren't playing
+and/or aren't in ICS mode, differentiate amongst requests (draw offer,
+etc.), **check, got new offboard piece (by piece type?), opponent got
+new offboard piece (ditto), arrival notification, "* who has an
+adjourned game with you," draw declined, moretime received.
+
+199. Maybe put user names instead of White and Black on clocks, or
+user names above or below clocks in a smaller font.
+
+200. I don't like these ideas, but some people do:
+a. Highlight all of the squares that the piece you are moving can go to.
+b. Clicking on the piece moves it immediately if it has only one legal move.
+c. Allow clicking on the destination, then the source.
+d. I guess highlight the pieces that can go to that destination.
+e. Clicking on a destination that only one piece can go to moves it there.
+
+201. mulesmurf: piece counter so we know exactly the score 
+
+202. mulesmurf: ziics pieces, board along with color intensity
+
+204. Hawk at Fri May 15, 12:58 CDT 1998: a minor thing with xboard:
+the coords disappear while dragging from a square with coords on it.
+[They come back when the drag is finished.]
+
+208. WinBoard sometimes comes up with one of the menu bar items grayed
+out (one that should not be).  I've seen this on different entries at
+different times.
+
+213. Maybe add Silence to sound menu -- parallel to Monochrome on
+color menus.
+
+214. Maybe easier startup dialog customize:
+a. Buttons to add/delete/move(?) current string to/from/within current list.
+b. Or maybe auto-add newly typed/edited strings up to some limit.
+c. Also a drop-down for Additional Options.
+
+216. Maybe shorten menu names in WinBoard to one char if and only if
+the menu bar would wrap with longer names.
+
+**217. Easier way to add engines to the WinBoard startup dialog.
+Ideally, an engine author should be able to supply a simple
+configuration file or script that installs his engine.  "*.wbe" idea.
+
+218. Some folks would like Highlight Last Move to apply only to
+opponent's moves.
+
+219. From Jorge Monasterio: Support automatic game starts when in
+tournament. In other words, do that "match bigolfish mann 5 0 black"
+automatically based on the info sent from mamer.  [I would need to
+play in some tournaments before I could evaluate this idea or fill in
+the details.]
+
+222. Could support time handicaps. [Added in 4.3]
+
+223. Bug: very long comments cause buffer overflow.  Need to revamp
+the way comments are parsed and returned from parser.l to fix this.
+
+224. Larry Parrish requests: In an automated multi-games match I would
+like to load the n-th game from the file for the n-th game of the
+match.  [That is, when -mg and -lgf or -lpf are used together without
+-lgi or -lpi.] [4.3.15 provides auto-increment og game and pos index]
+
+225. From pulp: another bug (maybe with the Microsoft RichEdit
+control) I've observed is when you flood the edit control it loses the
+bottom.  Eg. "games" will scroll along then start slipping until by
+the end of the list you are really looking at the middle of the list
+and have to manually scroll back to the bottom.  [May be fixed?]
+
+225a. Resizing the WinBoard ICS interaction window can cause the cursor
+to be off the screen, which stops scrolling.
+
+226. From pulp: Clipboard persistence.  If I copy text, then the text
+disappears when Winboard is closed.  Eg.: Log in, highlight and copy a
+web page address, close, go to browser, paste *nothing*.  [How does
+one do this in Windows?]
+
+227a. In engine-engine matches, an engine that crashes should lose and
+perhaps get restarted for the next game. [In 4.3 a crashing engine 
+forfeits the game, but still terminates a match.]
+
+227b. Maybe when an engine playing in Zippy mode exhibits a bug, we
+should do a little more too.  Perhaps "say Sorry, the engine seems to
+have a bug", resign or abort, and maybe force an engine restart for the
+next game.
+
+**227c. We should also detect and stop the game on false mate or draw
+claims, rejecting a legal move, or (maybe) missed claims of mate or
+draw.  Note that draw claims require checking for repetition, 50 move
+rule, and insufficient material as well as stalemate, so this is
+nontrivial. [Added in 4.3]
+
+228. RichEdit bug: sometimes a line gets indented as if it were
+wrapped when it should be flush left.
+
+**229. Support for sending moves from the partner's game to a bughouse
+engine.  Ben Dean-Kanemura submitted support that works without adding
+general multi-game support, by relaying the moves without processing
+them.  Should also send holding updates and clock times; not sure if
+Ben's code does that.  Needs to be a new "feature" command option, and
+to be documented in engine-intf.html, removing the note that this may
+be done in the future.
+
+231. See Ed Collins's WinBoard bug list on his pages:
+
+231b. If you save an ICS examined game to disk as a PGN file, it
+doesn't report the end-of-game result in both the header and at the
+end of the notation.  [It doesn't get this info from the server, but
+maybe there is a way it could.]
+
+232. From Ed Collins's WinBoard wish list on his pages:
+
+232b. Multiple winboard.ini files for different moods, loadable from
+inside the program.
+
+232c. Fix bug where fics% prompt is not suppressed when using
+timeseal.  This has something to do with a timeseal deficiency whose
+details I've forgotten, but there must be some way to fix it.
+
+232e. When using the server's "examine" mode to examine a previously
+played game, have the game clocks display the time that each player
+currently had after each move was made.
+
+232f. [Not from Ed] Deal with ICC game relays where an "examined" game
+is supposed to have running clocks.  Not sure if this is still an issue.
+
+232g. Customizable on-screen buttons [i.e., toolbar or toolbox].
+
+232h. Customizable function keys.  Currently xboard can bind a key to
+any built-in xboard function.  Should extend this to WinBoard, and
+also (in both programs) support sending an arbitrary ICS command when
+button is pressed.
+
+233. See if anything from LightningRulez should be added.  Premove is
+now included (from Winboard Plus), but maybe there are other useful
+things too.
+
+241. There might still be bugs in xboard and/or winboard when moves
+come in from ICS during drag animation, though I can't reproduce them.
+DAV saw the opponent's piece fail to be erased from the source square, if
+I understood his message right.  [DAV says this still exists in 4.2.5.
+I think bug 426 is a duplicate.  The description is clearer there.]
+
+242. User-defined "looking_at" patterns and actions.  This is hard to
+bombproof.
+
+**243. "Rematch" shortcut in /cp mode.
+
+246. Maybe auto-close comment window when user goes to the next move.
+Whether this is desirable really depends on the content of the
+comment, but maybe it is rare to have a long comment that discusses
+the plan several moves ahead and should be left up.
+
+248. Would be nice to support retract move after checkmate or draw (etc.).
+
+254. Different tray icons for interaction window vs. board (suggestion
+from FICS).
+
+256. One user asked for "delete" option in game lists.  This requires
+rewriting the file to close up the hole, so it's pretty heavyweight.
+Next people will be asking for move, sort, search, and other game
+database functionality; ugh.
+
+**257. Would be nice to find a way to safely implement "retract move"
+when the engine is still on move.  (using ping/pong)
+
+**260. General mechanism where engine can declare engine properties that
+the user can frob and xboard/winboard will put up a simple dialog to
+allow user to view and set them.  See email message "special engine
+commands" from Steffen Jakob:
+
+  From: "Steffen A. Jakob" <saj@xxx>
+  To: mann@xxx
+  Cc: chess-engines@xxx
+  Subject: special engine commands
+  Date: Fri, 26 Feb 1999 09:12:26 +0100
+
+  Hi Tim!
+
+  Here comes a summary of our ICC chat (I cc this mail to the
+  list... maybe other engine programmers can give some feedback if
+  they find this feature useful):
+
+  Please add a protocol command which enables the engine to tell
+  xboard its special commands. Maybe a set of (label, command string)
+  pairs would be useful. Then create a menu for these commands. It
+  could look like this (that's what I would like to see for Hossa):
+
+  engine->interface:
+  ------------------
+  command "Reset the log file" "reset log"
+  command "Save Diagram as PNG" "png dia.png"
+  command "Disable Book" "book off"
+  command "Show Evaluation details" "eval"
+  command "Show Search statistics" "stat"
+
+  etc.
+
+  While typing this list I realized that an additional parameter like
+  this would be needed/nice (of course you can think of many more
+  improvements):
+
+  command "Save Diagram as PNG" "png %s" 1
+
+  "1" tells xboard to ask for an additional parameter (here: filename)
+  which will replace the "%s" in the command string.
+[XBoard 4.3.16 has an experimental implementation of this ide through
+the 'feature option="..."' command.]
+
+261. Check that "quit" is sent to engine properly if ICS connection
+fails to open due to error from timestamp/timeseal.  "wzrdking" had a
+case where it didn't.  Timetamp had failed with "Host name not found
+by name server" (because in fact there was no internet connection, arrgh).
+
+273. Displaying the names of the players from a PGN file in the header
+of the window does not work if there is only one game in the file.
+The filename is shown instead.  (This was intentional, but maybe a
+poor idea.)
+
+274. Command to go to move number N, with entry box for N.
+
+276. Make grid optional in winboard?  Note that the highlight options
+don't work without it. [The Winboard_x -overrideLineGap option provides
+this.]
+
+276a. Make color of grid an option, instead of always black.
+
+277. Flooding xboard -zt + timestamp with tells hangs timestamp after
+a while.  xboard is blocked writing to the timestamp pipe.  timestamp
+is in an unknown state, not reading from the pipe nor responding to
+pings.  (Confirmed with the software running on milwaukee, Red Hat
+5.2)
+
+278. Flooding winboard -zt + timestamp with tells hangs winboard after
+a while.  timestamp still responds to pings.  This reported by
+nudnick; I haven't tried to reproduce it yet.  He also says that
+windows explorer then crashed when he tried to close winboard.
+
+279. Idea from an anonymous ICSer: piece drop menu could have images,
+not words.  [Or maybe both?]  Also might be easier to select
+accurately from it if horizontally arranged, or in a 3x2 grid.
+[Now 4.3 has drag & drop, piece-drop menu should be deprecated]
+
+284. dxterm hangs when it receives the escape sequence that sets the
+title bar on xterm.  I think some other xterm substitutes do too.
+
+**287. WinBoard can look funny if you are using themes because it
+unconditionally uses white for certain colors instead of the default
+background.
+
+289. Merge WinBoard support for the Henter-Joyce JAWS screen reader.
+Source code (zip file containing modified WinBoard 4.0.2 source) is at
+ftp://ftp.henter-joyce.com/users/hj/winboard/WinboardSource.exe.  It
+would be interesting to make this work with festival (free Unix speech
+synth) or other speech synthesizers too.
+
+290. Could have limited voice output without a speech synthesizer by playing
+wav files for piece names and square numbers.  Idea suggested by Hannu
+Wegner.
+
+291. Would be great to support DGT, Novag Universal chessboard, etc.
+I'm not likely to fork out the cash to buy either for testing, however.
+Note users have done various things along these lines.
+
+292. When an engine is analyzing, it would be cool to have a way to
+automatically play out its current PV (or even older ones) on a board.
+These PVs could be saved as variations when we have variation support.
+
+297. Windows users expect all programs to have a Print function, even
+though there are other ways to print.  Useful items to make printable:
+PGN game scores (which are plain text, of course), maybe FEN position
+diagrams, maybe graphical position diagrams (i.e., same as pressing
+the "Print Screen" function key and printing the clipboard).
+
+298. One user suggests that automatic move stepping should not start
+until you press OK in the tags window.  This could be a good idea, but
+I think I'd rather have automatic stepping never start until you press
+a "play" button on the main window, and have that button always
+available, not just when loading a game from a file.
+
+299. One user suggested being able to jump to a specific move by
+typing its number (followed by ... if it's to be black's move).
+
+300. Can I put a hyperlink (that will invoke a browser) directly onto
+the WinBoard Help menu or in the Help file?  Useful to take users to
+my chess page.
+
+302. On NT, check if the board is redrawn properly when exiting from
+the screen saver.
+
+308. There is some tricky way to maximize the WinBoard board window,
+although there isn't supposed to be.  Maybe prevent this, or else
+legalize it and make sure something reasonable looking happens.
+Note: the trick is to select one of the "tile" options on the Windows
+task bar.  Not clear what should happen in this case.
+
+309. Avoid endlessly flagging every second when opponent is lagged out
+and autoflag is on.  Automatically courtesy-adjourn (or abort if
+unrated) instead, at least if in zippy mode.
+
+310. Weird bug: the last character of a FICS output can appear on the
+next line, *after* the fics% prompt, according to one user.  I might
+have seen something like this myself once too.
+
+314. One person wanted his engine to see tells when running in Zippy
+mode.  I doubt this is generally useful, so I haven't added the code I
+wrote for him.  (I can query for "tellfrom" in my mail file to find
+it.)
+
+314a. Another person wants his computer account to relay tells to his
+personal account.
+
+319. One user would like to be able to reload a PGN file and resume a
+game against an engine as if after an adjournment, with the clocks
+(and moves to next time control) restored as they were when the game
+was saved.
+
+320. Display ratings of ICS players in the title bar (if there is room,
+presumably), or somewhere, anyway.
+
+321. Maybe refresh the EditTags window if the gameInfo changes and the
+window is up.  (WinBoard now does this when entering MachineWhite,
+MachineBlack, or TwoMachines mode -- not very general.  From Winboard Plus.)
+
+322. One user requested that Zippy games use the engine name instead
+of the ICS handle in the PGN tags, as he uses multiple engines on his
+account.  (My response was "I'd say it should give both"; not sure just
+how to do that, though.)
+
+324. I'm told that Blitzin supports animated dragging without holding
+down the mouse button and that this is "much better" and I should try
+it too.  As yet I haven't.
+
+326. Full support for variants and variant-capable engines in all
+modes, not just ICS mode.  Here are some items still needed.  Some if
+not all should probably wait for a rewrite, not be added to the
+current code base. [4.3 supports many variants, even those not supported
+by ICS. Not bughouse, though]
+
+326a. Menu to let you see and change the current variant type, not
+just a command-line argument as at present. [Added in 4.3]
+
+326b. crazyhouse: Keep track of holdings and display them, keep track
+of what onboard pieces are promoted so they will revert if captured,
+understand offboard interposition to stop mate.  [Added in 4.3, (not
+sure about the interposition)]
+
+326bb. One user asked for a Czech variant of crazyhouse where pawns are
+given to the opponent when they reach the 8th rank (after capturing, if
+it's a capture) instead of promoting.
+
+326c. bughouse: Features in 326a would be helpful for editing one board
+of a bughouse game, and getting mate indication right even in ICS mode.
+In the longer term, could understand BPGN, support editing two-board games.
+
+326d. wildcastle: Allow wildcastle castling only when playing this variant!
+Maybe support automatic shuffling for local play. [4.3 adds shuffling
+for any variant played locally]
+
+326e. nocastle: Maybe support automatic shuffling for local play.
+Note that several types of ICS shuffle chess fall under this variant.
+Note that this isn't really a variant, since if we kept proper track
+of castling rights and used "setboard FEN" or the ChessBase extension
+of "edit" to set them, it could be treated as normal chess with a
+different starting position.
+
+326f. fischerandom: Maybe support automatic shuffling for local play.
+Support castling.  Currently, you can probably play Fischer Random
+successfully on ICS by typing castling moves into the ICS Interaction
+window, but they will not be animated correctly, and saved games will
+not be loaded correctly if castling occurs.  FR castling is
+problematic because the move cannot be specified by the starting and
+ending coordinates of the king; in some starting positions there is a
+legal non-castling move that moves the king the same way.  This
+violates a deeply ingrained assumption in the implementation.  It also
+breaks the GUI -- you need more than just dragging the king two
+squares to indicate castling.  (Note: In FR notation, O-O is h-side
+castling, O-O-O is a-side.  See "help fr_rules" and "help fr" on FICS
+for rules.) [All fixed in 4.3]
+
+326g. kriegspiel: Could give some thought to how to support a
+kriegspiel engine.  I doubt anyone will ever write one, though.
+
+326h. losers: Know that captures are mandatory.  Understand the win
+condition.
+
+326i. suicide: Know that captures are mandatory.  Understand the win/draw
+condition.
+
+326j. giveaway: Know that captures are mandatory.  Understand the win
+condition.
+
+326k. atomic: Understand the win condition.
+
+326l. 3check: Understand the win condition -- ugh, have to keep a
+check counter!
+
+327. Option to set the coord font color (or something) to make sure
+there is always enough contrast with the square colors.
+
+329. Bernhard Maerz would like a command line option to choose the PGN
+player name for an engine, overriding the default of generating the
+name from the engine filename.  This is for his ChessCall program.
+
+331. Maybe the local autoflag menu option should *also* turn
+server-side autoflag on/off by sending an appropriate set command.
+
+**332. Bug: Autoflag for local engine/engine or engine/human matches
+does not recognize that having your flag fall when your opponent has
+insufficient mating material is a draw.  It counts the flag fall as a
+loss. [Partly fixed in 4.3, which corrects any kind of losses against 
+a bare King to draws.]
+
+336. Of course lots of people ask for a graphical seek window.
+
+339. There are probably some incompatibilities with chess.net, as they
+have made a few gratuitous changes to message formats from the FICS
+code base they started with, and perhaps they've added features since
+without duplicating the syntax closely enough.  In particular it's
+been reported that Zippy does not correctly send "partner" and
+"variant" commands to bughouse engines on chess.net.  Also, I doubt
+colorization works.  As a matter of personal choice I do not spend any
+of my time supporting chess.net, but if others want to donate patches
+that allow chess.net to be supported without breaking the support for
+ICC and FICS, I am willing to install them.
+
+342. Analysis mode automatically turns on the Show Thinking option;
+the user must then turn it off manually after leaving analysis mode if
+he doesn't want it.
+
+343. Would be nice to change xboard keyboard shortcuts to not be plain
+letters, make the new shortcuts work also in the ICS input box, and
+make typing plain letters to the board redirect to the ICS input box
+or the xterm.  Might want to change/remove the Ctrl binding at that time.
+
+344. One user suggested having a way to save a position as a character
+string that would produce a board diagram when rendered in MS Word in
+a chess font.  Perhaps there is already a nice standalone tool for
+this, though?
+
+346. Could use a better way to pick default size.  Now we choose the
+largest that fits on the screen, which is typically too big.  Not too
+bad for WinBoard, but painful for xboard since it can't be resized
+after starting.
+
+349. Check that "quit" definitely makes it to the engine before exit,
+if you exit via the File menu while a match is running.  Uli Tuerke
+reported that maybe it sometimes doesn't (in WinBoard 4.0.5).
+
+352. Perhaps recognize the ANSI escape sequence that FICS sends out
+for the cls command and clear the ICS interaction window.
+
+**353. WinBoard can crash when the engine outputs very long PV lines
+(or debug output that looks like a PV).  In particular, lines that
+start with 4 or more blanks following a "thinking" output line are
+treated as continuation lines, and get concatenated into a 512-byte
+buffer with no checking for overflow.  Generally we need a lot more
+care to avoid buffer overflows inside both xboard and WinBoard.
+[Note: changed the buffers to be 5120 bytes as a band-aid.]
+
+Guido Flohr expands on this bug:  
+
+  The problem is easy to reproduce, simply write a program/script that
+  spits out lines of more than 8192 bytes (INPUT_SOURCE_BUF_SIZE) and
+  connect it as a chess engine to xboard.  No surprise, xboard cannot
+  handle such long lines, but the resulting behavior is really weird:
+
+  The program enters DoInputCallback() in xboard.c, reads the first
+  8192 bytes, searches for a linefeed in vain, then closes its eyes,
+  sets the member "unused" of the InputSource to is->buf + 8192 and
+  waits for more input although the buffer is already full.
+
+  The next time it calls the same function, is->unused is exactly
+  these 8192 bytes away from is->buf, xboard computes the amount of
+  bytes to read in this round, which sums up to 0 nothing.  It then
+  calls read(2) with a bufsize argument of 0, and then assumes end
+  of file when the kernel call returns 0 (which is the documented
+  behavior).
+
+  For local engines, we now jump into backend.c, ReceiveFromProgram(),
+  and this function reports that the engine has exited unexpectedly.
+  In fact the engine is still very vivid, which is good, because in
+  spite of xboard's assumption that its child has died, it still
+  sends "force", "ping N", and "quit" to the false dead.  If the child
+  was really dead, the alert boxes "error writing to ... engine"
+  would hide the first alert box "... has exited unexpectedly".
+
+  From xboard's side, it is not exactly clean to call read(2) with
+  a zero bufsize argument.  In my opinion, a sane solution would be
+  to eat the INPUT_SOURCE_BUF_SIZE bytes, and when they contain no
+  linefeed, print the partial line to standard error (in debug mode)
+  and report something like Â»Maximum line size exceeded« (and then
+  kill the engine).
+
+**354. We currently let the user go directly from TwoMachines mode to
+various other modes like MachineWhite or MachineBlack.  This may
+confuse the engine that was on move, since we don't have a way to
+force it to stop before it makes the move it was thinking about.
+(use ping/pong to know when the engine has stopped)
+
+355. Idea from LiveAndLetDie: have Zippy specially log games where it
+loses to a substantially lower-rated player.  Such a game could
+indicate an xboard bug, engine bug, or perhaps a computer-using
+cheater.
+
+356. Colorization for FICS tourney tells?  They look like this (ugh):
+:DChessmaster [tourney #4]:
+:hi
+
+357. A few reports of WinBoard pieces being drawn incorrectly at
+certain sizes.  I haven't reproduced this.  [Maybe worked around in
+4.2.0.  Or is/was this the same as 194f?  I don't recall the details.]
+
+358. One report of WinBoard colorization not working, even after
+restart, until the computer was rebooted.  Weird.
+
+362. Running a very long automated match (/mg option) seems to crash
+WinBoard eventually, usually after 300 to 500 games, sometimes later.
+Reported by Josh Haglund.  Gets a "WINBOARD caused an invalid page
+fault in module KERNEL32.DLL" dialog box from Windows.  See messages
+from Josh for examples of the registers and stack dump.
+
+362a. A few people have reported WinBoard crashing upon exit.
+
+363. Maybe xboard should not set the window geometry for new popups,
+or at least not the position.  The default positions aren't very good,
+and setting them programmatically keeps knowledgeable X users from
+customizing the positions with X resources.
+
+366. Feature to let an engine observe an ICS game and run analysis
+mode on the moves, perhaps whispering or channel-telling the results.
+It's a little too easy to cheat with this feature or I might have
+added it long ago. [Added in 4.2.8 and 4.4]
+
+369. Optionally send a periodic keepalive command to ICS.  Can be
+used to defeat autologout, so should probably not be on by default.
+Also should be useful to help Zippy notice more reliably when its
+connection has hung, so that it can exit and a shell script (batch
+file) can restart it.
+
+370. One user requested a local noplay list for his computer player
+because the FICS limit of 50 is too small.  He wants several hundred so
+that he can noplay everyone who disconnects in a lost position.
+
+374. Would be good to have a way to change engines without restarting
+the interface.
+
+376. WinBoard is said to crash or "lock up" when loading enormous PGN
+files, like a 98 MB file that comes with (??) Crafty.  Win32 (at least
+in the Win95 lineage) has a limit of 32,767 items in a list box
+widget.  That might explain this problem.
+
+376a. xboard exceeds limits in X and/or Xaw if a PGN file has too many
+games.  (The virtual window that the list box can scroll through
+becomes too many pixels high.)  This has odd effects; the window
+height of the game list seems to get reduced mod 2^16 or something.
+Maybe detect this and do something nicer about it, like stop loading
+when the window is full and pop up a warning.
+
+378. One Solaris user didn't have the "strip" program, so the
+install-sh script used by xboard "make install" failed.  Check for
+this?  Yuck.
+
+381. "Illegal move: post" is apparently not handled.  Should it be?
+
+382. The UI for entering Training mode is a bit obscure: you must
+first select Load Game, then Training becomes enabled in the upper (!)
+part of the Mode menu and you can select it.  You can then select it
+again to toggle it off.  This mode is something like Analyze File
+(which has a problematic UI too, but somewhat less so); both should
+probably use a similar UI style.  I consider disabling the
+step-forward button to be overkill, and I think you need to manually
+turn off auto-step when loading a game (?).  One user expected it to
+work with .epd files that give a position and a recommended move.
+That seems reasonable, but doing it would require quite different code
+from the current pgn-game training mode.
+
+383. Premove piece drop for bughouse/crazyhouse.
+
+384. Pre-first-move for xboard.  I don't much like the fill-in field
+method used in winboard.  Maybe allow a move to be made for white
+before the game starts (in both xboard and winboard).  If you get
+black, it's cancelled.  Black can already premove after the game
+starts, during white's first move think time, so I don't see that a
+black pre-first-move is needed.
+
+**387. Have winboard draw opaque details on black pieces too.
+Hmm, this should probably be optional, and the detail colors should
+be selectable instead of hardwired to the opposite piece color.
+[The 4.3 -allWhite option goes in this direction. Details always
+in black, though.]
+
+**387a. Add "no piece border" option to WinBoard.  See code from
+Robert Jurjevic sent 4/9/2001.
+
+391. I have a bug report from Stefan Zipproth about engines sometimes
+failing to make their first move in an engine-engine match.  So far I
+can't reproduce it.  This might be fixed by the Sleep(500) voodoo in 4.2.4.
+
+394. See about tightening matching for the "request" event.  Right now
+it matches on help files a bit too often.  (e.g. FICS "help sr_info")
+**Also clarify documentation on what the request event is.
+
+396. xboard's -size defaulting code for bitmaps unfortunately always
+picks a size from the built-in list, even if you gave the
+-bitmapDirectory option.  It would be more user-friendly to have some
+extra code that lists the directory and considers exactly the sizes
+that are found there, as the pixmap code does.
+
+397. It would be nice to be able to configure xboard with bitmap
+pieces as the default without having to disable xpm support entirely.
+This should be a pretty simple mod to configure.in (and xboard.c).
+
+397a. It would be very nice to be able to compile in both the bitmap
+and pixmap pieces.  This would allow us to automatically switch to bitmap
+pieces in -mono mode, including when -mono mode was automatically selected
+because too few colors were available.
+
+398. It would be nice to have the new .xpm pieces in .xim format too,
+since I restrained myself from ripping out the .xim support.
+
+399. It would be nice to have a configure option to change the
+directory where the default piece set is taken from.  Slightly nicer
+than having to rename the desired directory to "bitmaps" or "pixmaps"
+as at present.
+
+400. TypeinMove should be grayed in ICS mode, or should raise the
+console window, or something.
+
+402. Internationalization.  It probably isn't practical to retrofit
+this into the current code base. [4.2.8 and 4.4 have international-
+ization of xboard.]
+
+409. One user requested a way to put a time delay in the middle of
+sending zippyGameEnd commands.  This would (for example) let the
+computer do a seek only if its opponent doesn't accept a rematch
+within 10 seconds.  Nontrivial because Zippy has to continue to listen
+to input during the delay; it can't simply call sleep().  Maybe
+ScheduleDelayedEvent is OK, but I think it may already be in use in
+this situation, and it only supports one event at a time.
+
+411. Add zippyKibitzThinking and zippyWhisperThinking features?
+[4.3 has an -autoKibitz option]
+
+412. Maybe optimize setting the move list in the case where only the
+current move number changes; avoid slow XawListChange.
+
+**413. Add movelist window to WinBoard too.  Wilkin Ng submitted a
+patch that I believe includes this; need to integrate and test it.
+
+**415. It was suggested that a few common options that many chess
+engines need be promoted to xboard/WinBoard options so that the user
+can set them from the GUI in a uniform way.  In particular: hash size,
+directory name for endgame tables. [4.3 has extended WB protocol
+with a memory, egtpath and cores command.]
+
+**416. Can we avoid dying when xboard is in 8-bit mode, pixmap pieces
+are chosen (by default), and we can't get enough colors?  Ugh.
+
+**419. It was suggested that stat01 be generated/accepted during normal
+play with "post" on, not just during analysis mode.  This would need
+to be a "feature" command option.
+
+422. Track FICS change to details of how timeseal works; is this
+implemented at FICS yet?
+
+423. When locally stepping through an ICS game that is over, it would
+be nice to display the historical clock times at each move.
+
+424. DAV at Thu Nov 9, 01:20 CST 2000: any chance on winboard/xboard
+of a key press and a move executing draw <move>?  that way you at least
+have a chance of claiming a draw in 1 0.
+
+**426. DAV says, in xboard: If you are not on clock and you hover a
+piece over a square where your opponent then moves to and then move
+the piece away the piece the opp moved or part of it has not been
+drawn.  [Duplicate of bug 241?]
+
+429a. Check whether more support is needed for WinBoard to work with
+scroll wheel mice in the absence of special mouse drivers that generate
+scroll bar events directly.
+
+431. People find Analyze File confusing; they think it should do
+Crafty's relatively new Annotate function.  Also, it's somewhat
+superfluous now that you can enter Analysis mode and then load the
+file, or vice versa.
+
+**436. WinBoard is said to crash if started while WinBoard.debug is
+being tail -f'ed.
+
+**441. Can I prevent an undo after new in the odd case where it can
+happen now?  See mail from Bob Hyatt.
+
+450. Suggested: an option to let an engine keep pondering while an ICC
+game is adjourned.  This seems a bit difficult.
+
+451. Suggested: support SuperMamer messages on FICS, aka qtells.  See
+http://www.freechess.org/SuperMamer/parsing.html.
+
+452. Suggested: a way to say "prompt for the password" in a login.ini file.
+See 510 instead.
+
+**454. Add a way to claim a draw together with making a move, as can
+be needed for draw by repetition (creating the 3rd repetition with the
+move) and by the 50 move rule (the move is the 50th).  Add to
+protocol, and implement using the individual methods on FICS and ICC.
+Need to be sure it's really a FICS that has the feature (somehow).
+[Fixed in 4.3 by usng 'offer draw' for this purpose]
+
+455. Suggested: Add the epdkit commands such as epdpfga to the
+protocol, since Crafty and "many" (which?) other engines include the
+epdkit.
+
+**456. Bob Hyatt suggests: "feature match=1" which says "send match
+requests to the engine and let it decide on who to play next".
+I.e., maybe send an abbreviated but fixed format message like this:
+match <opponent_name> time inc R/U.  The engine would use "tellics
+accept <opponent_name>" to accept.  Add as feature to protover 3.
+
+**457. Standardize on the meaning of scores (e.g. in stat01 responses).
+Is positive good for white or good for the engine?  Do certain scores
+mean forced (tablebase) draw, or forced mate in N?  This should align
+with the EPD spec.  Maybe a feature command should indicate that the
+engine matches this part of the spec, but then again, it's not clear
+what we can do about it if the engine doesn't give that command, so
+maybe there is no point.  See discussion on chess-engines list.
+[Winboard_x adds an argument to tell WinBoard an egine uses absolute
+scores]
+
+458. Bug: xboard will try to use an engine to play normal chess even
+if the engine has given the feature variant command and did not
+include "normal" on the list.  Crafty 18.1 inadvertently relies on
+this bug, so it probably can't be fixed right away.
+
+**468. Need to look at Wilkin Ng's contributions!
+
+**469. Look at Zippy's behavior if the operator observes, follows,
+examines, etc.  Some bugs in this area have been fixed, but it's
+received very little testing, as Zippy was never meant to be used that
+way.  Noted later: Examining in -zp mode definitely has problems.  If
+you go forward one move at a time, moves are sent to the engine
+correctly.  If you go backward one move, "undo" is not sent to engine
+as it needs to be.  Going forward or back by more than one move at a
+time needs to be looked at too.
+
+**471. Look at 3/17/2001 message from Laszlo Vecsey about crashes when
+exiting on Win ME while data is coming in from the server.
+
+**473. Visual low-time indicator.  See patch in Brian Mays message of
+3/27/2001.
+
+**474. Crash reported when sending certain 8-bit characters through
+WinBoard (180, 167, others).  I'm almost certain this is a FICS
+timeseal issue and nothing to do with WinBoard itself.
+
+**475. Look at Laszlo Vecsey's mousewheel patch of 4/10/2001.
+
+476. For some reason (I guess some GUI supports them), most WinBoard
+engines now have a graphical logo, 100x50 pixels in Windows .bmp
+format.  It's been requested that WinBoard have a place to show the
+logo. [4.3.16 supports logos]
+
+477. Implement the "book engine" idea I proposed in the protover 3
+discussions.  Some folks have offered to write them (e.g., Bruce
+Morland). [4.3.15 supports a GUI book, which is another way to
+acheive the same, as the only thing that would distinguish book
+engines is their book, not what they do.]
+
+478. Recognize URLs in the WinBoard ics interaction window and make
+them work as hyperlinks (firing up your browser).
+
+**479. Possibly use Scott Gasch's 7 May 2001 patch to delay accepting
+challenges when ping > pong instead of declining them.  Bug: if you
+get more than one challenge, Scott's patch forgets about all but the
+last one.  If that guy then withdraws his challenge, the others are
+left in limbo, neither accepted nor declined.  I suppose we could
+decline challenges when there is one waiting.  However, if we make the
+change to optionally pass match requests through to the engine, Bruce
+Moreland would like us to queue up challenges and pass them all on.
+
+481. 8 May 2001, Bob Hyatt "matchscore" feature suggestion could go in
+protover 3: "matchscore A B C D E says we are in a match, this is game
+A of B games.  The current match score is I have won C, drawn D, and
+lost E games in this match.  This would give the engine a chance to
+adjust the draw score as needed to try to win the match rather than
+just trying to win a single game."
+
+**482. Suggestion from Bruce Moreland: if the user goes into ICS
+examine mode while -zp is active, and the engine supports analyze,
+then put it into analyze mode and let it work on the examined game.  I
+guess this could work for observed games too.  Should it be optional
+or always done? [4.2.8 and 4.4 support analysis in zippy mode, but
+as yet only while observing games.]
+
+483.  It would be nice if the KingShine 3D board could be integrated
+as an alternative xboard GUI rendering.
+
+**484.  Add -feature1 and -feature2 options to pretend the engine sent
+us those feature commands.  Useful kludge for certain buggy engines.
+
+485. Add "reset" to protover 3.  (Clear the hash tables and other such
+info; used to put the engine into a known state before running a
+test/benchmark position.) [the WB 'memory' command could be defined
+to have this side effect? Normally we would have to clear the hash
+table when changing its size.]
+
+486. Other protover 3 features listed in my 6/21/2001 message to
+chess-engines list.  Write a full protover 3 draft for comment.
+[Note that 4.3 already uses protocol extensions that differ from
+the v3 specs.]
+
+487. Adjudicate non-ICS games as a draw when there is insufficient
+mating material on both sides, especially engine/engine games.  Well,
+maybe.  I argued against this in a 6/26/2001 message to chess-engines.
+[Added in 4.3]
+
+487a. Probably also adjudicate when we detect checkmate or stalemate,
+before bothering to notice whether the engine detected this. [Added
+in 4.3]
+
+487b. Note: Do not adjudicate 50 move rule or 3x repetition since those
+must be claimed by a player -- at least not by default.  It would be
+OK to have a flag to do this someday when we are smart enough to
+notice it.  Would definitely be good to be smart enough to notice an
+incorrect draw claim by an engine. [In 4.3 you can set the number of 
+moves or repeats after which draw is adjudicated]
+
+487c. Another request: allow the operator to adjudicate engine/engine games.
+[Winboard_x provided menu items for this.]
+
+488. Option to suppress tags popup on game load?  This has been
+requested a few times, and I received one partial implementation (not
+enough to be useful).  Needs to be on the options menu, etc.  Note
+conflict with 298 above.
+
+488a. Also option to suppress comment popups.
+
+489. Maybe have Zippy use xtell for tells to avoid redefining "." if
+the operator is also doing tells.  Do all ICSes support xtell, though?
+
+490. Bruce Moreland request: a way to turn Zippy auto-accept on and
+off dynamically.
+
+491. Bruce Moreland request: a defined way to turn on/off PV (etc.)
+kibitzing from the engine dynamically.  I had thought it would be
+better to make the GUI able to relay thinking output as kibitzing on
+its own (and be able to turn this on/off dynamically), but Bruce
+points out that what engine authors want to send as kibitzing output
+usually includes more than the PV thinking output. [Note that engines
+can put whatever info they want in the PV field of the thinking 
+output].
+
+492.  One user reports that GNU Chess 5 crashes if you start a game,
+play far enough to get GNU Chess out of book, select Reset, and play
+e3 in the new game.  This is probably a GNU Chess 5.00 bug, unrelated
+to WinBoard.  Can't reproduce on Linux; didn't try yet on Windows.
+Need to see if 5.02 fixes it.
+
+493.  DAV suggests stripping off first arguments that are obviously
+not the name of the engine when trying to parse out the engine name
+from its command line -- things like nice, nohup, sh, csh, bash, etc.
+Ugh, but I suppose it would be helpful sometimes.
+
+494.  Internationalization.  A couple of people have done (or told me
+they were doing) partial conversions of WinBoard to German or Spanish
+by manually translating the messages.  I think it would be much better
+(but a big job) to use GNU gettext.  I haven't looked into the details
+of that at all. [4.2.8 and 4.4 have gettext support.]
+
+495. JamesBaud points out that FEN is not sufficient to correctly
+represent a crazyhouse position (or bughouse, for that matter),
+because it does not distinguish promoted pawns that will revert when
+captured from real pieces.  ICS style 12 also does not give us this
+information.  I really don't know what I could do about this -- take
+the lead in proposing an extension to FEN and to style 12 with new
+piece letters, I suppose.  I don't really have time or motivation for
+that.  If you always use PGN, not FEN, to save Crazyhouse, that works
+around the problem. [4.3 uses bFENs which fix this, but not in ICS
+mode]
+
+**496. DAV sent some code to save a screen shot in xboard.  Look at
+merging this in. [4.3 has an option to save the board display (but
+not the entire window) as bitmap.]
+
+**497. Igor Eged reports: I make a move on opponents time using
+premove. Right in the time I am holding another piece in case of
+unexpected check that I can have other possibility. But then the piece
+hangs in the void and its invalid move, what means often loss in 1 0
+lightning.
+
+498. It would be nice for Zippy to be able to play ICC wild 20 and 21
+(the types where loadgame is allowed).  Presumably there would have to
+be an option to either send the loadgame command with a specified
+position, or to deal with an opponent sending it.  I'm not sure how
+this should work exactly, or how to prevent opponents from cheating in
+various ways.
+
+499. It would be nice for Zippy to be able to switch amongst several
+different engines depending on which variant type is being played.
+
+500. It would be nice if Zippy could have an option to accept
+takebacks.  Hmmm, also, the operator might want to manually offer a
+takeback; it would be good if that worked.
+
+501. People would like to be able to add more bot functionality to
+Zippy without C programming.  I don't have any ideas on how to do that.
+
+502. One user requests the ability to have a game list file open for
+more than one PGN file at a time.
+
+503. We don't do protover 2 feature negotiation properly when
+restarting an engine due to -xreuse mode.  The timeout and done=0/1
+features don't work on the restart; instead we basically assume that
+all the features will be the same as last time and that the engine
+will be ready to accept commands immediately.  This probably doesn't
+cause a lot of problems, but if you try to replace the engine with one
+that sets different features, the changes might not be noticed before
+the first move, and the defaults will be the values from the old
+engine, not the documented defaults.  Also, if the engine takes time
+to initialize and wants us to wait to send commands until it says
+done=1, we fail to wait.  However, we do send commands in the right
+order and use ping, so most engines should work fine.
+
+506. One user wants a board size even smaller than Tiny.
+
+507. Suggested: have the cursor change to a gripping hand while moving
+pieces.  Currently in WinBoard it's always an arrow, while in xboard
+it's always a hand with pointing finger while over the board and an
+arrow elsewhere.
+
+508. It would be nice to make -xclock work with -ics, just for
+orthogonality, though it's not terribly useful.
+
+509. It would be nice to make -clock work with -st.  Perhaps each
+player's clock should start with the specified time on each move and
+count down until he moves.
+
+**510. A FICS service rep tells me that many users expect an autologin
+feature in winboard (other than the non-user-friendly login.ini file).
+Seems easy enough to add such a thing.
+
+512. Some users dislike the clocks counting in tenths when below 10
+seconds, as it's distracting, and would like this to be configurable.
+(From the Debian bug tracking system.)
+
+513. Perhaps have Alt+P and Alt+C as synonyms for Pause in WinBoard,
+since the P or C on the button makes it look like that should be the
+shortcut.  I suppose Alt+< and Alt+>, and the same with Shift for <<
+and >>, would also be a good idea.  Oops, but Alt+C is already
+CopyGame, so maybe this is a bad idea.
+
+514. Gian-Carlo Pascutto reports: "when pasting a FEN/EPD position
+into WinBoard, and selecting analysis mode, the engine analyses the
+starting position instead of the pasted one. Re-pasting fixes this."
+
+515. Troy Edwards suggests: "It would be nice to have the option to
+'wrap text' in the comment window."
+
+516. DAV says: "FICS now supports the setting and the making clocks
+tick using unpause/pause in examine mode. It seems either the clocks
+don't tick or are not present when using xboard. Is it possible to
+change the policy and base things upon the clock is paused flag in
+style 12?"
+
+517. Clarify in engine-intf.html that "sd" is an extra dumbing-down
+feature, not a time control.  Some text:
+
+In the protocol, the "sd" command isn't a time control.  It doesn't
+say that your engine has unlimited time but must search to exactly the
+given depth.  It says that you should pay attention to the time
+control as normal, but cut off the search at the specified depth even
+if you have time to search deeper.  If you don't have time to search
+to the specified depth, given your normal time management algorithm,
+then you will want to stop sooner than the given depth.
+
+The "new" command should set the search depth back to unlimited.  This
+is already stated in the spec.  The "level" command should not affect
+the search depth.  As it happens, xboard/WinBoard currently always
+sends sd (if needed) right after level, but that isn't part of the
+spec. [Added to the specs that go with 4.4]
+
+518. Warn in doc that -initString is a dangerous feature.  Also move
+doc of dalogs for sending commands directly to the engine out of the
+protocol spec and into the man page and help file, but warn they are
+dangerous too.
+
+519. In engine-intf.html, change "st" description to not use the word
+"exact", which is misleading.  Make sure it says this is the maximum
+time per move (and does not accumulate).
+
+520. Check whether Alt+C (CopyGame) works in XP.  One user says it
+gives an error message.
+
+522. engine-intf.html should really be rewritten to describe the
+protocol as a state machine (on each end), with every command
+precisely defined as to what it does in each state (including perhaps
+being illegal).
+
+523. Figure out what, if anything, to do with the FICS "iset singleboard".
+I lean toward not bothering to set it, as it only disables functionality,
+but maybe I'm confused.
+
+524. theblob at Mon Mar 4, 23:23 PST 2002: it'd be nice in the xboard
+interaction window if control-w and control-u respectively erased the
+line and word, even in a Windows environment.  At least, I think it'd
+be nice.
+
+525. Support a 64-bit node counter in analysis mode when compiled with
+something that has 64-bit integer support.  Both gcc and msvc++ have
+this, though under different names. [Done in 4.2.8 and 4.4]
+
+526. "-initialMode analysis -lgf -" doesn't get the engine into
+analysis mode properly.  "-initialMode analyzeFile" is a workaround,
+but bug should be fixed.
+
+527. Clarify ICS.ini more in the doc, if possible.  Some sample words:
+> You should create this file in
+> WinBoard's directory (usually C:\Program Files\WinBoard) using a plain
+> text editor such as Notepad.  Make sure that Notepad doesn't decide to
+> call the file ICS.ini.txt for you -- you may have to select "All
+> Files" instead of "Text Files" in the Notepad save dialog.
+>
+> The file is simply sent to the chess server, just as if you had typed it.
+> So if your username is foo and password is bar, the file would look
+> like what is between ==== below, without the ===='s:
+>
+> ====
+> foo
+> bar
+> iset movecase 1
+> ====
+
+528. Check on updates/revisions to PGN from Steven Edwards and others.
+Any support needed?
+
+529. Protover 3 needs a prefix character that says "this is debug
+output" and prevents the GUI from parsing that line (say ";").
+[4.3 uses '#' for this purpose, when the engine sets feature debug=1]
+
+530. The undocumented (?) checking for rsh error messages tripped up
+one engine author who had a "not found" in a message.  Tighten this
+up.
+
+531. Do we always wait for pongs to catch up with pings before
+starting the engine's clock?  I suppose we should.
+
+532. On FICS the clock does not start until after the first move has
+been made.  So perhaps we don't need the "not ready, try again soon"
+response from Zippy there.  What if Zippy is black, does black's clock
+also not start until he makes his first move?
+
+533. theblob at Mon Jun 24, 20:05 PDT 2002: here's a suggestion for
+xboard -- give priority to fitting in amounts of material in the title
+bar, and truncate names instead, e.g., use "tyrionsAp...(50) vs. woden
+(51)" rather than "TyrionsApprentice (50) vs. woden..." -- it's much
+more important to see the material than the full names, especially
+when you're playing.
+
+534. Steffen Jakob reports: "I use xboard 4.2.6. Yesterday I played
+some bullet games at ICC. In one game I lost on time. In the last move
+I already clicked on my queen and wanted it to move to its destination
+square when I forfeited on time.  After that my mouse pointer was the
+queen piece. I couldnt drop it to any square."
+
+535. For protover 3, the "st" command in the protocol could be
+extended to allow for smaller units, not just seconds.
+
+537. Clarify in the protocol that "force" while searching means you
+should stop the search as soon as you can.  (Isn't this clear
+already?)
+
+538. Need a way for the user to adjust the clocks.  This is important
+for WCCC and other computer competitions, where xboard/winboard's
+clock is not the master.  I was going to do it in time for the July
+2002 WCCC.  Oops. [4.3 allows adjusting the clocks by clicking them
+in 'edit game' mode, in steps of 1 minute]
+
+541. Related to #327, John Iverson says, "It would be nice to have the
+coordinates shown outside of the board along the edges, rather than in
+the squares where they are hard to see and give a cluttered
+appearance, especially on smaller board sizes.  (The coordinates can
+be handy in certain situations, such as posting a screenshot of xboard
+showing an email game in progress, with the view flipped.)"
+
+542. If you start xboard with the -geometry NxM option, it will
+dutifully make the window exactly that size, but it doesn't choose a
+-size option that fits into such a window size, so the board is cut
+off or has a lot of whitespace around it.  In fact, the layout is
+generally messed up because the code doesn't expect the window to be
+the wrong size for the layout.  We should at least ignore the size
+part of the -geometry option if we aren't going to do something
+sensible with it.  How is that done with Xt?
+
+543. See the patches and extensions on
+http://www.tim-mann.org/extensions.html#patches and integrate those
+that are worthwhile into the main code base.  (Some are also mentioned
+elsewhere in this ToDo list.)  They are pretty much all over 15 lines,
+so copyright assignment from their authors is needed.  Unfortunately
+some of the authors may be hard to reach.
+
+544. Possibly rework looking_at pattern matching to have a "match at
+beginning of line" character (perhaps ^).  It looks like this may
+actually be useful after all.  The historical cases where you could
+get a board or other output that needs parsing on the same line as a
+prompt *may* have been fixed.  Confirming this would need testing on
+all the ICSes that are in use.
+
+546. Odd bug reported by travelGirl.  The last line of a multi-line
+macro from the ICS context menu sometimes "sticks" at the bottom of
+the ICS interaction window.  New text gets inserted before instead of
+after it.  This started when she upgraded to win2k.  See mail.
+
+548. Guido Flohr reports:
+
+Another "not really a bug" problem: When xboard forks in order to
+start a second chess engine, it is only concerned about duplicating
+the descriptors for the standard channels in the child.  This is
+very interesting for the second chess engine, since it inherits the
+pipes to its opponent, and can use them for sending commands like
+"sd 2", "easy", or even for feeding a bogus FEN string into the
+first engine (exchanging the opponent's queen with a bishop looks
+really attractive to me).  A very interesting feature, but not exactly
+what you intended? ;-)
+
+Closing the other descriptors after the fork will not completely
+avoid the problem, since - at least under Solaris and Linux - it
+is still possible to peek and write into xboard's open descriptors via the
+/proc pseudo file system (unless you make xboard setuid root), but
+leaving them open, makes this cheat very obvious.
+
+549. "Ron" (no last name given) reports that when compiling WinBoard
+under VC++ 6.0, there are many warnings.  These ought to be looked at.
+
+551. "Miguel" (no last name given) reports "When you make a premove in
+Winboard 4.2.6, and then opponent move and premove is illegal, then
+and you try to make a legal move but you cannot, because piece are
+erased and you have to replace your move again, move twice... in
+lightining this is annoying."  I'm not really sure what that means or
+if it is the same bug as 497.
+
+552. Get rid of the need for proprietary tools to build WinBoard.
+It's already possible to compile winboard.exe using the Cygwin
+toolchain.  You can even compile it with -mno-cygwin to avoid the need
+for cygwin1.dll.  However:
+
+552a. The Help file needs Microsoft Word to edit the source file
+winboard.rtf and the Microsoft Help Compiler to compile it into
+winboard.hlp.  I tried using OpenOffice.org on the RTF file, but the
+result was missing some formatting that the help compiler needs.  The
+help compiler itself is a free-as-in-beer download, but it's still
+proprietary software.  Perhaps the help could be converted to vanilla
+HTML, at the cost of losing the index and search capability.
+
+552b. The WinBoard installer package is built with InstallShield.
+  Possible replacements:
+  Inno Setup (http://www.jrsoftware.org/isinfo.php) - looks best
+  NSIS (http://nsis.sourceforge.net/site/index.php)
+  Cygwin setup (http://www.cygwin.com) - a long shot
+
+552c. Although the cygwin resource compiler works on winboard.rc, it's
+a pain to create new dialogs by editing the text file.  The original
+ones were all created using the graphical dialog editor in MSVC 5.
+
+553. It would be nice for xboard's ICS Input box to have a history 
+feature similar to WinBoard's ICS Interaction window. Actually it 
+would be nice for xboard to have its own ICS Interaction window with 
+all the bells and whistles that WinBoard's has instead of limping 
+along using an xterm for interaction. 
+
+**554. Port evaluation-graph window to XBoard.
+
+555. Split x/wengineoutput.c in a front-end and common backend file.
+
+556. Fix -stickyWindows option under XP and Vista, and port to XBoard.
+
+557. Port display of engine logos to XBoard.
+
+558. Device a smart way for -autoLogo to select logos in other modes
+than Two Machines.
+
+
+
+* * *
+
+Before each release:
+- make sure both xboard and winboard build and are up to date with each other
+- run zippy with new version as a shakedown
+- be sure gnu5 binary is up to date in winboard, and gnu5 patch (if needed)
+  is included in both xboard and winboard kits 
+- recheck cygwin compiling winboard
+- make sure ChangeLog is complete
+- test changes
+
+*** up to date with mail received through 5 Nov 2003, except
+for the "protover 3" discussions on the chess-engines mailing list ***