diff options
| author | John Wiegley <johnw@newartisans.com> | 2008-09-17 05:58:42 -0400 |
|---|---|---|
| committer | John Wiegley <johnw@newartisans.com> | 2008-09-17 05:58:42 -0400 |
| commit | 32206cc79b8714567c47837b1d1d9a7d1dc66613 (patch) | |
| tree | b68e413a7e34379d9a0e578c53812bba772c9fe7 /TODO | |
| parent | 387d6dd0a254785ed3f50b8664b35f17f6b873ce (diff) | |
Sorted the TODO file.
Diffstat (limited to 'TODO')
| -rw-r--r-- | TODO | 590 |
1 files changed, 295 insertions, 295 deletions
@@ -6,197 +6,163 @@ EMACS-CHESS -*- mode: org; fill-column: 78 -*- #+TAGS: FEATURE(f) DOCS(d) BUILD(b) #+CATEGORY: Chess -* TODO [#B] Make the "debug level" configurable - The speedup from (setq cl-optimize-speed 9) in chess-pos.el is due to - eliding assert calls. This basically makes asserts useless since they are - now turned off unconditionally. It would be nice to have a kind of - "--enable-debug" or somesuch at configure time to make this obvious. - :PROPERTIES: - :ID: 130D8091-A1F5-43DC-AFBA-BFDB5D1ADEDF - :END: - [2008-09-10 Wed 17:04] -* DONE [#B] scid: chess-scid-get-result fails on some machines (timing?) - - State "DONE" [2008-09-17 Wed 05:49] \\ - Fixed by adding more delays in case text has not appeared from the command. - - State "STARTED" [2008-09-16 Tue 04:38] \\ - I believe I have a fix for this, commit - 33d57dc0f667c8d1168b46f9e73d9510d8c7e518, but I must await Mario's test on his - 8 CPU machine. - It happens on a fast 8-CPU machine of mine that chess-scid-get-result - returns the empty string. The reason for this is that sometimes, the prompt - is not output immediately after a result, so upon next call to - chess-scid-get-result the first output we see is the prompt ("% ") from the - previous command which due to the current algo results in - chess-scid-get-result returning "". It would need to continue reading if it - sees a prompt as first output. Waiting until we see a prompt to make sure - we have all the output results in *very slow* behaviour, maybe due to - line-buffering (the prompt has no final \n, obviously), so we probably shoud - skip over prompt and continue reading. +* TODO A way to keep a correspondence players database in BBDB :FEATURE: :PROPERTIES: - :ID: AF51A38C-36B6-4976-954D-0BCD6C1A81FD + :ID: 8D40AD04-2392-410E-BDFE-AA80381E2BCB :END: - [2008-09-08 Mon 23:41] -* TODO [#B] display: Sometimes final event of game doesn't change modeline - - Note taken on [2008-09-03 Wed 04:18] \\ - I just had it happen again tonight, when I resigned with C-c C-r, and it - showed up in the *chess-ics* buffer, but it didn't update the modeline. - Like CHECKMATE, FLAG FELL, or RESIGN +* TODO Add `force' event for forcing an engine to move :FEATURE: + And a command from chess-display to send this event. :PROPERTIES: - :ID: 316BD168-29A8-4B54-830C-FA5CEA397518 + :ID: E88AE290-D2DD-4445-942E-E9DE09596A1F :END: - [2008-09-02 Tue] -* TODO [#B] Fix errors from the validation suite - Error reading game 336249: PGN parser: Expected a ply here: '30' - Error reading game 443436: PGN parser: Expected a ply here: 'Rf2' - Error reading game 465586: PGN parser: Expected a ply here: 'R' +* TODO Add a chess tutor program, to teach people how to play chess :FEATURE: :PROPERTIES: - :ID: 01CFDC4F-350C-472B-A4F6-DFE4503B6D05 + :ID: 8AA53467-6D89-4C27-AF05-4AE793EA6A2E :END: - [2008-09-02 Tue] -* TODO [#B] Make the chess-ics-sought buffer read-only +* TODO Add a Map command, that will colorize the squares :FEATURE: + Depending on whether they are reachable by either side. Green if reachable + by you, Red if by your opponent, and blue if by both. With a prefix + argument, colorize only the squares that have pieces on them. This is a + stable modes that remains in effect until turned off. It also requires the + ability to pass a color to the chessboard highlighting routine. :PROPERTIES: - :ID: D416E179-252C-49CE-8BAA-06B31364116F + :ID: B2012331-0F7F-488D-BFDC-2C08E2E018FB :END: - [2008-09-02 Tue] -* TODO [#B] Sought games are not being selected for me when I press RET +* TODO Add an analyze command :FEATURE: + That will indicate which pieces are defended, how well, which are attacked, + which moves would increase defense/attack/both, etc. Basically, everything + that can be known about the current board, and one move ahead (on both + sides). :PROPERTIES: - :ID: 06F3AD0F-B44D-4845-B345-4406AF8D3212 + :ID: 8439E0A2-6ED6-489D-94EF-9033F76210EE :END: - [2008-09-02 Tue] -* TODO [#B] Sometimes the chess-ics-sought buffer doesn't appear +* TODO Add an engine function for obtaining a position evaluation :FEATURE: + Then, allow M-x chess to startup a non-game oriented engine, solely for the + purpose of submitting position evaluations, and displaying the result in the + modeline. (Also, look at crafty's kibitzing feature). :PROPERTIES: - :ID: A3499CBB-5C0D-4C1B-872C-DC4E7D46CA73 + :ID: BE3EAF49-622E-4300-9D63-CB00B5F738F7 :END: - [2008-09-02 Tue] -* DONE [#B] Sometimes a chess-test run fails to recognize promotions - - State "DONE" [2008-09-02 Tue 22:31] \\ - Fixed. This appears to be a bug in looking-at/match-string, but it only - occurs under high load and certain circumstances. I was able to get around it - by examining the buffer directly. - - Note taken on [2008-09-01 Mon 05:35] \\ - This happens on game 2030188. +* TODO Add chess-ucb to the list of modules created via M-x chess + Right now there is no facility for having two engines associated with a + single game (and chess-link is not what we want in this case). :PROPERTIES: - :ID: 431304B0-E8B9-485E-82B5-D4DF900C27DF + :ID: 8C355AA3-46DD-4261-BC7C-4028CDF42854 :END: - [2008-09-01 Mon] -* TODO [#C] Investigate the performance possibilities researched by Mario - Well, I've played a little with a few transformations but I haven't managed - to get any substantial speedup. Things I see are: - - - char-valid-p is called at least three times, the value could be saved in - the toplevel let*. - - I am not sure but I think I read inline quoted lists can be slower. I - tried to define the direction lists as a alist in a defconst, but it - didnt't really show as a speedup... - - The chess--add-candidates defsubst does needless check of check-only in - some cases. I.e., if we rewrite the first cond clause to do different - things if check-only is t or nil, that might also do a bit. - - But really, I didnt find anything worthwhile... Maybe it could make sense to - have a separate function to handle the (memq piece '(nil t)) case. +* TODO [#C] Add docstrings/texi content :PROPERTIES: - :ID: 24E8AD24-067C-4130-9616-63D5DFF60231 + :ID: 7BC85C08-7A3B-4A09-94C6-9AF10180924B :END: - [2008-09-01 Mon] -* DONE [#B] chess-auto.el is not being built properly :BUILD: - - State "DONE" [2008-09-01 Mon 21:16] +* TODO Add slots to positions for tracking positional evaluation :FEATURE: + These values can be automatically determined when parsing ICS12. :PROPERTIES: - :ID: 184AF780-815B-43DB-87A4-0A81DE252AB0 + :ID: 608A74EE-9699-406B-B57A-08BFECBC9FEB :END: - [2008-08-31 Sun] -* DONE [#B] scid: The buffer needs periodic clearing, or it grows too large - - State "DONE" [2008-09-01 Mon 21:16] +* TODO Add support for adjournments :FEATURE: + Also, implement this is such a way that an e-mail or postal game is + basically a game that's adjourned after every move; use BBDB if available :PROPERTIES: - :ID: 272CE75E-122A-4AEA-8A03-9CD2041895EA + :ID: D41A3E75-04FB-4EC8-A64C-7BD54658AA78 :END: - [2008-09-01 Mon] -* TODO display: Make highlight colors easily customizable +* TODO Add warning mode that uses analysis results to warn the user :FEATURE: + And ask for confirmation before doing something that might lead to an + inferior position. :PROPERTIES: - :ID: D0842841-9E89-49A3-9EEB-5FA4D251FE41 + :ID: 9EF1FA72-EDC9-4C97-B699-A0DF8EE1893B :END: -* TODO display: Draw move highlights as a border, not a background - This should be optional, since backgrounds can look nice too. +* TODO Allow the opponent to give hints :FEATURE: :PROPERTIES: - :ID: 5A7A3C73-5105-4BAB-A027-79310B9CD061 + :ID: 068BE26D-4D81-44CD-A4EB-04F15D5064FB :END: -* TODO display: Always validate the display before painting - This will require adding a new text property to each square on the board, - `chess-piece', so that the validator can walk through the displayed board - and ensure that it matches the known position for that board. +* TODO autosave: Doesn't support undoing of moves :PROPERTIES: - :ID: 169EB9E9-ED82-4FA7-AE8A-129FFFE419F6 + :ID: 80E09658-6D7E-4DD5-A077-E3CDB80F6003 :END: * TODO autosave: This module currently isn't working at all! :PROPERTIES: :ID: D31ED224-7C1E-4171-AE38-AE87D0032743 :END: -* TODO autosave: Doesn't support undoing of moves +* TODO Change chess-announce/sound so it reads the text rendered move :FEATURE: + Such as "king's pawn to e4". + + This way it will work with either descriptive or algebraic notation. Also, + chess-announce and chess-sound can be collapsed into one module, with + different "styles" of announcing. :PROPERTIES: - :ID: 80E09658-6D7E-4DD5-A077-E3CDB80F6003 + :ID: B7090875-BB45-438D-B7C9-CC7A0524D98B :END: -* TODO clock: Sometimes, the clock gets shut off while playing on ICS +* TODO [#C] Clean up chess.el :PROPERTIES: - :ID: 5130D83E-91A4-4FFD-B62F-DFD8345B06AC + :ID: F2CC192E-8AD3-47BD-9A9F-3990BA1206A2 :END: -* TODO irc: If move before opponent connects, symbol assertion "value" +* TODO clock: Sometimes, the clock gets shut off while playing on ICS :PROPERTIES: - :ID: DCCEB9D3-0F5F-484C-9D4E-A0B7801F101D + :ID: 5130D83E-91A4-4FFD-B62F-DFD8345B06AC :END: -* TODO network: Does not work at all! +* TODO Create a better error hierarchy :FEATURE: + Instead of using (error), we should be throwing specialized signals that + indicate whether it's a problem with a ply, a position, a move, etc. And + then this data object should be included with the error. :PROPERTIES: - :ID: AC39392F-57EF-4D79-A718-DEB4B24DFC5D + :ID: 323563C6-2A99-4B01-A29B-BEB09166C103 :END: -* TODO gnuchess: Triggers a Lisp error when I resign + [2008-08-31 Sun] +* TODO Create generic chess-output interface :FEATURE: + For outputting games to a particular format (PGN, HTML, LaTeX, etc). :PROPERTIES: - :ID: 8ADABEB5-BF38-4A71-949F-074048AED7B0 + :ID: A7F64797-4827-4EF6-BFE4-075D6F430D4E :END: -* TODO ics: Takebacks still aren't working 100% - When I submit a takeback request manually, and the other side accepts, my - client doesn't know what to do with it +* TODO Display in modeline which game in the database we're in :FEATURE: + And what the positional evaluation is. :PROPERTIES: - :ID: 67BF2EFF-66E6-4DE3-BCD1-D1743D8C7AC3 + :ID: 6144C07C-8F6B-46B8-80A8-C736E3C843F0 :END: -* TODO ics: Accepting match request doesn't seem to be working always +* TODO display: Always validate the display before painting + This will require adding a new text property to each square on the board, + `chess-piece', so that the validator can walk through the displayed board + and ensure that it matches the known position for that board. :PROPERTIES: - :ID: 296B2B3D-B4CF-418E-8FA6-36D301D09136 + :ID: 169EB9E9-ED82-4FA7-AE8A-129FFFE419F6 :END: -* TODO ics: Resuming adjourned games does not work at all +* TODO display: Draw move highlights as a border, not a background + This should be optional, since backgrounds can look nice too. :PROPERTIES: - :ID: D2E35ADE-1CFF-4DB6-A910-DF3C886709B3 + :ID: 5A7A3C73-5105-4BAB-A027-79310B9CD061 :END: -* TODO ics: Not detecting forfeit by disconnection at the moment +* TODO display: If I win, it still reports CHECKMATE incorrectly + If I'm white, it does so on the last ply (per display) :PROPERTIES: - :ID: 0EDCC239-65B0-450F-82B9-12B1E96667D4 + :ID: 3F662E90-3F58-43E9-B59E-936F1EBC3953 :END: -* TODO If you are playing a puzzle game, and the engine is thinking - And you hit space to move to the next puzzle, then when the last move is - finally received from the engine it causes an error. +* TODO display: Make highlight colors easily customizable :PROPERTIES: - :ID: 4583E224-B5A2-47D4-906E-6374AA7AB936 + :ID: D0842841-9E89-49A3-9EEB-5FA4D251FE41 :END: -* TODO Port the code to XEmacs +* TODO display: Need "save game to a PGN file/database" command :PROPERTIES: - :ID: A633A292-722C-4566-9F5D-807675DAB8DD + :ID: 2BBA9120-1EE5-4623-9F52-DFB966EC3317 :END: -* TODO Find a way to display pieces on Windows platforms - Or at least document how to build XPM support into Emacs for Windows. +* TODO [#B] display: Sometimes final event of game doesn't change modeline + - Note taken on [2008-09-03 Wed 04:18] \\ + I just had it happen again tonight, when I resigned with C-c C-r, and it + showed up in the *chess-ics* buffer, but it didn't update the modeline. + Like CHECKMATE, FLAG FELL, or RESIGN :PROPERTIES: - :ID: D602699C-A340-41A4-BA94-876743D43F8C + :ID: 316BD168-29A8-4B54-830C-FA5CEA397518 :END: -* TODO Add chess-ucb to the list of modules created via M-x chess - Right now there is no facility for having two engines associated with a - single game (and chess-link is not what we want in this case). + [2008-09-02 Tue] +* TODO [#C] Elint all files :PROPERTIES: - :ID: 8C355AA3-46DD-4261-BC7C-4028CDF42854 + :ID: 7F56D199-279D-4DAD-AF4C-D612AFC803FA :END: -* TODO display: If I win, it still reports CHECKMATE incorrectly - If I'm white, it does so on the last ply (per display) +* TODO Enable chat module, and base its interface on what TNT does :FEATURE: :PROPERTIES: - :ID: 3F662E90-3F58-43E9-B59E-936F1EBC3953 + :ID: A5AC87EC-99B7-4522-9916-F97ED3EC5F78 :END: -* TODO display: Need "save game to a PGN file/database" command +* TODO Enable UI commands in chess-display to interact with databases :FEATURE: + As of 2.0, this support is programmatic only. :PROPERTIES: - :ID: 2BBA9120-1EE5-4623-9F52-DFB966EC3317 + :ID: 8CA4762E-4665-433E-9538-994BEDCABE21 :END: * TODO engine: Answering "y" to opponent (takeback, etc) hangs I get left with an hourglass cursor. @@ -207,55 +173,71 @@ EMACS-CHESS -*- mode: org; fill-column: 78 -*- :PROPERTIES: :ID: E0889D90-33FD-426F-AC45-6221136162D8 :END: -* TODO ply: detect games drawn by 3-fold repetition and 50 move rule - Note, FIDE rules define that a draw must be claimed by one of the opponents, - so we do not really need to do this on every move, just when a draw is - requested.) - :PROPERTIES: - :ID: 4D3BBF63-A640-483A-ACF9-CC948AEAAAC7 - :END: -* TODO pgn: When saving game to clipboard, shouldn't need to save FEN - If it's starting from a standard position (this doesn't always happen) - :PROPERTIES: - :ID: 7CB3441C-9398-42D7-A174-5F534ADA473B - :END: -* TODO pgn: Sometimes when clipping, "*" is stuck to last move's text - :PROPERTIES: - :ID: 5B737ED4-F271-425E-9F1D-1DFA7834BAFF - :END: -* TODO german: Complete translation +* TODO Enhance PGN mode :FEATURE: + Maybe pgn-mode could just allow normal editing, and bind some keys + to do special things. e.g., the mouse binding could work as normal, + SPC could update the display. So if you do + + 1 e4 SPC + + you get the move displayed. Some binding could do redisplay anyway, e.g. C-l? + Then, one could enter variations or such simply with ( or { and + the display would update automatically. + e.g., you do + + ( 15.e5 SPC Nf3 SPC ) + + and you'd get three display updates, on e5 SPC, you get that + ply, then the second one, and on ) you get the position before the + variation. Move point into the variation again, and hit C-l and you + get the pos where point is on. + + There should be a forward-ply and backward-ply, maybe something like + M-f / M-b, and C-u M-f for two plies forward? + + Very nice would be a pcomplete-based completion fascility, so + simply hit TAB at any point, and you get the right completion. + + Example: + + [Event ...] + + TAB 1.TAB ... + + On first tab, the move number is inserted. On second, you get + all possible moves in that position. :PROPERTIES: - :ID: 937301D5-2C31-4F43-83B0-FB9A0CD5F138 + :ID: 7D4ACEDE-C9D9-49E1-883F-829DB80FC5E7 :END: -* TODO [#C] Profile and mem profile - Especially try to get the validation suite running faster! +* TODO Find a way to display pieces on Windows platforms + Or at least document how to build XPM support into Emacs for Windows. :PROPERTIES: - :ID: 4A08E03C-1AEA-4C14-951A-3F8DBB2E29E7 + :ID: D602699C-A340-41A4-BA94-876743D43F8C :END: -* TODO [#C] Elint all files +* TODO [#B] Fix errors from the validation suite + Error reading game 336249: PGN parser: Expected a ply here: '30' + Error reading game 443436: PGN parser: Expected a ply here: 'Rf2' + Error reading game 465586: PGN parser: Expected a ply here: 'R' :PROPERTIES: - :ID: 7F56D199-279D-4DAD-AF4C-D612AFC803FA + :ID: 01CFDC4F-350C-472B-A4F6-DFE4503B6D05 :END: -* TODO [#C] Add docstrings/texi content + [2008-09-02 Tue] +* TODO Follow what `edit-env' does, in order to make chess-query.el :FEATURE: :PROPERTIES: - :ID: 7BC85C08-7A3B-4A09-94C6-9AF10180924B + :ID: 48F2D4F3-8B1B-4196-BED0-1407239ADC4F :END: -* TODO [#C] Use checkdoc on all files +* TODO german: Complete translation :PROPERTIES: - :ID: 8D30489F-9000-43C3-BCA6-0C14F0E5C831 + :ID: 937301D5-2C31-4F43-83B0-FB9A0CD5F138 :END: -* TODO [#C] Clean up chess.el +* TODO gnuchess: Triggers a Lisp error when I resign :PROPERTIES: - :ID: F2CC192E-8AD3-47BD-9A9F-3990BA1206A2 + :ID: 8ADABEB5-BF38-4A71-949F-074048AED7B0 :END: -* TODO Create a better error hierarchy :FEATURE: - Instead of using (error), we should be throwing specialized signals that - indicate whether it's a problem with a ply, a position, a move, etc. And - then this data object should be included with the error. +* TODO ics: Accepting match request doesn't seem to be working always :PROPERTIES: - :ID: 323563C6-2A99-4B01-A29B-BEB09166C103 + :ID: 296B2B3D-B4CF-418E-8FA6-36D301D09136 :END: - [2008-08-31 Sun] * TODO ics: Add a completion function against logged in users :FEATURE: :PROPERTIES: :ID: 1AFE6B32-7236-4E71-9CCC-21B797E67F08 @@ -264,59 +246,53 @@ EMACS-CHESS -*- mode: org; fill-column: 78 -*- :PROPERTIES: :ID: 05E523E9-38EC-4268-89B4-2A42409F9059 :END: -* TODO Use TrueType or other chess fonts for displaying positions :FEATURE: - This might be the best way of displaying positions on Windows. +* TODO ics: Not detecting forfeit by disconnection at the moment :PROPERTIES: - :ID: 0387D818-3841-4BA1-A246-F48349F4A53F + :ID: 0EDCC239-65B0-450F-82B9-12B1E96667D4 :END: -* TODO Enable chat module, and base its interface on what TNT does :FEATURE: +* TODO ics: Resuming adjourned games does not work at all :PROPERTIES: - :ID: A5AC87EC-99B7-4522-9916-F97ED3EC5F78 + :ID: D2E35ADE-1CFF-4DB6-A910-DF3C886709B3 :END: -* TODO Merge chess-announce and chess-sound :FEATURE: - Use style modules on top of the underlying module. +* TODO ics: Takebacks still aren't working 100% + When I submit a takeback request manually, and the other side accepts, my + client doesn't know what to do with it :PROPERTIES: - :ID: 87612913-B3AD-4329-892F-C156F88A358C + :ID: 67BF2EFF-66E6-4DE3-BCD1-D1743D8C7AC3 :END: -* TODO Create generic chess-output interface :FEATURE: - For outputting games to a particular format (PGN, HTML, LaTeX, etc). +* TODO If you are playing a puzzle game, and the engine is thinking + And you hit space to move to the next puzzle, then when the last move is + finally received from the engine it causes an error. :PROPERTIES: - :ID: A7F64797-4827-4EF6-BFE4-075D6F430D4E + :ID: 4583E224-B5A2-47D4-906E-6374AA7AB936 :END: -* TODO Display in modeline which game in the database we're in :FEATURE: - And what the positional evaluation is. +* TODO [#C] Investigate the performance possibilities researched by Mario + Well, I've played a little with a few transformations but I haven't managed + to get any substantial speedup. Things I see are: + + - char-valid-p is called at least three times, the value could be saved in + the toplevel let*. + - I am not sure but I think I read inline quoted lists can be slower. I + tried to define the direction lists as a alist in a defconst, but it + didnt't really show as a speedup... + - The chess--add-candidates defsubst does needless check of check-only in + some cases. I.e., if we rewrite the first cond clause to do different + things if check-only is t or nil, that might also do a bit. + + But really, I didnt find anything worthwhile... Maybe it could make sense to + have a separate function to handle the (memq piece '(nil t)) case. :PROPERTIES: - :ID: 6144C07C-8F6B-46B8-80A8-C736E3C843F0 + :ID: 24E8AD24-067C-4130-9616-63D5DFF60231 :END: -* TODO Add `force' event for forcing an engine to move :FEATURE: - And a command from chess-display to send this event. + [2008-09-01 Mon] +* TODO irc: If move before opponent connects, symbol assertion "value" :PROPERTIES: - :ID: E88AE290-D2DD-4445-942E-E9DE09596A1F + :ID: DCCEB9D3-0F5F-484C-9D4E-A0B7801F101D :END: * TODO Let people override the chess-default-* lists :FEATURE: :PROPERTIES: :ID: AEBED712-70F6-499B-A8D8-6A8632D9A7D1 :END: -* TODO Write chess-descriptive.el, and have the code in general use :FEATURE: - chess-ply-to-string and chess-string-to-ply, so that users can use - descriptive notationas an alternative to algebraic. - - (NOTE: this might proof problematic since descriptive move notation is - ambigious if we don't have the full game information, since we need to - destinguish between QR KR QN and KN. So chess-descriptive-to-ply would need - to use a game object as reference, rather than just a position.) - :PROPERTIES: - :ID: 7C283CC8-450C-468C-93C3-C264CC8F536A - :END: -* TODO Change chess-announce/sound so it reads the text rendered move :FEATURE: - Such as "king's pawn to e4". - - This way it will work with either descriptive or algebraic notation. Also, - chess-announce and chess-sound can be collapsed into one module, with - different "styles" of announcing. - :PROPERTIES: - :ID: B7090875-BB45-438D-B7C9-CC7A0524D98B - :END: * TODO Make ( create variations in a display :FEATURE: And keys to move into and out of them. At the moment, variations are supported programmatically, but not in the UI. @@ -330,121 +306,101 @@ EMACS-CHESS -*- mode: org; fill-column: 78 -*- :PROPERTIES: :ID: 1968B422-B8D9-4493-9C90-401956C8CAE0 :END: -* TODO Enhance PGN mode :FEATURE: - Maybe pgn-mode could just allow normal editing, and bind some keys - to do special things. e.g., the mouse binding could work as normal, - SPC could update the display. So if you do - - 1 e4 SPC - - you get the move displayed. Some binding could do redisplay anyway, e.g. C-l? - Then, one could enter variations or such simply with ( or { and - the display would update automatically. - e.g., you do - - ( 15.e5 SPC Nf3 SPC ) - - and you'd get three display updates, on e5 SPC, you get that - ply, then the second one, and on ) you get the position before the - variation. Move point into the variation again, and hit C-l and you - get the pos where point is on. - - There should be a forward-ply and backward-ply, maybe something like - M-f / M-b, and C-u M-f for two plies forward? - - Very nice would be a pcomplete-based completion fascility, so - simply hit TAB at any point, and you get the right completion. - - Example: - - [Event ...] - - TAB 1.TAB ... - - On first tab, the move number is inserted. On second, you get - all possible moves in that position. +* TODO [#B] Make the "debug level" configurable + The speedup from (setq cl-optimize-speed 9) in chess-pos.el is due to + eliding assert calls. This basically makes asserts useless since they are + now turned off unconditionally. It would be nice to have a kind of + "--enable-debug" or somesuch at configure time to make this obvious. :PROPERTIES: - :ID: 7D4ACEDE-C9D9-49E1-883F-829DB80FC5E7 + :ID: 130D8091-A1F5-43DC-AFBA-BFDB5D1ADEDF :END: -* TODO Add support for adjournments :FEATURE: - Also, implement this is such a way that an e-mail or postal game is - basically a game that's adjourned after every move; use BBDB if available + [2008-09-10 Wed 17:04] +* TODO [#B] Make the chess-ics-sought buffer read-only :PROPERTIES: - :ID: D41A3E75-04FB-4EC8-A64C-7BD54658AA78 + :ID: D416E179-252C-49CE-8BAA-06B31364116F :END: -* TODO Use MIME attachments (application/x-chess-pgn) :FEATURE: - For sending e-mail chess games back and forth. + [2008-09-02 Tue] +* TODO Merge chess-announce and chess-sound :FEATURE: + Use style modules on top of the underlying module. :PROPERTIES: - :ID: B01A0B43-12F3-4978-A63A-01ADBA9BB78D + :ID: 87612913-B3AD-4329-892F-C156F88A358C :END: -* TODO Enable UI commands in chess-display to interact with databases :FEATURE: - As of 2.0, this support is programmatic only. +* TODO Need a way to play bughouse/crazyhouse games. :FEATURE: :PROPERTIES: - :ID: 8CA4762E-4665-433E-9538-994BEDCABE21 + :ID: 237BDAFD-0B92-4A06-AA25-D5568FF3DC4B :END: -* TODO Follow what `edit-env' does, in order to make chess-query.el :FEATURE: +* TODO network: Does not work at all! :PROPERTIES: - :ID: 48F2D4F3-8B1B-4196-BED0-1407239ADC4F + :ID: AC39392F-57EF-4D79-A718-DEB4B24DFC5D :END: -* TODO Allow the opponent to give hints :FEATURE: +* TODO pgn: Sometimes when clipping, "*" is stuck to last move's text :PROPERTIES: - :ID: 068BE26D-4D81-44CD-A4EB-04F15D5064FB + :ID: 5B737ED4-F271-425E-9F1D-1DFA7834BAFF :END: -* TODO Add warning mode that uses analysis results to warn the user :FEATURE: - And ask for confirmation before doing something that might lead to an - inferior position. +* TODO pgn: When saving game to clipboard, shouldn't need to save FEN + If it's starting from a standard position (this doesn't always happen) :PROPERTIES: - :ID: 9EF1FA72-EDC9-4C97-B699-A0DF8EE1893B + :ID: 7CB3441C-9398-42D7-A174-5F534ADA473B :END: -* TODO Add a chess tutor program, to teach people how to play chess :FEATURE: +* TODO ply: detect games drawn by 3-fold repetition and 50 move rule + Note, FIDE rules define that a draw must be claimed by one of the opponents, + so we do not really need to do this on every move, just when a draw is + requested.) :PROPERTIES: - :ID: 8AA53467-6D89-4C27-AF05-4AE793EA6A2E + :ID: 4D3BBF63-A640-483A-ACF9-CC948AEAAAC7 :END: -* TODO Add slots to positions for tracking positional evaluation :FEATURE: - These values can be automatically determined when parsing ICS12. +* TODO Port the code to XEmacs :PROPERTIES: - :ID: 608A74EE-9699-406B-B57A-08BFECBC9FEB + :ID: A633A292-722C-4566-9F5D-807675DAB8DD :END: -* TODO Add an engine function for obtaining a position evaluation :FEATURE: - Then, allow M-x chess to startup a non-game oriented engine, solely for the - purpose of submitting position evaluations, and displaying the result in the - modeline. (Also, look at crafty's kibitzing feature). +* TODO [#C] Profile and mem profile + Especially try to get the validation suite running faster! :PROPERTIES: - :ID: BE3EAF49-622E-4300-9D63-CB00B5F738F7 + :ID: 4A08E03C-1AEA-4C14-951A-3F8DBB2E29E7 :END: -* TODO Add a Map command, that will colorize the squares :FEATURE: - Depending on whether they are reachable by either side. Green if reachable - by you, Red if by your opponent, and blue if by both. With a prefix - argument, colorize only the squares that have pieces on them. This is a - stable modes that remains in effect until turned off. It also requires the - ability to pass a color to the chessboard highlighting routine. +* TODO [#B] Sometimes the chess-ics-sought buffer doesn't appear :PROPERTIES: - :ID: B2012331-0F7F-488D-BFDC-2C08E2E018FB + :ID: A3499CBB-5C0D-4C1B-872C-DC4E7D46CA73 :END: -* TODO Using gnuplot-mode, allow evaluation trends to be plotted :FEATURE: + [2008-09-02 Tue] +* TODO [#B] Sought games are not being selected for me when I press RET :PROPERTIES: - :ID: BC458171-65B7-4CAE-ACF5-9FD0E263F425 + :ID: 06F3AD0F-B44D-4845-B345-4406AF8D3212 :END: -* TODO Add an analyze command :FEATURE: - That will indicate which pieces are defended, how well, which are attacked, - which moves would increase defense/attack/both, etc. Basically, everything - that can be known about the current board, and one move ahead (on both - sides). + [2008-09-02 Tue] +* TODO Tools for managing a tournament :FEATURE: + Setting up pairings, calculating ratings. :PROPERTIES: - :ID: 8439E0A2-6ED6-489D-94EF-9033F76210EE + :ID: D53A7DA4-6940-4E0C-938E-08E12CC7EDEF :END: -* TODO Need a way to play bughouse/crazyhouse games. :FEATURE: +* TODO [#C] Use checkdoc on all files :PROPERTIES: - :ID: 237BDAFD-0B92-4A06-AA25-D5568FF3DC4B + :ID: 8D30489F-9000-43C3-BCA6-0C14F0E5C831 :END: -* TODO A way to keep a correspondence players database in BBDB :FEATURE: +* TODO Use MIME attachments (application/x-chess-pgn) :FEATURE: + For sending e-mail chess games back and forth. :PROPERTIES: - :ID: 8D40AD04-2392-410E-BDFE-AA80381E2BCB + :ID: B01A0B43-12F3-4978-A63A-01ADBA9BB78D :END: -* TODO Tools for managing a tournament :FEATURE: - Setting up pairings, calculating ratings. +* TODO Use TrueType or other chess fonts for displaying positions :FEATURE: + This might be the best way of displaying positions on Windows. :PROPERTIES: - :ID: D53A7DA4-6940-4E0C-938E-08E12CC7EDEF + :ID: 0387D818-3841-4BA1-A246-F48349F4A53F + :END: +* TODO Using gnuplot-mode, allow evaluation trends to be plotted :FEATURE: + :PROPERTIES: + :ID: BC458171-65B7-4CAE-ACF5-9FD0E263F425 + :END: +* TODO Write chess-descriptive.el, and have the code in general use :FEATURE: + chess-ply-to-string and chess-string-to-ply, so that users can use + descriptive notationas an alternative to algebraic. + + (NOTE: this might proof problematic since descriptive move notation is + ambigious if we don't have the full game information, since we need to + destinguish between QR KR QN and KN. So chess-descriptive-to-ply would need + to use a game object as reference, rather than just a position.) + :PROPERTIES: + :ID: 7C283CC8-450C-468C-93C3-C264CC8F536A :END: * STARTED display: Make it possible to "highlight the last move" :FEATURE: - State "STARTED" [2008-09-01 Mon 03:59] \\ @@ -460,6 +416,23 @@ EMACS-CHESS -*- mode: org; fill-column: 78 -*- :ID: F994A8E9-5EDD-4681-863E-491806F0ED07 :END: [2008-09-01 Mon] +* DONE Add an 'install' target to the Makefile + - State "DONE" [2008-09-01 Mon 04:02] + :PROPERTIES: + :ID: 7A27FDC0-0053-4656-9AC9-6D7BEECE6D4A + :END: +* DONE [#B] chess-auto.el is not being built properly :BUILD: + - State "DONE" [2008-09-01 Mon 21:16] + :PROPERTIES: + :ID: 184AF780-815B-43DB-87A4-0A81DE252AB0 + :END: + [2008-08-31 Sun] +* DONE display: Display problem with chess-display-side-to-move + The text doesn't show the face in the modeline + - State "DONE" [2008-09-01 Mon 03:55] + :PROPERTIES: + :ID: 884690AC-C3BE-43D6-A600-48D221BD0FB0 + :END: * DONE [#B] ics: A refresh directive should act as a position assert - State "DONE" [2008-08-29 Fri 06:28] Compare with our current known board and trigger an error if it doesn't @@ -467,14 +440,41 @@ EMACS-CHESS -*- mode: org; fill-column: 78 -*- :PROPERTIES: :ID: C0F3CD12-83C5-4970-AD27-8C4A4C447BC2 :END: -* DONE display: Display problem with chess-display-side-to-move - The text doesn't show the face in the modeline - - State "DONE" [2008-09-01 Mon 03:55] +* DONE [#B] scid: chess-scid-get-result fails on some machines (timing?) + - State "DONE" [2008-09-17 Wed 05:49] \\ + Fixed by adding more delays in case text has not appeared from the command. + - State "STARTED" [2008-09-16 Tue 04:38] \\ + I believe I have a fix for this, commit + 33d57dc0f667c8d1168b46f9e73d9510d8c7e518, but I must await Mario's test on his + 8 CPU machine. + It happens on a fast 8-CPU machine of mine that chess-scid-get-result + returns the empty string. The reason for this is that sometimes, the prompt + is not output immediately after a result, so upon next call to + chess-scid-get-result the first output we see is the prompt ("% ") from the + previous command which due to the current algo results in + chess-scid-get-result returning "". It would need to continue reading if it + sees a prompt as first output. Waiting until we see a prompt to make sure + we have all the output results in *very slow* behaviour, maybe due to + line-buffering (the prompt has no final \n, obviously), so we probably shoud + skip over prompt and continue reading. :PROPERTIES: - :ID: 884690AC-C3BE-43D6-A600-48D221BD0FB0 + :ID: AF51A38C-36B6-4976-954D-0BCD6C1A81FD :END: -* DONE Add an 'install' target to the Makefile - - State "DONE" [2008-09-01 Mon 04:02] + [2008-09-08 Mon 23:41] +* DONE [#B] scid: The buffer needs periodic clearing, or it grows too large + - State "DONE" [2008-09-01 Mon 21:16] :PROPERTIES: - :ID: 7A27FDC0-0053-4656-9AC9-6D7BEECE6D4A + :ID: 272CE75E-122A-4AEA-8A03-9CD2041895EA + :END: + [2008-09-01 Mon] +* DONE [#B] Sometimes a chess-test run fails to recognize promotions + - State "DONE" [2008-09-02 Tue 22:31] \\ + Fixed. This appears to be a bug in looking-at/match-string, but it only + occurs under high load and certain circumstances. I was able to get around it + by examining the buffer directly. + - Note taken on [2008-09-01 Mon 05:35] \\ + This happens on game 2030188. + :PROPERTIES: + :ID: 431304B0-E8B9-485E-82B5-D4DF900C27DF :END: + [2008-09-01 Mon] |
