1 2005-06-27 John Wiegley <johnw@newartisans.com>
3 * chess-ics.el (chess-ics-sought-add): Added this routine to
4 factor out a lot of duplicated code.
6 * chess-plain.el (chess-plain-popup): Pass nil for the `font'
7 argument to `chess-display-popup-in-frame', since we don't care
8 what the size of the font is with textual chessboards.
10 * chess-input.el (chess-input-shortcut): If a character is typed
11 that is not a legal start of a move (which only happens if it's
12 not bound to anything else), just ignore it.
14 * chess-images.el (chess-images-determine-size): On Macs and
15 Windows, reduce the screen height by 80 instead of just 20, to
16 account for the Start/Status bar.
17 (chess-images-popup): Pass in a `font' to
18 `chess-display-popup-in-frame', so that the pixel height for each
19 graphical piece is computed correctly.
20 (chess-images-change-size): Foricbly popup the chess buffer when
21 changing the size of graphical pieces.
23 * chess-ics1.el (chess-ics1-popup): Added `font' argument in call
24 to `chess-display-popup-in-frame'.
26 * chess-display.el (chess-display-popup-in-frame): Added a `font'
27 parameter, so that the font can be set in new chessboard
28 frames (which is necessary to get the pixel height/width right).
30 2004-12-07 Mario Lang <mlang@delysid.org>
32 * chess-algebraic.el, chess-announce.el, chess-autosave.el,
33 chess-common.el, chess-display.el:
34 require chess-message whereever necessary (ks)
37 Make comment-start and comment-end explicitly buffer-local (ks)
39 2004-12-06 Mario Lang <mlang@delysid.org>
42 bug in pgn font-locking (Klaus Straubinger <KSNetz@Arcor.DE>)
44 2004-04-12 jwiegley <jwiegley@lexx>
46 * PLAN: chess-pos - typing a number in a chessboard display gets
49 2004-03-08 Mario Lang <mlang@delysid.org>
51 * chess-pgn.el: bah, recursive loading...chess-pgn.el
53 2004-03-06 Mario Lang <mlang@delysid.org>
55 * README: Rephrase the intro, and add a HISTORY section
56 to document the maintainership change.
58 * PLAN: Remove chess-input entry, which was bogus.
60 * chess-pgn.el (chess-pgn-read-game): Fix database-index calculation.
61 Now `chess-pgn-show-position' should work as expected in multiple
64 2004-03-01 Mario Lang <mlang@delysid.org>
67 (chess-legal-plies): Add :candidates keyword to avoid calls to
68 chess-search-position if the caller already knows the piece indices
71 (chess-eval-static): Try to reward passed pawns and piece mobility
72 using the new :candidates keyword to chess-legal-plies.
74 * chess-maint.el 1.11: put byte-compiling-files-p back in for now.
76 * chess-ics.el 1.96: better icc datagram support
78 2004-02-29 Mario Lang <mlang@delysid.org>
80 * chess-ics.el 1.95: Fix kibitzes on icc.
82 * chess-ics.el 1.94: Enhance ICC support:
83 Make "backs up" message work.
84 Rudimentary level2 datagram support through
85 chess-ics-icc-preoutput-filter.
86 New variable chess-ics-icc-datagrams to define which datagrams should
87 be requested upon login.
88 New variable chess-ics-server-type which defaults to FICS, and gets set
89 to ICC when we encounter an ICC server.
90 Handle DG_KIBITZ by translating them to the FICS representation.
91 Handle movelist request through DG_POSITION_BEGIN2 and DG_PASTMOVE.
93 2004-02-25 Mario Lang <mlang@delysid.org>
95 * chess-phalanx.el 1.15: Add elisp header and homepage link.
97 * chess-phalanx.el 1.14:
98 Phalanx has no "resign" commands, so only set game-data active to nil
101 2004-02-24 Mario Lang <mlang@delysid.org>
103 * chess-ics.el 1.93: more stability improvements.
105 2004-02-22 Mario Lang <mlang@delysid.org>
108 (chess-eval-static): Primitive mobility handling, makes play a lot
111 * chess-ai.el 1.6: reward passed pawns, and make the code a bit faster
113 * chess-ics.el 1.92 (chess-ics-ads-removed):
114 We need to be a lot more careful when deleteing stuff on a
115 preoutput-filter-function. Fixed this, which also
116 fixes all the remaining cases of missed boards. LectureBot
117 ran through three Lectures without any bug, which seems good!
119 * chess-ics.el: Require 'rx when compiling.
120 (chess-ics-style12-regexp): New constant regexp which matches
121 a style12 string (subgroup 1 to 32).
122 (chess-ics-matcher-alist): Use it.
123 (chess-ics-matcher-alist): Destroy game object if we see a
124 "no longer examining..." message.
125 (chess-ics-handle-style12): Rewrite using `match-string' instead of
126 `pop' based on the new regexp above.
127 (chess-ics-handle-style12): No longer `message' parse errors, rather
128 keep the failed board in the buffer, and add the failure info
129 to the front of the line. Makes finding remaining bugs a lot
130 easier since the buffer can be reviewed in chronological order.
131 (chess-ics-ads-removed): We need to be a lot more careful when
132 deleteing stuff on a preoutput-filter-function. Fixed this, which also
133 fixes all the remaining cases of missed boards. LectureBot
134 ran through three Lectures without any bug, which seems good!
136 2004-02-21 Mario Lang <mlang@delysid.org>
138 * chess-engine.el (chess-engine-filter): We were calling `forward-line'
139 unconditionally. However, there is a race condition, namely,
140 if the last line does not end with a newline, forward-line
141 will skip to eob, therefore, engine regexps will simply
143 (chess-engine-entire-lines): This was a fix for the wrong problem,
146 2004-02-18 Mario Lang <mlang@delysid.org>
148 * chess-display.el (chess-display-highlight-passed-pawns): New
149 interactive function.
151 * chess-pos.el (chess-pos-passed-pawns): New function.
153 2004-02-12 Mario Lang <mlang@delysid.org>
155 * chess-phalanx.el (chess-phalanx-handler): Set
156 chess-engine-entire-lines t.
158 * chess-engine.el (chess-engine-entire-lines): New variable.
159 (chess-engine-filter): handle it.
161 * chess-ics.el (chess-ics-sought-mode-map): New variable.
163 2004-02-08 Mario Lang <mlang@delysid.org>
165 * chess-crafty.el (chess-crafty-handler): Add search-depth and
166 search-time engine options.
168 2004-02-06 Mario Lang <mlang@delysid.org>
170 * chess-display.el (chess-display-paint-move): Handle :en-passant
171 captures (remove the captured pawn from the board).
173 * chess-puzzle.el (chess-puzzle): Disable autosave.
174 (chess-puzzle-show-solution): New function (bound to ? in puzzle
175 displays) for showing a solution (if one is known). This typically
176 only works for EPD databases with either bm or pv information.
177 Displaying of annotations is not yet done.
179 2004-02-05 Mario Lang <mlang@delysid.org>
182 Handle .epd and .pgn files in the chess-file module. Achieved by
183 setting a buffer-local variable chess-file-type to either 'pgn or 'epd
184 on 'open, and use this info to dispatch correctly.
185 This change makes it possible to load .epd files with the
186 chess-puzzle function for instance.
188 * chess-fen.el (chess-fen-regexp): New constant.
190 * chess-epd.el (chess-game-to-epd): New defsubst to convert a game
191 object to an EPD string (or insert it).
192 (chess-epd-to-game): Analogous to the above.
193 (chess-epd-parse): Use `chess-fen-regexp'.
195 2004-02-03 Mario Lang <mlang@delysid.org>
197 * chess-tutorial.el (chess-tutorial): Simplify and add autoload.
199 * chess-announce.el (chess-announce-handler): On event 'kibitz, talk.
201 * chess-ics.el (chess-ics-initial-commands): New defcustom to make
202 the init-strings sent after login configurable.
203 (chess-ics-movelist-start-position): New buffer-local variable
204 which defaults to `chess-starting-position'. Its value (if non-nil)
205 is used to initialize the board when seeing a movelist header.
206 This is to allow for servers which have the equivalent of
207 "iset startpos 1" on FICS, which tells the server to automatically
208 send the initial position before sending a movelist. This is
209 to allow non-standard starting positions, and still maintain
210 complete game information in the game object locally.
211 (chess-ics-matcher-alist): If we see something like "startpos set",
212 we set chess-ics-movelist-start-position to nil.
213 (chess-ics-handle-style12): Renamed from chess-ics-handle-ics12.
214 Set game-data 'black-moved-first to t if we see a initial board
215 (move is "none"), and side-to-move is Black. Use this information
216 to calculate the correct game index from the supplied game sequence.
217 This fixes observing of arbitrary start position games where
218 Black moved first. (Most of LectureBot should work now).
219 (chess-ics-seeking): Handle "set ptime 1" prompts.
220 (chess-ics-ads-removed): Ditto.
222 2004-01-28 Mario Lang <mlang@delysid.org>
225 (chess-ply-castling-changes): When doing a long castle, only check if
226 the king can move to the d or c file without being in check. According
227 to the crafty-list, it is legal to do a long castle if some opponent
228 piece is attacking the b file.
231 (chess-ics-matcher-alist): Send "set interface emacs-chess VERSION"
235 Temporarily disable the condition-case in the main startup function,
236 some strange engine errors are caught and hard to debug with this,
237 also add chess-opening and chess-ai to the default modules.
240 (chess-search-position): Document arguments CHECK-ONLY and NO-CASTLING.
242 * chess-engine.el 1.99:
243 (chess-engine-create),
244 (chess-engine-command): Docstrings.
245 (chess-engine-filter): bind case-fold-search to nil.
247 * chess-display.el 1.119
248 (chess-display-create): More docs.
250 * chess-var.el 1.10: docfixes
252 * chess.texi 1.22: Proofread fixes.
254 2004-01-27 Mario Lang <mlang@delysid.org>
256 * chess-fen.el 1.13: Commentary synced with reality of FEN standard.
258 * README 1.4: chess-ai is a submodule of chess-common.
260 * chess-ply.el 1.44: docfix.
262 * chess-gnuchess.el 1.35
263 (chess-gnuchess-path): Add *, since this is a user-option.
265 * chess-opening.el 1.3: uncomment the remaining failure cases,
266 chess-algebraic handles those now.
268 * chess-opening.el 1.2: We now have the individual moves in the source
269 file, and get the final position at compile time.
271 * chess-tutorial.el 1.4: We can use `chess-display-set-from-fen' here.
273 * chess-maint.el 1.8, chess.texi 1.21: Add in minimal docs for FEN
274 notation, algebraic notation, and ICS.
276 2004-01-26 Mario Lang <mlang@delysid.org>
279 (chess-pos-move): Fix a bug in castling removal when the Rook
280 is moved, now compare chess-pos-can-castle and the source square of
281 the moving piece to figure out if we need to remove castling
285 (chess-pos-legal-candidates): remove the opponent pawn if we are
286 capturing en passant.
287 this fixes a bug where chess-legal-plies does not find an en passant
288 move if the pawn to be captured is giving check.
290 * chess-database.el 1.12, chess-file.el 1.7, chess-scid.el 1.7:
291 new function chess-database-filename, also support it in scid and
294 2004-01-25 John Wiegley <jwiegley@lexx>
296 * chess-algebraic.el 1.35, chess-pos.el 1.43
297 (chess-search-position): Added an argument so that if we are
298 searching for the source of an algebraic move, and it is not a castle,
299 then do not check castle moves.
301 2004-01-23 Mario Lang <mlang@delysid.org>
303 * chess-database.el 1.11
304 (chess-database-query): use `apply'.
307 (chess-scid-handler): Support query tree-search.
309 * chess-engine.el 1.98: Don't barf on unbound
310 chess-module-regexp-alist, and add some docstrings.
312 * chess-game.el 1.59: Docstring fixes + a redo of chess-game-seq.
314 * chess-pgn.el 1.40: Fixes to make chess-scid read parsing work.
316 2004-01-21 Mario Lang <mlang@delysid.org>
318 * chess-opening.el 1.1: Opening classification module based on the
319 scid.eco file from scid 3.5.
321 2004-01-20 Mario Lang <mlang@delysid.org>
323 * chess-fen.el 1.12: FEN notation actually specifies that field
324 four (en passant) should denote the target square of the immenent
325 capture, not the square of the piece about to be taken.
327 * chess-ics.el 1.81: Catch manually typed "resign" and fix a bug
328 where only one game could be played for each session.
331 (chess-pos-to-fen): Don't emit a trailing / on rank 8.
333 2004-01-19 Mario Lang <mlang@delysid.org>
335 * chess-ics.el 1.80: tidying
337 * chess-epd.el 1.6: minor change.
339 * chess-ics.el 1.79: Rewrite this module such that it does not act
340 as an engine, rather it invokes chess-sessions as needed. You need
341 to use M-x chess-ics RET instead of C-u M-x chess RET ics RET now.
342 (chess-ics-handle-ics12): Rewrite such that it can handle the "refresh"
343 command, and moves entered manually in the ICS buffer.
345 2004-01-16 Mario Lang <mlang@delysid.org>
348 We no longer need to dedvar chess-ai-regexp-alist with
351 * chess-engine.el 1.97 (chess-engine-create): Use `insern-soft'
352 instead of `intern' to copy the engine-regexp-alist.
354 2004-01-15 John Wiegley <jwiegley@lexx>
356 * chess.texi 1.20: Adding description of the module system.
358 2004-01-14 Mario Lang <mlang@delysid.org>
360 * chess-sjeng.el 1.2: Elisp header + homepage link.
362 * chess-sjeng.el 1.1: Module for the sjeng engine (promotion still
365 * chess-algebraic.el 1.34
366 (chess-algebraic-to-ply): `let'-bind case-fold-search nil. This fixes
367 a bug where b8c6 is parsed to c7-c6.
369 2004-01-13 Mario Lang <mlang@delysid.org>
371 * chess-ics.el 1.78: Initial skeleton for Game Creating messages.
372 Support relation-type -2 (Examining game).
373 Handle the 'forward event.
374 (Now you can use the "examine" command on FICS, and simply
375 type '.' in the ChessBoard display to forward through the game.)
377 * chess-display.el 1.118
378 (chess-display-set-index): If INDEX is greater than chess-game-index,
379 and the last ply is not final, we emit a 'forward chess-module-game
380 event to give ics a chance to issue "forward\n". This makes
381 '.' work as expected in examined games.
383 2004-01-12 Mario Lang <mlang@delysid.org>
386 Win At Chess, 300 positions with best move information.
387 pv (predicted variation) information computed using crafty 19.8 on
388 a dual xeon 2.6GHZ system using 40 minutes time for each position.
389 This can be used to stress test the core library.
392 (chess-ics-server-list): Added some more servers.
393 (chess-ics-regexp-alist): Make guest login on chessclub.com work.
394 (chess-ics-handle-ics12): Retrieve TimeControl info from
395 the ics12 board and set TimeControl game tag when initial board is
399 Winning Chess Sacrifices And Cobinations
400 pv information calculated using crafty 19.8 with about 30 minutes
403 2004-01-11 Mario Lang <mlang@delysid.org>
405 * chess-ics.el 1.76: Set EPD opcode ce from material-value and
408 * chess-ics.el 1.75: Merge chess-ics-parse-ics12 and
409 chess-ics-handle-move into a new function chess-ics-handle-ics12,
410 which is a lot easier to read now.
411 Also make the <12> regexp a bit more strict to avoid false positives.
413 * chess-clock.el 1.10
414 (chess-clock-tick-tock): Do not decrease time if
415 (chess-game-status chess-module-game) is non-nil.
417 * chess-ics.el 1.74: Fixed messed up parens.
420 (chess-ics-handler): Read the password before opening the connection.
421 This corrects a race where the password can be unknown when the
422 prompt appears because the user hasn't finished typing yet...
423 (chess-ics12-parse): Use `pop' to make stuff simpler and use `mapc'
424 to get castling info.
425 Indent chess-ics-regexp-alist differently.
427 * chess-engine.el 1.96
428 (chess-engine-default-handler): When 'match is accepted, we were
429 calling (chess-engine-command nil 'accept chess-full-name)
430 which doesn't make much sense, and breaks chess-ics game accepting.
431 Change it to `name', to pass the opponent name for whom we are
432 accepting a match request.
434 * chess-display.el 1.117: On GNU Emacs 21.3, :eval in mode-line-data
435 seems only to work if it directly appears in mode-line-format.
436 chess-display indirectly referenced chess-display-mode-line-format
437 by setting mode-line-format to that symbol. If we set
438 mode-line-format to the value of chess-display-mode-line-format,
439 the mode-line comes to life again!
441 2004-01-10 Mario Lang <mlang@delysid.org>
443 * chess-game.el 1.58: Fix a bug in `chess-game-seq' (at least I
444 think it is supposed to work like it does now).
446 * chess-crafty.el 1.31: Support for xboards analyze mode.
447 (chess-engine-command crafty 'analyze t) enables analyze mode and
448 eventually sets chess-crafty-analyzing-p to t.
449 When new predicted variations arrive, corresponding epd opcodes
450 are set for (chess-engine-position nil): acd, ce, pv (acn is not set because
451 it is likely that it overflows the emacs integer bounds, and I am not
452 yet sure what to do about this.)
453 (chess-engine-command crafty 'analyze nil) turns analyze mode off again.
455 * chess-plain.el 1.19: A change to the faces and a fix for
456 chess-plain-spacing > 0 and file naming, all from kanaldrache, thanks.
458 * chess-crafty.el 1.30: Use Crafty's xboard protocol layer for
459 communication: Since recent >19.x crafty, there is something strange
460 going on with display nogeneral. Another bug which appears sometimes
461 is that crafty (in its own mode of displaying stuff) echos the oponent
462 move (our move) which raises an error (obviously).
463 xboard mode is really a lot easier to parse, and I even managed
464 to keep the 'evaluate event without any problems.
466 2004-01-09 Mario Lang <mlang@delysid.org>
468 * chess-epd.el 1.5: speed up chess-epd-read-file by using `nconc'.
470 * chess-epd.el 1.4: Support (convert) opcodes sm and sv.
472 * chess-gnuchess.el 1.34: Use `zerop'.
474 * chess-epd.el 1.3: (require 'chess-var)
476 * chess-epd.el 1.2: Use `chess-var-to-algebraic'.
478 * chess-var.el 1.9, chess.texi 1.19: New function
479 `chess-var-to-algebraic'.
481 2004-01-07 Mario Lang <mlang@delysid.org>
483 * chess-epd.el 1.1: new file, implements opcodes am, bm, ce, pm and pv.
485 * chess-pos.el 1.42: Remove chess-pos-read-epd-file.
487 * chess-display.el 1.116: Make chess-display-create interactive, and
488 document chess-display-quit.
490 * chess-maint.el 1.7, chess-random.el 1.5, chess.texi 1.18: Add
491 `chess-fischer-random-position' into the Creating Positions Manual
494 2004-01-06 Mario Lang <mlang@delysid.org>
496 * chess.texi 1.17: skels for chess-database.
498 * chess-ai.el 1.4: Require cl and add `message' calls.
500 * chess-ply.el 1.43: Some docstrings.
502 * chess.texi 1.16: Add @c lispfun for chess-ply-source and
505 * chess-var.el 1.8: Add &optional index to `chess-var-side-to-move'
506 (sync with chess-game-side-to-move) and document it, mirroring
507 chess-game-side-to-move docstring.
509 * chess-game.el 1.57: Document 'chess-game-side-to-move'.
511 * chess-ai.el 1.3: It mostly works now, only remaining problem is
512 that the players move is only displayed after the engine found a reply.
514 2004-01-05 Mario Lang <mlang@delysid.org>
516 * chess-display.el 1.115: Checkdoc attempt, some very simple
517 (I hope correct) docstrings added.
519 * PLAN 1.51: next-pos has correct status now.
521 * chess.texi 1.15: add three paragraphs from chess-pos.el commentary
523 2004-01-04 Mario Lang <mlang@delysid.org>
525 * chess-ai.el 1.1: First version of a alpha-beta puring search AI.
527 * chess-ply.el 1.42: Set status of next-pos according to changes of
530 * PLAN 1.50: Crafty is fixed again.
532 2004-01-03 Mario Lang <mlang@delysid.org>
535 New function chess-pos-read-epd-file, which parses an epd file into a
538 2004-01-02 Mario Lang <mlang@delysid.org>
540 * chess-crafty.el 1.29: Display nogeneral seems to no longer display
541 computer moves on newer crafties. At least removing display nogeneral
542 makes crafty work again.
544 2004-01-01 Mario Lang <mlang@delysid.org>
546 * PLAN 1.49: Crafty is broken.
548 * chess-gnuchess.el 1.33: Explicitly look for gnuchess in /usr/games.
550 2003-01-24 John Wiegley <jwiegley@lexx>
552 * lispdoc.el 1.4: Use a more specific signal rather than `error'.
554 * chess-network.el 1.37: Add missing string-to-int form.
556 * chess-engine.el 1.93: Add status code to check for open server
559 2003-01-08 Mario Lang <mlang@delysid.org>
561 * chess-plain.el 1.17
562 (chess-plain-piece-text): Simplyfied a bit
563 (chess-plain-draw-square): Doc fix.
566 (chess-create-modules): Add docstring.
568 * chess.el 1.65: Catch the module-not-found error.
570 2003-01-07 Mario Lang <mlang@delysid.org>
572 * chess-german.el 1.8: Translate some strings.
574 2002-09-05 John Wiegley <jwiegley@lexx>
576 * chess-sound.el 1.14: Check chess-sound-program before using it.
578 * chess-display.el 1.114: Avoided binding issue.
580 2002-06-20 John Wiegley <jwiegley@lexx>
582 * chess-ics.el 1.70: Fix for when opponent calls flag.
584 2002-06-14 John Wiegley <jwiegley@lexx>
586 * chess.el 1.64: Bumped minor rev.
588 * PLAN 1.35, chess-crafty.el 1.28, chess-display.el 1.112,
589 chess-engine.el 1.92, chess-gnuchess.el 1.32, chess-ics.el 1.68,
590 chess-irc.el 1.22, chess-network.el 1.36, chess-phalanx.el 1.11,
591 chess-transport.el 1.14, chess-ucb.el 1.4: Various small bug fixes.
593 2002-06-08 John Wiegley <jwiegley@lexx>
595 * chess-display.el 1.111: Make illegal chess moves (on a chess
596 display) a message instead of an error.
598 2002-05-16 John Wiegley <jwiegley@lexx>
600 * chess-pgn.el 1.39: Removed dependency on cl's `position' function.
602 * PLAN 1.31, chess-common.el 1.20, chess-display.el 1.109,
603 chess-engine.el 1.91, chess-game.el 1.55, chess-german.el 1.7,
604 chess-ics.el 1.67, chess-ics1.el 1.16, chess-images.el 1.34,
605 chess-network.el 1.35, chess-pgn.el 1.38, chess-plain.el 1.16,
606 chess-ply.el 1.40, chess.el 1.63: Miscellaneous fixes.
608 2002-05-01 John Wiegley <jwiegley@lexx>
610 * chess.el 1.62: bumped minor rev.
612 * PLAN 1.25, chess-common.el 1.19, chess-engine.el 1.90,
613 chess-ics.el 1.66, chess-network.el 1.33: Added code for forfeiting
616 * chess.el 1.61: Bumped minor rev.
618 * chess-scid.el 1.5, chess-database.el 1.10, chess-gnuchess.el 1.31:
621 * chess-sound.el 1.13, chess-announce.el 1.20: Announce pawn promotions
623 * chess-autosave.el 1.11: Allow autosaving of completed games to
626 * PLAN 1.20, chess-autosave.el 1.9, chess-common.el 1.18:
627 Autosaving is now much more efficient, and correct; still have to get
628 it correct for chess-network, though.
630 * chess-display.el 1.107: Fixed bug in popup logic.
632 * chess-ics.el 1.58: Use `chess-engine-convert-algebraic'.
634 * chess-ics.el 1.57: Disable autosaving during login, and determine
635 check/checkmate from the ics12 move text.
637 * chess-pos.el 1.39: Added a small comment.
639 * chess-game.el 1.53: Tiny code rearrangement.
641 * chess-algebraic.el 1.32: Tiny code rearrangement. If
642 `chess-ply-castling-changes' fails, no ply create will be attempted.
644 * chess-autosave.el 1.7: Sped up autosaving by a huge amount; also,
645 allow auto-saving to be disabled (it's not necessary when playing on
648 2002-04-30 John Wiegley <jwiegley@lexx>
650 * chess.el 1.59: bumped minor rev.
652 * chess-maint.el 1.6, chess-message.el 1.3: removed dependencies on cl.
654 * chess-common.el 1.17, chess-display.el 1.106, chess-engine.el 1.87,
655 chess-game.el 1.52, chess-gnuchess.el 1.30, chess-images.el 1.33,
656 chess-pgn.el 1.37, chess-puzzle.el 1.4, PLAN 1.16, TODO 1.102:
659 2002-04-29 Mario Lang <mlang@delysid.org>
661 * chess-german.el 1.5: Some translations.
663 2002-04-26 John Wiegley <jwiegley@lexx>
665 * PLAN 1.11, chess-algebraic.el 1.30, chess-display.el 1.104,
666 chess-game.el 1.50, chess-ics.el 1.55, chess-ply.el 1.38,
667 chess-pos.el 1.36: Bug fixes.
669 * chess-clock.el 1.7, chess-display.el 1.103, chess-engine.el 1.84,
670 chess-game.el 1.49, chess-ics.el 1.54: Fixes.
672 2002-04-25 John Wiegley <jwiegley@lexx>
674 * chess.el 1.58: bumped minor rev.
676 * chess-clock.el 1.6, chess-engine.el 1.82, chess-ics.el 1.50: fixes
679 * chess-pos.el 1.35: fix.
681 * EPD.txt 1.2, PGN.txt 1.2: Whitespace fixes.
683 2002-04-24 John Wiegley <jwiegley@lexx>
685 * chess-ics.el 1.42: fixes, and use the new filtering code in
688 * chess-engine.el 1.79: filter improvements.
690 * chess-common.el 1.13: deactive a game when it is drawn.
692 * chess-crafty.el 1.26: added support for a 'resign' option
694 * chess-pos.el 1.32: added support for setting EPD codes
696 * chess-puzzle.el 1.2: set the engine option so that crafty doesn't
699 * chess.texi 1.14: minor doc changes.
701 2002-04-22 John Wiegley <jwiegley@lexx>
703 * chess.el 1.57: bumped minor rev.
705 * chess-database.el 1.8, chess-display.el 1.96, chess-link.el 1.14,
706 chess-pgn.el 1.36, chess-tutorial.el 1.2, chess.el 1.56: bug fixes.
708 * PLAN 1.2, TODO 1.98, chess-algebraic.el 1.29, chess-autosave.el 1.6,
709 chess-common.el 1.12, chess-database.el 1.7, chess-display.el 1.95,
710 chess-engine.el 1.78, chess-fen.el 1.7, chess-game.el 1.48,
711 chess-ics1.el 1.15, chess-images.el 1.32, chess-link.el 1.13,
712 chess-network.el 1.30, chess-pgn.el 1.35, chess-plain.el 1.15,
713 chess-ply.el 1.37, chess-pos.el 1.31, chess-puzzle.el 1.1,
714 chess-random.el 1.4, chess-tutorial.el 1.1, chess.el 1.55: Bug fixes
715 and reducing the TODO list.
717 2002-04-19 John Wiegley <jwiegley@lexx>
719 * chess.el 1.54: bumped minor rev
721 * TODO 1.95, chess-chat.el 1.1, chess-clock.el 1.5,
722 chess-common.el 1.10, chess-crafty.el 1.25, chess-display.el 1.94,
723 chess-engine.el 1.77, chess-fen.el 1.6, chess-game.el 1.47,
724 chess-gnuchess.el 1.29, chess-ics.el 1.41, chess-images.el 1.31,
725 chess-input.el 1.3, chess-kibitz.el 1.1, chess-network.el 1.29,
726 chess-pgn.el 1.34, chess-phalanx.el 1.10, chess-ply.el 1.36,
727 chess-pos.el 1.30, chess.el 1.53: Fixes and other work.
729 2002-04-18 John Wiegley <jwiegley@lexx>
731 * chess-pgn.el 1.32, chess-pos.el 1.29, chess.el 1.52,
732 chess-autosave.el 1.5: whitespace fix.
734 * chess-algebraic.el 1.28, chess-common.el 1.9, chess-crafty.el 1.24,
735 chess-display.el 1.93, chess-engine.el 1.76, chess-game.el 1.45,
736 chess-gnuchess.el 1.28, chess-ics.el 1.40, chess-input.el 1.2,
737 chess-module.el 1.7, chess-network.el 1.28, chess-pgn.el 1.31,
738 chess-phalanx.el 1.9, chess-plain.el 1.14, chess-ply.el 1.35,
739 chess-pos.el 1.28, chess-var.el 1.6, chess.el 1.51: Many efficiency
740 improvements and bug fixes.
742 * COPYING 1.1, Makefile 1.12, README 1.1, TODO 1.87:
745 2002-04-17 Mario Lang <mlang@delysid.org>
747 * chess-ics.el 1.39: correct en-passent parsing.
749 2002-04-17 John Wiegley <johnw@lexx>
751 * TODO 1.86, chess-algebraic.el 1.27, chess-display.el 1.92,
752 chess-game.el 1.44, chess-german.el 1.2, chess-ics1.el 1.14,
753 chess-images.el 1.30, chess-input.el 1.1, chess-pgn.el 1.30,
754 chess-plain.el 1.13, chess-ply.el 1.34, chess-pos.el 1.27: More
755 general bug fixing, efficiency improvements, etc.
757 * chess.el 1.50: bumped minor rev
759 * chess.el 1.49: bumped minor rev
761 * chess-display.el 1.90: Paint moves before they are applied.
762 Otherwise, there could be a slowdown in transmitting the move to the
763 other listening modules.
765 * chess-display.el 1.89: Further speed tweaks.
767 2002-04-16 John Wiegley <johnw@lexx>
769 * chess-plain.el 1.12, TODO 1.84, chess-display.el 1.88,
770 chess-ics1.el 1.13, chess-images.el 1.29: Lots of painting
771 improvements for displays, to improve efficiency.
773 * chess-game.el 1.43, chess-pos.el 1.23: More efficiency improvements.
775 * chess-display.el 1.87:
776 Don't popup the display if it's not necessary to do so.
778 * chess-display.el 1.86, chess-images.el 1.28: whitespace changes
780 * TODO 1.81, chess-pos.el 1.22: Fixed pos status not being updated.
782 * TODO 1.80, chess-display.el 1.85, chess-game.el 1.42,
783 chess-pos.el 1.21: Report checkmate in the modeline correctly.
785 * chess.el 1.48: bug fix
787 * chess-display.el 1.83 (chess-display-handler): Set the side-to-move
788 text to a reasonable default.
790 * chess-ics.el 1.36 (chess-ics-regexp-alist): Added a handler to
791 capture the guest id when logging in anonymously.
793 * chess-ics.el 1.34 (chess-ics12-parse): Was relying on a variable
796 * chess-ics.el 1.33: Only send startup commands after login has
799 * chess-ics.el 1.32: Send the "set style 12" command immediately,
800 rather than after the first move.
802 2002-04-16 John Wiegley <johnw@gnu.org>
804 * chess-pgn.el (chess-pgn-mode): Only make bold the result text,
807 * chess-clock.el (chess-clock-handler): Use `chess-ply-set-keyword',
808 to avoid double-adding keywords.
810 * chess-ply.el (chess-ply-set-keyword): Added a new function for
811 setting a ply's keyword, with an optional value (must be non-nil
812 for setting with a value to occur).
814 * chess-ics.el (chess-ics-handle-move): Record the white and black
815 remaining time as returned from the server.
817 * chess-link.el (chess-link): Fixed an error in display creation,
818 and which game was used.
820 * chess-display.el (chess-display-handler): Set the side-to-move
821 text to a reasonable default.
823 * chess-ics.el: Only send startup commands after login has succeeded.
824 (chess-ics12-parse): Was relying on a variable that wasn't set!
825 (chess-ics-regexp-alist): Added a handler to capture the guest id
826 when logging in anonymously.
828 * chess-ics.el: Send the "set style 12" command immediately,
829 rather than after the first move.
831 * all: Removed the $ Revision strings; they are no longer
832 necessary since I tag every revision that I upload.
834 2002-04-16 Mario Lang <mlang@aris>
836 * chess-ics.el: set en-passent status
838 * chess-announce.el: german messages (no idea on how to synth yet
841 * chess-ics.el: CR stripping removed/commented.
843 * chess-engine.el: Only set process-filter if it isn't already set
844 to comint-output-filter
846 2002-04-16 John Wiegley <johnw@gnu.org>
848 * chess-var.el, TODO, chess-algebraic.el, chess-display.el,
849 chess-game.el, chess-pgn.el, chess-ply.el, chess-pos.el: Major
850 speed improvement and efficiency work. chess-legal-plies is much
851 more memory conservative now. Reduced recursion in
852 chess-search-position by a slight bit.
854 * chess.el: bumped minor rev
856 * chess-display.el: Compute the mode-line text only once, whenever
857 the current game index is changed. This saves hundreds of calls
858 to chess-ply-to-algebraic, which were occurring simply because of
861 * chess-algebraic.el: Keep the :which determiner, if ever we
862 calculate it in chess-ply-to-algebraic.
864 * ChangeLog, PLAN: new file
866 * chess-plain.el: whitespace fix
868 * chess-display.el, chess-engine.el: Removed
869 `chess-with-current-buffer', since it is now in chess-module.el.
871 2002-04-15 Mario Lang <mlang@aris>
873 * chess-plain.el: Added var chess-plain-spacing (default 0) to be
874 able to widen the board. (I am sure that broke highlighting)
876 * chess-ics.el: Added comments to chess-parse-ics12 to describe
879 2002-04-15 John Wiegley <johnw@gnu.org>
881 * Did some major performance work on chess-legal-plies,
882 chess-ply-create and chess-search-position (these three, together
883 with chess-pos-move, represent the majority of algorithmic work