Merge commit 'v4.3.16'
[xboard.git] / ToDo
diff --git a/ToDo b/ToDo
index 08db643..2ffa540 100644 (file)
--- a/ToDo
+++ b/ToDo
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.]
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-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.
-
-326a. Menu to let you see and change the current variant type, not
-just a command-line argument as at present.
-
-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.  
-
-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.
-
-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.)
-
-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.
-
-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.
-
-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.
-
-**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.
-
-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?
-
-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.
-
-**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).
-
-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.
-
-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.
-
-477. Implement the "book engine" idea I proposed in the protover 3
-discussions.  Some folks have offered to write them (e.g., Bruce
-Morland).
-
-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?
-
-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.)
-
-486. Other protover 3 features listed in my 6/21/2001 message to
-chess-engines list.  Write a full protover 3 draft for comment.
-
-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.
-
-487a. Probably also adjudicate when we detect checkmate or stalemate,
-before bothering to notice whether the engine detected this.
-
-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.
-
-487c. Another request: allow the operator to adjudicate engine/engine games.
-
-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.
-
-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.
-
-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.
-
-**496. DAV sent some code to save a screen shot in xboard.  Look at
-merging this in.
-
-**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.
-
-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.
-
-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 ";").
-
-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.
-
-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.
-
-* * *
-
-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 ***
+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