]> code.delx.au - gnu-emacs-elpa/blob - ChangeLog
(chess-pgn-mode-map): New variable, split out from...
[gnu-emacs-elpa] / ChangeLog
1 2014-06-14 Mario Lang <mlang@delysid.org>
2
3 * chess-test.el (chess-test): Renamed to...
4 (chess-test-database): More descriptive name.
5 (chess-perft): Require as this is our entry-point for testing.
6 * doc/chess.texi: Renamed to...
7 * chess.texi: Top-level file, keeping doc/ for just one file is useless.
8 * Makefile: Adjust and use the predefined MAKEINFO variable from GNU Make.
9 * chess-pgn.el (chess-game): Require.
10 (chess-pgn-parse): Use `rx'.
11 (chess-pgn-mode-map): New variable, split out from...
12 (chess-pgn-mode): Fix autogenerated docstring to include keymap
13 description.
14
15 * chess-game.el (chess-pgn): Do not require.
16 (chess-game-to-string, chess-game-from-string): Remove, all callers
17 updated to use chess-pgn functions directly.
18
19 * chess-algebraic.el (chess-ply-to-algebraic): If TYPE is `:numeric',
20 generate ICCF numeric notation.
21 (chess-algebraic-regexp, chess-algebraic-to-ply): Optionally allow "0-0"
22 and "0-0-0" in addition to "O-O" and "O-O-O" to mean castling.
23 (chess-algebraic-regexp, chess-algebraic-to-ply): Handle figurine
24 notation.
25
26 2014-06-13 Mario Lang <mlang@delysid.org>
27
28 * chess-pos.el (chess-pos-en-passant, chess-pos-status)
29 (chess-pos-side-to-move, chess-pos-annotations)
30 (chess-pos-preceding-ply): Enable use as generalized variables.
31 (chess-pos-p): New function.
32
33 * chess-ply.el (chess-ply-pos, chess-ply-changes)
34 (chess-ply-keyword): Enable use as generalized variables.
35 (chess-ply-castling-changes): Convert to using
36 `chess-next-index'.
37
38 * chess-polyglot.el (chess-polyglot-pos-to-key): Use logxor to invert
39 rank instead of two loops to keep rank/file apart.
40
41 2014-06-11 Mario Lang <mlang@delysid.org>
42
43 * chess-pos.el (chess-ply-castling-changes): Declare.
44
45 * chess-ply.el (chess-piece-name-table): Remove, unused.
46
47 * chess-algebraic.el (chess-algebraic-figurine-pieces): New constant.
48 (chess-ply--move-text): Remove and fold into...
49 (chess-ply-to-algebraic): ...this function.
50 Rename argument LONG to TYPE and additionally allow to
51 generate figurine notation.
52 * chess-var.el (chess-var-add-ply): Fix docstring.
53 (chess-var-to-algebraic): Adjust argument names.
54 * doc/chess.texi (Making a move in a variation): Same here.
55 (Algebraic notation): Mention figurine notation.
56
57 2014-06-05 Mario Lang <mlang@delysid.org>
58
59 * doc/chess.texi (The "next" position): Actually add `chess-ply-next-pos'.
60
61 * chess-ply.el (chess-ply-next-pos): Add docstring.
62
63 * doc/chess.texi (Position coordinates): Document `chess-next-index'
64 and related constants.
65 (The sought game display): Update as the mentioned mode name has changed.
66
67 2014-06-04 Mario Lang <mlang@delysid.org>
68
69 * chess-ics.el (chess-ics): Add custom-manual link.
70
71 * chess-plain.el (chess-plain): Add custom-manual link.
72
73 2005-06-27 John Wiegley <johnw@newartisans.com>
74
75 * chess-ics.el (chess-ics-sought-add): Added this routine to
76 factor out a lot of duplicated code.
77
78 * chess-plain.el (chess-plain-popup): Pass nil for the `font'
79 argument to `chess-display-popup-in-frame', since we don't care
80 what the size of the font is with textual chessboards.
81
82 * chess-input.el (chess-input-shortcut): If a character is typed
83 that is not a legal start of a move (which only happens if it's
84 not bound to anything else), just ignore it.
85
86 * chess-images.el (chess-images-determine-size): On Macs and
87 Windows, reduce the screen height by 80 instead of just 20, to
88 account for the Start/Status bar.
89 (chess-images-popup): Pass in a `font' to
90 `chess-display-popup-in-frame', so that the pixel height for each
91 graphical piece is computed correctly.
92 (chess-images-change-size): Foricbly popup the chess buffer when
93 changing the size of graphical pieces.
94
95 * chess-ics1.el (chess-ics1-popup): Added `font' argument in call
96 to `chess-display-popup-in-frame'.
97
98 * chess-display.el (chess-display-popup-in-frame): Added a `font'
99 parameter, so that the font can be set in new chessboard
100 frames (which is necessary to get the pixel height/width right).
101
102 2004-12-07 Mario Lang <mlang@delysid.org>
103
104 * chess-algebraic.el, chess-announce.el, chess-autosave.el,
105 chess-common.el, chess-display.el:
106 require chess-message whereever necessary (ks)
107
108 * chess-pgn.el 1.46:
109 Make comment-start and comment-end explicitly buffer-local (ks)
110
111 2004-12-06 Mario Lang <mlang@delysid.org>
112
113 * chess-pgn.el:
114 bug in pgn font-locking (Klaus Straubinger <KSNetz@Arcor.DE>)
115
116 2004-04-12 jwiegley <jwiegley@lexx>
117
118 * PLAN: chess-pos - typing a number in a chessboard display gets
119 an assertion
120
121 2004-03-08 Mario Lang <mlang@delysid.org>
122
123 * chess-pgn.el: bah, recursive loading...chess-pgn.el
124
125 2004-03-06 Mario Lang <mlang@delysid.org>
126
127 * README: Rephrase the intro, and add a HISTORY section
128 to document the maintainership change.
129
130 * PLAN: Remove chess-input entry, which was bogus.
131
132 * chess-pgn.el (chess-pgn-read-game): Fix database-index calculation.
133 Now `chess-pgn-show-position' should work as expected in multiple
134 game PGN files.
135
136 2004-03-01 Mario Lang <mlang@delysid.org>
137
138 * chess-ply.el 1.46
139 (chess-legal-plies): Add :candidates keyword to avoid calls to
140 chess-search-position if the caller already knows the piece indices
141
142 * chess-ai.el 1.8:
143 (chess-eval-static): Try to reward passed pawns and piece mobility
144 using the new :candidates keyword to chess-legal-plies.
145
146 * chess-maint.el 1.11: put byte-compiling-files-p back in for now.
147
148 * chess-ics.el 1.96: better icc datagram support
149
150 2004-02-29 Mario Lang <mlang@delysid.org>
151
152 * chess-ics.el 1.95: Fix kibitzes on icc.
153
154 * chess-ics.el 1.94: Enhance ICC support:
155 Make "backs up" message work.
156 Rudimentary level2 datagram support through
157 chess-ics-icc-preoutput-filter.
158 New variable chess-ics-icc-datagrams to define which datagrams should
159 be requested upon login.
160 New variable chess-ics-server-type which defaults to FICS, and gets set
161 to ICC when we encounter an ICC server.
162 Handle DG_KIBITZ by translating them to the FICS representation.
163 Handle movelist request through DG_POSITION_BEGIN2 and DG_PASTMOVE.
164
165 2004-02-25 Mario Lang <mlang@delysid.org>
166
167 * chess-phalanx.el 1.15: Add elisp header and homepage link.
168
169 * chess-phalanx.el 1.14:
170 Phalanx has no "resign" commands, so only set game-data active to nil
171 for now.
172
173 2004-02-24 Mario Lang <mlang@delysid.org>
174
175 * chess-ics.el 1.93: more stability improvements.
176
177 2004-02-22 Mario Lang <mlang@delysid.org>
178
179 * chess-ai.el 1.7
180 (chess-eval-static): Primitive mobility handling, makes play a lot
181 more aggressive :)
182
183 * chess-ai.el 1.6: reward passed pawns, and make the code a bit faster
184
185 * chess-ics.el 1.92 (chess-ics-ads-removed):
186 We need to be a lot more careful when deleteing stuff on a
187 preoutput-filter-function. Fixed this, which also
188 fixes all the remaining cases of missed boards. LectureBot
189 ran through three Lectures without any bug, which seems good!
190
191 * chess-ics.el: Require 'rx when compiling.
192 (chess-ics-style12-regexp): New constant regexp which matches
193 a style12 string (subgroup 1 to 32).
194 (chess-ics-matcher-alist): Use it.
195 (chess-ics-matcher-alist): Destroy game object if we see a
196 "no longer examining..." message.
197 (chess-ics-handle-style12): Rewrite using `match-string' instead of
198 `pop' based on the new regexp above.
199 (chess-ics-handle-style12): No longer `message' parse errors, rather
200 keep the failed board in the buffer, and add the failure info
201 to the front of the line. Makes finding remaining bugs a lot
202 easier since the buffer can be reviewed in chronological order.
203 (chess-ics-ads-removed): We need to be a lot more careful when
204 deleteing stuff on a preoutput-filter-function. Fixed this, which also
205 fixes all the remaining cases of missed boards. LectureBot
206 ran through three Lectures without any bug, which seems good!
207
208 2004-02-21 Mario Lang <mlang@delysid.org>
209
210 * chess-engine.el (chess-engine-filter): We were calling `forward-line'
211 unconditionally. However, there is a race condition, namely,
212 if the last line does not end with a newline, forward-line
213 will skip to eob, therefore, engine regexps will simply
214 be missed. Fixed.
215 (chess-engine-entire-lines): This was a fix for the wrong problem,
216 removed.
217
218 2004-02-18 Mario Lang <mlang@delysid.org>
219
220 * chess-display.el (chess-display-highlight-passed-pawns): New
221 interactive function.
222
223 * chess-pos.el (chess-pos-passed-pawns): New function.
224
225 2004-02-12 Mario Lang <mlang@delysid.org>
226
227 * chess-phalanx.el (chess-phalanx-handler): Set
228 chess-engine-entire-lines t.
229
230 * chess-engine.el (chess-engine-entire-lines): New variable.
231 (chess-engine-filter): handle it.
232
233 * chess-ics.el (chess-ics-sought-mode-map): New variable.
234
235 2004-02-08 Mario Lang <mlang@delysid.org>
236
237 * chess-crafty.el (chess-crafty-handler): Add search-depth and
238 search-time engine options.
239
240 2004-02-06 Mario Lang <mlang@delysid.org>
241
242 * chess-display.el (chess-display-paint-move): Handle :en-passant
243 captures (remove the captured pawn from the board).
244
245 * chess-puzzle.el (chess-puzzle): Disable autosave.
246 (chess-puzzle-show-solution): New function (bound to ? in puzzle
247 displays) for showing a solution (if one is known). This typically
248 only works for EPD databases with either bm or pv information.
249 Displaying of annotations is not yet done.
250
251 2004-02-05 Mario Lang <mlang@delysid.org>
252
253 * chess-file.el:
254 Handle .epd and .pgn files in the chess-file module. Achieved by
255 setting a buffer-local variable chess-file-type to either 'pgn or 'epd
256 on 'open, and use this info to dispatch correctly.
257 This change makes it possible to load .epd files with the
258 chess-puzzle function for instance.
259
260 * chess-fen.el (chess-fen-regexp): New constant.
261
262 * chess-epd.el (chess-game-to-epd): New defsubst to convert a game
263 object to an EPD string (or insert it).
264 (chess-epd-to-game): Analogous to the above.
265 (chess-epd-parse): Use `chess-fen-regexp'.
266
267 2004-02-03 Mario Lang <mlang@delysid.org>
268
269 * chess-tutorial.el (chess-tutorial): Simplify and add autoload.
270
271 * chess-announce.el (chess-announce-handler): On event 'kibitz, talk.
272
273 * chess-ics.el (chess-ics-initial-commands): New defcustom to make
274 the init-strings sent after login configurable.
275 (chess-ics-movelist-start-position): New buffer-local variable
276 which defaults to `chess-starting-position'. Its value (if non-nil)
277 is used to initialize the board when seeing a movelist header.
278 This is to allow for servers which have the equivalent of
279 "iset startpos 1" on FICS, which tells the server to automatically
280 send the initial position before sending a movelist. This is
281 to allow non-standard starting positions, and still maintain
282 complete game information in the game object locally.
283 (chess-ics-matcher-alist): If we see something like "startpos set",
284 we set chess-ics-movelist-start-position to nil.
285 (chess-ics-handle-style12): Renamed from chess-ics-handle-ics12.
286 Set game-data 'black-moved-first to t if we see a initial board
287 (move is "none"), and side-to-move is Black. Use this information
288 to calculate the correct game index from the supplied game sequence.
289 This fixes observing of arbitrary start position games where
290 Black moved first. (Most of LectureBot should work now).
291 (chess-ics-seeking): Handle "set ptime 1" prompts.
292 (chess-ics-ads-removed): Ditto.
293
294 2004-01-28 Mario Lang <mlang@delysid.org>
295
296 * chess-ply.el 1.45
297 (chess-ply-castling-changes): When doing a long castle, only check if
298 the king can move to the d or c file without being in check. According
299 to the crafty-list, it is legal to do a long castle if some opponent
300 piece is attacking the b file.
301
302 * chess-ics.el 1.82
303 (chess-ics-matcher-alist): Send "set interface emacs-chess VERSION"
304 on init.
305
306 * chess.el 1.67:
307 Temporarily disable the condition-case in the main startup function,
308 some strange engine errors are caught and hard to debug with this,
309 also add chess-opening and chess-ai to the default modules.
310
311 * chess-pos.el 1.46
312 (chess-search-position): Document arguments CHECK-ONLY and NO-CASTLING.
313
314 * chess-engine.el 1.99:
315 (chess-engine-create),
316 (chess-engine-command): Docstrings.
317 (chess-engine-filter): bind case-fold-search to nil.
318
319 * chess-display.el 1.119
320 (chess-display-create): More docs.
321
322 * chess-var.el 1.10: docfixes
323
324 * chess.texi 1.22: Proofread fixes.
325
326 2004-01-27 Mario Lang <mlang@delysid.org>
327
328 * chess-fen.el 1.13: Commentary synced with reality of FEN standard.
329
330 * README 1.4: chess-ai is a submodule of chess-common.
331
332 * chess-ply.el 1.44: docfix.
333
334 * chess-gnuchess.el 1.35
335 (chess-gnuchess-path): Add *, since this is a user-option.
336
337 * chess-opening.el 1.3: uncomment the remaining failure cases,
338 chess-algebraic handles those now.
339
340 * chess-opening.el 1.2: We now have the individual moves in the source
341 file, and get the final position at compile time.
342
343 * chess-tutorial.el 1.4: We can use `chess-display-set-from-fen' here.
344
345 * chess-maint.el 1.8, chess.texi 1.21: Add in minimal docs for FEN
346 notation, algebraic notation, and ICS.
347
348 2004-01-26 Mario Lang <mlang@delysid.org>
349
350 * chess-pos.el 1.45
351 (chess-pos-move): Fix a bug in castling removal when the Rook
352 is moved, now compare chess-pos-can-castle and the source square of
353 the moving piece to figure out if we need to remove castling
354 priviledges.
355
356 * chess-pos.el 1.44
357 (chess-pos-legal-candidates): remove the opponent pawn if we are
358 capturing en passant.
359 this fixes a bug where chess-legal-plies does not find an en passant
360 move if the pawn to be captured is giving check.
361
362 * chess-database.el 1.12, chess-file.el 1.7, chess-scid.el 1.7:
363 new function chess-database-filename, also support it in scid and
364 file DBs.
365
366 2004-01-25 John Wiegley <jwiegley@lexx>
367
368 * chess-algebraic.el 1.35, chess-pos.el 1.43
369 (chess-search-position): Added an argument so that if we are
370 searching for the source of an algebraic move, and it is not a castle,
371 then do not check castle moves.
372
373 2004-01-23 Mario Lang <mlang@delysid.org>
374
375 * chess-database.el 1.11
376 (chess-database-query): use `apply'.
377
378 * chess-scid.el 1.6
379 (chess-scid-handler): Support query tree-search.
380
381 * chess-engine.el 1.98: Don't barf on unbound
382 chess-module-regexp-alist, and add some docstrings.
383
384 * chess-game.el 1.59: Docstring fixes + a redo of chess-game-seq.
385
386 * chess-pgn.el 1.40: Fixes to make chess-scid read parsing work.
387
388 2004-01-21 Mario Lang <mlang@delysid.org>
389
390 * chess-opening.el 1.1: Opening classification module based on the
391 scid.eco file from scid 3.5.
392
393 2004-01-20 Mario Lang <mlang@delysid.org>
394
395 * chess-fen.el 1.12: FEN notation actually specifies that field
396 four (en passant) should denote the target square of the immenent
397 capture, not the square of the piece about to be taken.
398
399 * chess-ics.el 1.81: Catch manually typed "resign" and fix a bug
400 where only one game could be played for each session.
401
402 * chess-fen.el 1.11
403 (chess-pos-to-fen): Don't emit a trailing / on rank 8.
404
405 2004-01-19 Mario Lang <mlang@delysid.org>
406
407 * chess-ics.el 1.80: tidying
408
409 * chess-epd.el 1.6: minor change.
410
411 * chess-ics.el 1.79: Rewrite this module such that it does not act
412 as an engine, rather it invokes chess-sessions as needed. You need
413 to use M-x chess-ics RET instead of C-u M-x chess RET ics RET now.
414 (chess-ics-handle-ics12): Rewrite such that it can handle the "refresh"
415 command, and moves entered manually in the ICS buffer.
416
417 2004-01-16 Mario Lang <mlang@delysid.org>
418
419 * chess-ai.el 1.5:
420 We no longer need to dedvar chess-ai-regexp-alist with
421 a nil value.
422
423 * chess-engine.el 1.97 (chess-engine-create): Use `insern-soft'
424 instead of `intern' to copy the engine-regexp-alist.
425
426 2004-01-15 John Wiegley <jwiegley@lexx>
427
428 * chess.texi 1.20: Adding description of the module system.
429
430 2004-01-14 Mario Lang <mlang@delysid.org>
431
432 * chess-sjeng.el 1.2: Elisp header + homepage link.
433
434 * chess-sjeng.el 1.1: Module for the sjeng engine (promotion still
435 doesn't work.)
436
437 * chess-algebraic.el 1.34
438 (chess-algebraic-to-ply): `let'-bind case-fold-search nil. This fixes
439 a bug where b8c6 is parsed to c7-c6.
440
441 2004-01-13 Mario Lang <mlang@delysid.org>
442
443 * chess-ics.el 1.78: Initial skeleton for Game Creating messages.
444 Support relation-type -2 (Examining game).
445 Handle the 'forward event.
446 (Now you can use the "examine" command on FICS, and simply
447 type '.' in the ChessBoard display to forward through the game.)
448
449 * chess-display.el 1.118
450 (chess-display-set-index): If INDEX is greater than chess-game-index,
451 and the last ply is not final, we emit a 'forward chess-module-game
452 event to give ics a chance to issue "forward\n". This makes
453 '.' work as expected in examined games.
454
455 2004-01-12 Mario Lang <mlang@delysid.org>
456
457 * wac.epd 1.1:
458 Win At Chess, 300 positions with best move information.
459 pv (predicted variation) information computed using crafty 19.8 on
460 a dual xeon 2.6GHZ system using 40 minutes time for each position.
461 This can be used to stress test the core library.
462
463 * chess-ics.el 1.77
464 (chess-ics-server-list): Added some more servers.
465 (chess-ics-regexp-alist): Make guest login on chessclub.com work.
466 (chess-ics-handle-ics12): Retrieve TimeControl info from
467 the ics12 board and set TimeControl game tag when initial board is
468 seen.
469
470 * wcsac.epd 1.1:
471 Winning Chess Sacrifices And Cobinations
472 pv information calculated using crafty 19.8 with about 30 minutes
473 time per position.
474
475 2004-01-11 Mario Lang <mlang@delysid.org>
476
477 * chess-ics.el 1.76: Set EPD opcode ce from material-value and
478 checkmate info.
479
480 * chess-ics.el 1.75: Merge chess-ics-parse-ics12 and
481 chess-ics-handle-move into a new function chess-ics-handle-ics12,
482 which is a lot easier to read now.
483 Also make the <12> regexp a bit more strict to avoid false positives.
484
485 * chess-clock.el 1.10
486 (chess-clock-tick-tock): Do not decrease time if
487 (chess-game-status chess-module-game) is non-nil.
488
489 * chess-ics.el 1.74: Fixed messed up parens.
490
491 * chess-ics.el 1.73
492 (chess-ics-handler): Read the password before opening the connection.
493 This corrects a race where the password can be unknown when the
494 prompt appears because the user hasn't finished typing yet...
495 (chess-ics12-parse): Use `pop' to make stuff simpler and use `mapc'
496 to get castling info.
497 Indent chess-ics-regexp-alist differently.
498
499 * chess-engine.el 1.96
500 (chess-engine-default-handler): When 'match is accepted, we were
501 calling (chess-engine-command nil 'accept chess-full-name)
502 which doesn't make much sense, and breaks chess-ics game accepting.
503 Change it to `name', to pass the opponent name for whom we are
504 accepting a match request.
505
506 * chess-display.el 1.117: On GNU Emacs 21.3, :eval in mode-line-data
507 seems only to work if it directly appears in mode-line-format.
508 chess-display indirectly referenced chess-display-mode-line-format
509 by setting mode-line-format to that symbol. If we set
510 mode-line-format to the value of chess-display-mode-line-format,
511 the mode-line comes to life again!
512
513 2004-01-10 Mario Lang <mlang@delysid.org>
514
515 * chess-game.el 1.58: Fix a bug in `chess-game-seq' (at least I
516 think it is supposed to work like it does now).
517
518 * chess-crafty.el 1.31: Support for xboards analyze mode.
519 (chess-engine-command crafty 'analyze t) enables analyze mode and
520 eventually sets chess-crafty-analyzing-p to t.
521 When new predicted variations arrive, corresponding epd opcodes
522 are set for (chess-engine-position nil): acd, ce, pv (acn is not set because
523 it is likely that it overflows the emacs integer bounds, and I am not
524 yet sure what to do about this.)
525 (chess-engine-command crafty 'analyze nil) turns analyze mode off again.
526
527 * chess-plain.el 1.19: A change to the faces and a fix for
528 chess-plain-spacing > 0 and file naming, all from kanaldrache, thanks.
529
530 * chess-crafty.el 1.30: Use Crafty's xboard protocol layer for
531 communication: Since recent >19.x crafty, there is something strange
532 going on with display nogeneral. Another bug which appears sometimes
533 is that crafty (in its own mode of displaying stuff) echos the oponent
534 move (our move) which raises an error (obviously).
535 xboard mode is really a lot easier to parse, and I even managed
536 to keep the 'evaluate event without any problems.
537
538 2004-01-09 Mario Lang <mlang@delysid.org>
539
540 * chess-epd.el 1.5: speed up chess-epd-read-file by using `nconc'.
541
542 * chess-epd.el 1.4: Support (convert) opcodes sm and sv.
543
544 * chess-gnuchess.el 1.34: Use `zerop'.
545
546 * chess-epd.el 1.3: (require 'chess-var)
547
548 * chess-epd.el 1.2: Use `chess-var-to-algebraic'.
549
550 * chess-var.el 1.9, chess.texi 1.19: New function
551 `chess-var-to-algebraic'.
552
553 2004-01-07 Mario Lang <mlang@delysid.org>
554
555 * chess-epd.el 1.1: new file, implements opcodes am, bm, ce, pm and pv.
556
557 * chess-pos.el 1.42: Remove chess-pos-read-epd-file.
558
559 * chess-display.el 1.116: Make chess-display-create interactive, and
560 document chess-display-quit.
561
562 * chess-maint.el 1.7, chess-random.el 1.5, chess.texi 1.18: Add
563 `chess-fischer-random-position' into the Creating Positions Manual
564 Section.
565
566 2004-01-06 Mario Lang <mlang@delysid.org>
567
568 * chess.texi 1.17: skels for chess-database.
569
570 * chess-ai.el 1.4: Require cl and add `message' calls.
571
572 * chess-ply.el 1.43: Some docstrings.
573
574 * chess.texi 1.16: Add @c lispfun for chess-ply-source and
575 chess-ply-target.
576
577 * chess-var.el 1.8: Add &optional index to `chess-var-side-to-move'
578 (sync with chess-game-side-to-move) and document it, mirroring
579 chess-game-side-to-move docstring.
580
581 * chess-game.el 1.57: Document 'chess-game-side-to-move'.
582
583 * chess-ai.el 1.3: It mostly works now, only remaining problem is
584 that the players move is only displayed after the engine found a reply.
585
586 2004-01-05 Mario Lang <mlang@delysid.org>
587
588 * chess-display.el 1.115: Checkdoc attempt, some very simple
589 (I hope correct) docstrings added.
590
591 * PLAN 1.51: next-pos has correct status now.
592
593 * chess.texi 1.15: add three paragraphs from chess-pos.el commentary
594
595 2004-01-04 Mario Lang <mlang@delysid.org>
596
597 * chess-ai.el 1.1: First version of a alpha-beta puring search AI.
598
599 * chess-ply.el 1.42: Set status of next-pos according to changes of
600 ply.
601
602 * PLAN 1.50: Crafty is fixed again.
603
604 2004-01-03 Mario Lang <mlang@delysid.org>
605
606 * chess-pos.el 1.41:
607 New function chess-pos-read-epd-file, which parses an epd file into a
608 list of positions.
609
610 2004-01-02 Mario Lang <mlang@delysid.org>
611
612 * chess-crafty.el 1.29: Display nogeneral seems to no longer display
613 computer moves on newer crafties. At least removing display nogeneral
614 makes crafty work again.
615
616 2004-01-01 Mario Lang <mlang@delysid.org>
617
618 * PLAN 1.49: Crafty is broken.
619
620 * chess-gnuchess.el 1.33: Explicitly look for gnuchess in /usr/games.
621
622 2003-01-24 John Wiegley <jwiegley@lexx>
623
624 * lispdoc.el 1.4: Use a more specific signal rather than `error'.
625
626 * chess-network.el 1.37: Add missing string-to-int form.
627
628 * chess-engine.el 1.93: Add status code to check for open server
629 sockets.
630
631 2003-01-08 Mario Lang <mlang@delysid.org>
632
633 * chess-plain.el 1.17
634 (chess-plain-piece-text): Simplyfied a bit
635 (chess-plain-draw-square): Doc fix.
636
637 * chess.el 1.66
638 (chess-create-modules): Add docstring.
639
640 * chess.el 1.65: Catch the module-not-found error.
641
642 2003-01-07 Mario Lang <mlang@delysid.org>
643
644 * chess-german.el 1.8: Translate some strings.
645
646 2002-09-05 John Wiegley <jwiegley@lexx>
647
648 * chess-sound.el 1.14: Check chess-sound-program before using it.
649
650 * chess-display.el 1.114: Avoided binding issue.
651
652 2002-06-20 John Wiegley <jwiegley@lexx>
653
654 * chess-ics.el 1.70: Fix for when opponent calls flag.
655
656 2002-06-14 John Wiegley <jwiegley@lexx>
657
658 * chess.el 1.64: Bumped minor rev.
659
660 * PLAN 1.35, chess-crafty.el 1.28, chess-display.el 1.112,
661 chess-engine.el 1.92, chess-gnuchess.el 1.32, chess-ics.el 1.68,
662 chess-irc.el 1.22, chess-network.el 1.36, chess-phalanx.el 1.11,
663 chess-transport.el 1.14, chess-ucb.el 1.4: Various small bug fixes.
664
665 2002-06-08 John Wiegley <jwiegley@lexx>
666
667 * chess-display.el 1.111: Make illegal chess moves (on a chess
668 display) a message instead of an error.
669
670 2002-05-16 John Wiegley <jwiegley@lexx>
671
672 * chess-pgn.el 1.39: Removed dependency on cl's `position' function.
673
674 * PLAN 1.31, chess-common.el 1.20, chess-display.el 1.109,
675 chess-engine.el 1.91, chess-game.el 1.55, chess-german.el 1.7,
676 chess-ics.el 1.67, chess-ics1.el 1.16, chess-images.el 1.34,
677 chess-network.el 1.35, chess-pgn.el 1.38, chess-plain.el 1.16,
678 chess-ply.el 1.40, chess.el 1.63: Miscellaneous fixes.
679
680 2002-05-01 John Wiegley <jwiegley@lexx>
681
682 * chess.el 1.62: bumped minor rev.
683
684 * PLAN 1.25, chess-common.el 1.19, chess-engine.el 1.90,
685 chess-ics.el 1.66, chess-network.el 1.33: Added code for forfeiting
686 on time.
687
688 * chess.el 1.61: Bumped minor rev.
689
690 * chess-scid.el 1.5, chess-database.el 1.10, chess-gnuchess.el 1.31:
691 Fixes.
692
693 * chess-sound.el 1.13, chess-announce.el 1.20: Announce pawn promotions
694
695 * chess-autosave.el 1.11: Allow autosaving of completed games to
696 databases.
697
698 * PLAN 1.20, chess-autosave.el 1.9, chess-common.el 1.18:
699 Autosaving is now much more efficient, and correct; still have to get
700 it correct for chess-network, though.
701
702 * chess-display.el 1.107: Fixed bug in popup logic.
703
704 * chess-ics.el 1.58: Use `chess-engine-convert-algebraic'.
705
706 * chess-ics.el 1.57: Disable autosaving during login, and determine
707 check/checkmate from the ics12 move text.
708
709 * chess-pos.el 1.39: Added a small comment.
710
711 * chess-game.el 1.53: Tiny code rearrangement.
712
713 * chess-algebraic.el 1.32: Tiny code rearrangement. If
714 `chess-ply-castling-changes' fails, no ply create will be attempted.
715
716 * chess-autosave.el 1.7: Sped up autosaving by a huge amount; also,
717 allow auto-saving to be disabled (it's not necessary when playing on
718 ICS, for example).
719
720 2002-04-30 John Wiegley <jwiegley@lexx>
721
722 * chess.el 1.59: bumped minor rev.
723
724 * chess-maint.el 1.6, chess-message.el 1.3: removed dependencies on cl.
725
726 * chess-common.el 1.17, chess-display.el 1.106, chess-engine.el 1.87,
727 chess-game.el 1.52, chess-gnuchess.el 1.30, chess-images.el 1.33,
728 chess-pgn.el 1.37, chess-puzzle.el 1.4, PLAN 1.16, TODO 1.102:
729 Bug fixes.
730
731 2002-04-29 Mario Lang <mlang@delysid.org>
732
733 * chess-german.el 1.5: Some translations.
734
735 2002-04-26 John Wiegley <jwiegley@lexx>
736
737 * PLAN 1.11, chess-algebraic.el 1.30, chess-display.el 1.104,
738 chess-game.el 1.50, chess-ics.el 1.55, chess-ply.el 1.38,
739 chess-pos.el 1.36: Bug fixes.
740
741 * chess-clock.el 1.7, chess-display.el 1.103, chess-engine.el 1.84,
742 chess-game.el 1.49, chess-ics.el 1.54: Fixes.
743
744 2002-04-25 John Wiegley <jwiegley@lexx>
745
746 * chess.el 1.58: bumped minor rev.
747
748 * chess-clock.el 1.6, chess-engine.el 1.82, chess-ics.el 1.50: fixes
749 to the ICS client
750
751 * chess-pos.el 1.35: fix.
752
753 * EPD.txt 1.2, PGN.txt 1.2: Whitespace fixes.
754
755 2002-04-24 John Wiegley <jwiegley@lexx>
756
757 * chess-ics.el 1.42: fixes, and use the new filtering code in
758 chess-engine
759
760 * chess-engine.el 1.79: filter improvements.
761
762 * chess-common.el 1.13: deactive a game when it is drawn.
763
764 * chess-crafty.el 1.26: added support for a 'resign' option
765
766 * chess-pos.el 1.32: added support for setting EPD codes
767
768 * chess-puzzle.el 1.2: set the engine option so that crafty doesn't
769 resign
770
771 * chess.texi 1.14: minor doc changes.
772
773 2002-04-22 John Wiegley <jwiegley@lexx>
774
775 * chess.el 1.57: bumped minor rev.
776
777 * chess-database.el 1.8, chess-display.el 1.96, chess-link.el 1.14,
778 chess-pgn.el 1.36, chess-tutorial.el 1.2, chess.el 1.56: bug fixes.
779
780 * PLAN 1.2, TODO 1.98, chess-algebraic.el 1.29, chess-autosave.el 1.6,
781 chess-common.el 1.12, chess-database.el 1.7, chess-display.el 1.95,
782 chess-engine.el 1.78, chess-fen.el 1.7, chess-game.el 1.48,
783 chess-ics1.el 1.15, chess-images.el 1.32, chess-link.el 1.13,
784 chess-network.el 1.30, chess-pgn.el 1.35, chess-plain.el 1.15,
785 chess-ply.el 1.37, chess-pos.el 1.31, chess-puzzle.el 1.1,
786 chess-random.el 1.4, chess-tutorial.el 1.1, chess.el 1.55: Bug fixes
787 and reducing the TODO list.
788
789 2002-04-19 John Wiegley <jwiegley@lexx>
790
791 * chess.el 1.54: bumped minor rev
792
793 * TODO 1.95, chess-chat.el 1.1, chess-clock.el 1.5,
794 chess-common.el 1.10, chess-crafty.el 1.25, chess-display.el 1.94,
795 chess-engine.el 1.77, chess-fen.el 1.6, chess-game.el 1.47,
796 chess-gnuchess.el 1.29, chess-ics.el 1.41, chess-images.el 1.31,
797 chess-input.el 1.3, chess-kibitz.el 1.1, chess-network.el 1.29,
798 chess-pgn.el 1.34, chess-phalanx.el 1.10, chess-ply.el 1.36,
799 chess-pos.el 1.30, chess.el 1.53: Fixes and other work.
800
801 2002-04-18 John Wiegley <jwiegley@lexx>
802
803 * chess-pgn.el 1.32, chess-pos.el 1.29, chess.el 1.52,
804 chess-autosave.el 1.5: whitespace fix.
805
806 * chess-algebraic.el 1.28, chess-common.el 1.9, chess-crafty.el 1.24,
807 chess-display.el 1.93, chess-engine.el 1.76, chess-game.el 1.45,
808 chess-gnuchess.el 1.28, chess-ics.el 1.40, chess-input.el 1.2,
809 chess-module.el 1.7, chess-network.el 1.28, chess-pgn.el 1.31,
810 chess-phalanx.el 1.9, chess-plain.el 1.14, chess-ply.el 1.35,
811 chess-pos.el 1.28, chess-var.el 1.6, chess.el 1.51: Many efficiency
812 improvements and bug fixes.
813
814 * COPYING 1.1, Makefile 1.12, README 1.1, TODO 1.87:
815 simple docs changes
816
817 2002-04-17 Mario Lang <mlang@delysid.org>
818
819 * chess-ics.el 1.39: correct en-passent parsing.
820
821 2002-04-17 John Wiegley <johnw@lexx>
822
823 * TODO 1.86, chess-algebraic.el 1.27, chess-display.el 1.92,
824 chess-game.el 1.44, chess-german.el 1.2, chess-ics1.el 1.14,
825 chess-images.el 1.30, chess-input.el 1.1, chess-pgn.el 1.30,
826 chess-plain.el 1.13, chess-ply.el 1.34, chess-pos.el 1.27: More
827 general bug fixing, efficiency improvements, etc.
828
829 * chess.el 1.50: bumped minor rev
830
831 * chess.el 1.49: bumped minor rev
832
833 * chess-display.el 1.90: Paint moves before they are applied.
834 Otherwise, there could be a slowdown in transmitting the move to the
835 other listening modules.
836
837 * chess-display.el 1.89: Further speed tweaks.
838
839 2002-04-16 John Wiegley <johnw@lexx>
840
841 * chess-plain.el 1.12, TODO 1.84, chess-display.el 1.88,
842 chess-ics1.el 1.13, chess-images.el 1.29: Lots of painting
843 improvements for displays, to improve efficiency.
844
845 * chess-game.el 1.43, chess-pos.el 1.23: More efficiency improvements.
846
847 * chess-display.el 1.87:
848 Don't popup the display if it's not necessary to do so.
849
850 * chess-display.el 1.86, chess-images.el 1.28: whitespace changes
851
852 * TODO 1.81, chess-pos.el 1.22: Fixed pos status not being updated.
853
854 * TODO 1.80, chess-display.el 1.85, chess-game.el 1.42,
855 chess-pos.el 1.21: Report checkmate in the modeline correctly.
856
857 * chess.el 1.48: bug fix
858
859 * chess-display.el 1.83 (chess-display-handler): Set the side-to-move
860 text to a reasonable default.
861
862 * chess-ics.el 1.36 (chess-ics-regexp-alist): Added a handler to
863 capture the guest id when logging in anonymously.
864
865 * chess-ics.el 1.34 (chess-ics12-parse): Was relying on a variable
866 that wasn't set!
867
868 * chess-ics.el 1.33: Only send startup commands after login has
869 succeeded.
870
871 * chess-ics.el 1.32: Send the "set style 12" command immediately,
872 rather than after the first move.
873
874 2002-04-16 John Wiegley <johnw@gnu.org>
875
876 * chess-pgn.el (chess-pgn-mode): Only make bold the result text,
877 not every move.
878
879 * chess-clock.el (chess-clock-handler): Use `chess-ply-set-keyword',
880 to avoid double-adding keywords.
881
882 * chess-ply.el (chess-ply-set-keyword): Added a new function for
883 setting a ply's keyword, with an optional value (must be non-nil
884 for setting with a value to occur).
885
886 * chess-ics.el (chess-ics-handle-move): Record the white and black
887 remaining time as returned from the server.
888
889 * chess-link.el (chess-link): Fixed an error in display creation,
890 and which game was used.
891
892 * chess-display.el (chess-display-handler): Set the side-to-move
893 text to a reasonable default.
894
895 * chess-ics.el: Only send startup commands after login has succeeded.
896 (chess-ics12-parse): Was relying on a variable that wasn't set!
897 (chess-ics-regexp-alist): Added a handler to capture the guest id
898 when logging in anonymously.
899
900 * chess-ics.el: Send the "set style 12" command immediately,
901 rather than after the first move.
902
903 * all: Removed the $ Revision strings; they are no longer
904 necessary since I tag every revision that I upload.
905
906 2002-04-16 Mario Lang <mlang@aris>
907
908 * chess-ics.el: set en-passent status
909
910 * chess-announce.el: german messages (no idea on how to synth yet
911 :) )
912
913 * chess-ics.el: CR stripping removed/commented.
914
915 * chess-engine.el: Only set process-filter if it isn't already set
916 to comint-output-filter
917
918 2002-04-16 John Wiegley <johnw@gnu.org>
919
920 * chess-var.el, TODO, chess-algebraic.el, chess-display.el,
921 chess-game.el, chess-pgn.el, chess-ply.el, chess-pos.el: Major
922 speed improvement and efficiency work. chess-legal-plies is much
923 more memory conservative now. Reduced recursion in
924 chess-search-position by a slight bit.
925
926 * chess.el: bumped minor rev
927
928 * chess-display.el: Compute the mode-line text only once, whenever
929 the current game index is changed. This saves hundreds of calls
930 to chess-ply-to-algebraic, which were occurring simply because of
931 mode-line updates!
932
933 * chess-algebraic.el: Keep the :which determiner, if ever we
934 calculate it in chess-ply-to-algebraic.
935
936 * ChangeLog, PLAN: new file
937
938 * chess-plain.el: whitespace fix
939
940 * chess-display.el, chess-engine.el: Removed
941 `chess-with-current-buffer', since it is now in chess-module.el.
942
943 2002-04-15 Mario Lang <mlang@aris>
944
945 * chess-plain.el: Added var chess-plain-spacing (default 0) to be
946 able to widen the board. (I am sure that broke highlighting)
947
948 * chess-ics.el: Added comments to chess-parse-ics12 to describe
949 the format
950
951 2002-04-15 John Wiegley <johnw@gnu.org>
952
953 * Did some major performance work on chess-legal-plies,
954 chess-ply-create and chess-search-position (these three, together
955 with chess-pos-move, represent the majority of algorithmic work
956 done by chess.el).
957
958 * Created this file.